フーリエ級数

ベクトル空間では,一次独立な基底をつかって,任意のベクトルを表すことができます.関数についても,一次独立な関数の集まりを使えば,ひとつの関数を表すことができるんです( 直交関数系 参照).今回は,この「一次独立な関数の集まり(関数列)」が直交関数系である,三角関数であったときの場合をご紹介します.

フーリエ級数

準備

この記事では,簡単のために h(t) を実関数として話を進めていきます.複素関数について考えるときは,実部と虚部について同じ手順で計算すればいいだけだからです.

まず,思い出してください.直交関数系の「直交関数系から」というセクションで,チラッと見たように,正規直交関数系 \{\phi_0(t),\phi_1(t),\phi_2(t),\cdots,\phi_n(t)\} とある関数 h(t) との相関を取った結果は, h(t)\{\phi_0(t),\phi_1(t),\phi_2(t),\cdots,\phi_n(t)\} の各元に分解したときにつく係数がでてきてくれるはずです.今,この正規直交関数系が三角関数だった場合での係数を求めてみましょう!

[*]正規直交関数系の定義を忘れた方は, 直交関数系 を見てください.

計算しみよう!

関数 h(t) が周期 T を持つとき(すなわち, h(t+T)=h(t) が成り立つとき), h(t) が持つ最大の周期は T であるということがいえます.

FourierKyuusuuByKuroko.png

なので,この関数に関しては, T 以上の周期成分を考える必要はありません.だから, h(t) を三角関数で表す場合も, f_s=1/T より小さい周波数成分を考慮する必要はありません.

ここで,相関を取るのは一定な間隔 f_s=1/T ずつ離れている周波数 f_s n での波です.この関数に対する,範囲 [-T/2<t<T/2] での,正規直交関数系を使った相関関数を計算するために, h(t) と同じように,最大周期 T であるような正規直交関数系を用意する必要があります.

まず,用意すべき直交関数系を考えると・・・

\exp(i 2 \pi f_s n t) =\cos(2 \pi f_s n t)+i\sin( 2 \pi f_s n t)\hspace{0.5cm} (n=0,1,2,\cdots)

この関数列は互いに直交しています.相関を取ってみて,以下で確認しましょう!

\int^{T/2}_{-T/2} \exp(i2 \pi f_s m t) \exp(-i2 \pi f_s n t)dt=\begin{cases}0 ,& m\neq n \\T ,& m=n\end{cases}
[†]複素関数の相関を取るとき(関数の内積を求めるとき)は,その値(ノルム)が実数になってほしいので,相手の関数は共役なものを使います.今の場合, \exp(i2\pi f_s m t) の相関を取るのは, \exp(i2\pi f_s n t) の共役である \exp(-i2\pi f_s n t) となります.

さて,上の計算結果からさらに,この関数列を正規直交関数系にするために,関数列に \sqrt{\frac{1}{T}} を掛けておく必要があると分かりますね.しかし,このままでは h(t) と関数列の相関をとったときに,あまり綺麗な形になりません.ここでは最後に二つの関数の相関を取ったときに m=n での値が 1 になることだけが重要なのですから, h(t) と相関を取る関数列を \frac{1}{T}\exp(i2\pi f_s n t) とし,その結果, h(t)\exp(i2\pi f_s n t) に分解したときにつく係数が求められると考えても,本質は何も変わりません.

このことから, h(t) と相関を取る関数列を以下のようにしておきましょう!

\Biggl[ \frac{1}{T}, \frac{1}{T}\exp(i2\pi f_s t),\frac{1}{T}\exp(i4\pi f_s t),\cdots,\frac{1}{T}\exp(i2\pi f_s n t),\cdots  \Biggr]

関数列を用意できましたので,さっそく h(t) との相関を取ってみましょう.

c(n)=\frac{1}{T}\int_{-T/2}^{T/2}h(t)\exp(-i2\pi f_s n t)dt \tag{1}
[‡]h(t)\exp(i2\pi f_s n t) に分解されることを考え, \frac{1}{T}\exp(i2\pi f_s n t) ではなくて,その複素共役である \frac{1}{T}\exp(-i2\pi f_s n t) で相関を取っていることに注意しましょう.

相関を取ると, h(t) \exp(i2\pi f_s n t) に分解したときの係数が現れるのでしたね.なので,以下の表現が可能になると考えられます.

h(t)=\lim_{N \to \infty} \sum_{n=-N}^{N} c(n)\exp(i2\pi f_s n t) \tag{2}

さらに,オイラーの公式 \exp(i2\pi f t)=\cos(2\pi f t)+i\sin(2\pi f t) を使って, c(n) を実部と虚部に分けて考えて見ましょう.

c(n) &= \frac{1}{T}\int_{-T/2}^{T/2}h(t)\{\cos(2\pi f_s n t)-i\sin(2\pi f_s n t)\}dt\\&= \frac{a(n)-ib(n)}{2} \tag{3-1}

ここで,

