#rst2hooktail_source =============== フーリエ級数 =============== ベクトル空間では、一次独立な基底をつかって、任意のベクトルを表すことができます。関数についても、一次独立な関数の集まりを使えば、ひとつの関数を表すことができるんです( 直交関数系_ 参照)。今回は、この「一次独立な関数の集まり(関数列)」が直交関数系である、三角関数であったときの場合をご紹介します。 フーリエ級数 ============= 準備 ------- この記事では、簡単のために $h(t)$ を実関数として話を進めていきます。複素関数について考えるときは、実部と虚部について同じ手順で計算すればいいだけだからです。 まず、思い出してください。直交関数系の「直交関数系から」というセクションで、チラッと見たように、正規直交関数系 $\{\phi_0(t),\phi_1(t),\phi_2(t),\cdots,\phi_n(t),\cdots \}$ とある関数 $h(t)$ との相関を取った結果は、 $h(t)$ を $\{\phi_0(t),\phi_1(t),\phi_2(t),\cdots,\phi_n(t),\cdots \}$ の各元に分解したときにつく係数がでてきてくれるはずです。今、この正規直交関数系が三角関数だった場合での係数を求めてみましょう! 計算しみよう! -------------------- 関数 $h(t)$ が周期 $T$ を持つとき(すなわち、 $h(t+T)=h(t)$ が成り立つとき)、 $h(t)$ が持つ最大の周期は $T$ であるということがいえます。 .. image:: FourierKyuusuuByKuroko.png なので、この関数に関しては、 $T$ 以上の周期成分を考える必要はありません。だから、 $h(t)$ を三角関数で表す場合も、 $f_s=1/T$ より小さい周波数成分を考慮する必要はありません。 ここで、相関を取るのは一定な間隔 $f_s=1/T$ ずつ離れている周波数 $f_s n$ での波です。この関数に対する、範囲 $[-T/2<t<T/2]$ での *正規* 直交関数系を使った相関関数を計算するために、 $h(t)$ と同じように、最大周期 $T$ であるような正規直交関数系を用意する必要があります。 まず、用意すべき一次独立な関数列を考えると・・・ <tex> 2\pi f t \to \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) </tex> この関数列は実部と虚部で互いに直交しています。以下で確認しましょう! <tex> \int^{T/2}_{-T/2} \cos(2 \pi f_s m t) \cos(2 \pi f_s n t)dt=\begin{cases}0 ,& m\neq n \\ \frac{T}{2} ,& m=n\end{cases}\\ \int^{T/2}_{-T/2} \sin(2 \pi f_s m t) \sin(2 \pi f_s n t)dt=\begin{cases}0 ,& m\neq n \\ \frac{T}{2} ,& m=n\end{cases} </tex> 上の計算結果から、さらに、この関数列を正規直交関数系にするために、係数とつけておくと以下のようになります。 <tex> \Biggl[ \frac{1}{\sqrt{2}}, \frac{2}{T}\exp(i2\pi f_s t), \frac{2}{T}\exp(i4\pi f_s t),\cdots,\frac{2}{T}\exp(i2\pi f_s n t),\cdots \Biggr] </tex> .. [*] 正規直交関数系の定義を忘れた方は、 直交関数系_ を見てください。また、関数列の一番最初に書かれている $1/\sqrt{2}$ という定数項は $\exp(0)/\sqrt{2}$ と等しいことを頭の隅においてください。あとで、級数の表現を簡便なものにするときに利用します。 関数列を用意できましたので、さっそく $h(t)$ との相関を取ってみましょう。 <tex> A(n)=\frac{2}{T}\int_{-T/2}^{T/2}h(t)\exp(-i2\pi f_s n t)dt \tag{#def(kyuusuu-1)} </tex> 相関を取ると、 $h(t) $ を正規直交関数系に分解したときの係数が現れるのでしたね。なので、以下の表現が可能になると考えられます。 <tex> h(t)=\lim_{N \to \infty} \sum_{n=0}^{N} A(n)\exp(i2\pi f_s n t) \tag{##} </tex> さらに、オイラーの公式 $\exp(i2\pi f t)=\cos(2\pi f t)+i\sin(2\pi f t)$ を使って、 $A(n)$ を実部と虚部に分けて考えて見ましょう。 <tex> A(n) &= \frac{2}{T}\int_{-T/2}^{T/2}h(t)\{\cos(2\pi f_s n t)-i\sin(2\pi f_s n t)\}dt\\ &= a(n)-jb(n) \tag{3-1} </tex> ここで、 <tex> 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} </tex> とおきます。ただし、上式では $n$ は自然数 $(n=1,2,\cdots)$ だけです。 しかし、 $n=0$ の場合も、定数項 $1/\sqrt{2}$ (もしくは $\exp(0)/\sqrt{2}$ )に対して、相関をとってやると・・・ <tex> & \frac{2}{T}\int_{-T/2}^{T/2}h(t) \frac{1}{\sqrt{2}}dt\\ &= \frac{2}{T}\int_{-T/2}^{T/2}h(t)\cos(0)\frac{1}{\sqrt{2}}dt\\ &= \frac{1}{\sqrt{2}}a(0) </tex> と表現することができますね。なので、 $n=0$ での相関値を $a(0)/\sqrt{2}$ とおきなおしておくと、式 (2) は、以下のような表現が可能になります。 <tex> h(t) &= \frac{a(0)}{2}+\sum_{n=1}^{\infty} (a(n)-ib(n)) \{ \cos(2\pi f_s n t)+i\sin (2\pi f_s n t) \}\tag{4-1}\\ &= \frac{a(0)}{2}+\sum_{n=1}^{\infty}[ \{ a(n)\cos(2\pi f_s n t)+b(n)\sin(2\pi f_s n t) \}\\ & \hspace{5cm} + i\{a(n)\sin(2\pi f_s n t)-b(n)\cos(2\pi f_s n t)\} ] \tag{4-2} </tex> 今、 $h(t)$ は実関数であることから、虚数部はないはずですね。だから、 <tex> h(t) &= \frac{a(0)}{2}+\sum_{n=1}^{\infty}\left\{a(n)\cos(2\pi f_s n t)+ib(n)\sin(2\pi f_s n t)\right\} \tag{5-1}\\ &= \frac{a(0)}{2}+\sum_{n=1}^{\infty}\left\{a(n)\cos\left(\frac{2\pi n t}{T}\right)+b(n)\sin\left(\frac{2\pi n t}{T}\right)\right\} \tag{5-2} </tex> となることがわかります。 .. [*] 実は $a(0)/2$ は $h(t)$ の周期 $T$ における、平均値となっています。これは、上式を理解するうえで重要なことです。上式を眺めて確認してみてください。 まとめ -------- このように有限の周期を持つ関数 $h(t)$ をフーリエ変換を利用して無限級数の形で表すとき、この無限級数を **フーリエ級数** といい、 $\cos$ や $\sin$ についている係数 $a(n)$ や $b(n)$ を *フーリエ係数* といいます。また、関数のフーリエ係数を求めることを *フーリエ級数展開* といいます。 おまけ -------- さらに、 $\cos$ や $\sin$ を $\exp$ の表現に戻してみましょう。 <tex> \cos(2\pi f_s n t) &= \frac{\exp(i2\pi f_s n t)+\exp(-i2\pi f_s n t)}{2}\\ \sin(2\pi f_s n t) &= \frac{\exp(i2\pi f_s n t)-\exp(-i2\pi f_s n t)}{i2} </tex> 上式を式(5-2)に代入すると、 <tex> h(t) = \frac{a(0)}{2}+\sum_{n=1}^{\infty}\left\{ \left( \frac{a(n)-ib(n)}{2}\exp(i2\pi f_s n t) \right) + \left( \frac{a(n)+ib(n)}{2}\exp(-i2\pi f_s n t) \right)\right\} </tex> となります。ここで、 <tex> c(0)=\frac{a(0)}{2},\hspace{1cm} c(n)=\frac{a(n)-ib(n)}{2}=\frac{A(n)}{2},\hspace{1cm} c(-n)=\frac{a(n)+ib(n)}{2} </tex> という具合に $c(n)$ を定義してしまえば・・・ <tex> h(t) = \sum_{n=-\infty}^{\infty}c(n)\exp(i2\pi f_s n t)\tag{6} </tex> ・・・と、式(5-2)を魔法のように、何ともすっきりした形にできました!! ちなみに、式(6)は $h(t)$ の *複素フーリエ級数* といい、 $c(n)$ を *複素フーリエ係数* といいます。 フーリエ級数から、フーリエ変換へ! =================================== ここまでは、ある周期を持った関数について、考えてきました。しかし、世の中、そんな周期関数ばかりなわけがありません。そんな非周期関数については、このフーリエ級数、フーリエ級数展開はどうなってしまうのでしょうか!? 百聞は一見に如かず。実際に、有限だった周期を $T=1/f_s \to \infty$ とすることで、非周期関数の複素フーリエ級数を求めてみましょう。 <tex> 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) </tex> この式で、 $T$ を十分に大きくしていくと、 $f_s$ はどんどん小さくなって、 $f_s\to \Delta f$ と書くことができます。 <tex> 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) </tex> さらにここで、この微小な $f_s$ が $\Delta f\to df$ となると考えると、 $f_s n$ も $n\Delta f\to f$ となります。これの意味するところは、 $T$ を大きくしたことによって、離散的だった周波数変数の間隔 $f_s$ が十分に小さくなり、全ての $f_s n$ が連続の周波数変数 $f$ とみなせるということです。周波数変数が連続的になるので、級数をとっていた $\sum$ も積分の $\int$ の形になります。また、 $T$ が十分に大きいのですから、 $-T/2 \sim T/2$ だった積分の範囲も $ -\infty \sim \infty$ となります。 <tex> 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 </tex> なるほど!上の式から、 $T$ と $n$ の極限をとることで、 <tex> 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} </tex> という式になることが分かります。 そしてそして、、ご存知の方はご存知のはず。式(7-1)こそ、 **フーリエ変換** の定義 [*]_ なのです!!式(7-2)はフーリエ逆変換の定義になっています。すなわち、非周期関数のフーリエ級数を無理やり求めようとすると、行き着く先はフーリエ変換になるということです。 .. [*] フーリエ変換の定義には何通りかあります。詳しくは フーリエ変換の第一歩_ をご覧ください。 その他の一次独立な関数について ========================== ご参考までに・・・。 その他の関数列でも、ベクトルと同じように、互いに一次独立であるなら、ある関数 $h(t)$ を一意に表すことが可能なはずです。例えば・・・ <tex> \cdots , x^{-n},\cdots,x^{-1},x^{0},x^{1},x^{2},\cdots,x^{n},\cdots </tex> 上の関数列を、もっと一般的に言えば <tex> \cdots , (x-a)^{-n},\cdots,(x-a)^{-1},(x-a)^{0},(x-a)^{1},(x-a)^{2},\cdots,(x-a)^{n},\cdots </tex> ある関数 $h(t)$ を、この関数列に展開する方法として、ローラン展開(Laurent expansion)というものがあります。さらに、負のべき乗の項を考えないときには、テーラー展開(Taylor expansion)という名前がついています。 .. _直交関数系: http://www12.plala.or.jp/ksp/ .. _直交関数系: http://www12.plala.or.jp/ksp/ .. _フーリエ変換の第一歩: http://www12.plala.or.jp/ksp/ @@author: 黒子@@ @@accept: 2006-08-23@@ @@category: 物理数学@@ @@id: FourierSeries@@