a(n) &= \frac{2}{T}\int_{-T/2}^{T/2}h(t)\cos(2\pi f_s n t)dt \tag{3-2}\\b(n) &= \frac{2}{T}\int_{-T/2}^{T/2}h(t)\sin(2\pi f_s n t)dt \tag{3-3}

とおきますここで,式(3)から, c(-n)=\frac{a(n)+ib(n)}{2} であることを利用すると,,

h(t) &= \sum_{n=-\infty}^{\infty} c(n)\exp(i2\pi f_s n t)\\&= \sum_{n=-\infty}^{\infty} \frac{a(n)-ib(n)}{2}\exp(i2\pi f_s n t)\\&= \frac{a(0)}{2}+\sum_{n=1}^{\infty} \left\{ \frac{a(n)-ib(n)}{2}\exp(i2\pi f_s n t) + \frac{a(n)+ib(n)}{2}\exp(-i2\pi f_s n t) \right\}

上のように書くことが出来ます.この式を a(n)b(n) について整理すると,

h(t) &= \frac{a(0)}{2}+\sum_{n=1}^{\infty} \Biggl\{ a(n)\frac{\exp(i2\pi f_s n t)+\exp(-i2\pi f_s n t)}{2} \\& \hspace{4cm} +b(n)\frac{\exp(i2\pi f_s n t)-\exp(-i2\pi f_s n t)}{i2}\Biggr\}\\&= \frac{a(0)}{2}+\sum_{n=1}^{\infty} \left\{ a(n)\cos(2\pi f_s n t)+b(n)\sin(2\pi f_s n t) \right\}

やっと, h(t) を三角関数に分解した形にたどり着きました!!

[§]実は a(0)/2h(t) の周期 T における,平均値となっています.これは,上式を理解するうえで重要なことです.上式を眺めて確認してみてください.

まとめ

このように有限の周期を持つ関数 h(t)\cos\sin の無限級数の形で表すとき,この無限級数を フーリエ級数 といい, \cos\sin についている係数 a(n)b(n)フーリエ係数 といいます.

さらに, a(n)b(n) の前に出てきた c(n)複素フーリエ係数 という名前がついています.同じく, c(n) で表される無限級数の式(2)は 複素フーリエ級数 といいます.

また,関数のフーリエ係数を求めることを フーリエ級数展開 といいます.

フーリエ級数から,フーリエ変換へ!

ここまでは,ある周期を持った関数について,考えてきました.しかし,世の中,そんな周期関数ばかりなわけがありません.そんな非周期関数については,このフーリエ級数,フーリエ級数展開はどうなってしまうのでしょうか!?

百聞は一見に如かず.実際に,有限だった周期を T=1/f_s \to \infty とすることで,非周期関数の複素フーリエ級数を求めてみましょう.

h(t) &= \sum_{n=-\infty}^{\infty} \left\{ \frac{1}{T}\int_{-T/2}^{T/2}h(\tau)\exp(-i2\pi f_s n \tau)dt \right\} \exp(i2\pi f_s n t) \\&= \sum_{n=-\infty}^{\infty} \left\{ f_s \int_{-T/2}^{T/2}h(\tau)\exp(-i2\pi f_s n \tau)dt \right\} \exp(i2\pi f_s n t)

この式で, T を十分に大きくしていくと, f_s はどんどん小さくなって, f_s\to \Delta f と書くことができます.

h(t) =  \sum_{n=-\infty}^{\infty} \left\{ \Delta f \int_{-T/2}^{T/2}h(\tau)\exp(-i2\pi f_s n \tau)dt \right\} \exp(i2\pi f_s n t)

さらにここで,この微小な f_s\Delta f\to df となると考えると, f_s nn\Delta f\to f となります.これの意味するところは, T を大きくしたことによって,離散的だった周波数変数の間隔 f_s が十分に小さくなり,全ての f_s n が連続の周波数変数 f とみなせるということです.周波数変数が連続的になるので,級数をとっていた \sum も積分の \int の形になります.また, T が十分に大きいのですから, -T/2 \sim T/2 だった積分の範囲も -\infty \sim \infty となります.

h(t) = \int_{-\infty}^{\infty} \left\{ \int_{-\infty}^{\infty} h(\tau)\exp(-i2\pi f \tau) d\tau \right\} \exp(i2\pi f t) df

なるほど!上の式から, Tn の極限をとることで,

c(n)T &\to H(f)=\int_{-\infty}^{\infty}h(t)\exp(-i2\pi f t)dt\tag{7-1}\\h(t) &= \int_{-\infty}^{\infty}H(f)\exp(i2\pi f t)df\tag{7-2}

という式になることが分かります.

そしてそして,,ご存知の方はご存知のはず.式(7-1)こそ, フーリエ変換 の定義 [*] なのです!!式(7-2)はフーリエ逆変換の定義になっています.すなわち,非周期関数のフーリエ級数を無理やり求めようとすると,行き着く先はフーリエ変換になるということです.

[¶]フーリエ変換の定義には何通りかあります.詳しくは フーリエ変換の第一歩 をご覧ください.