フーリエ級数展開の原理

大学の電気科に入ったりすると、フーリエ展開(又はフーリエ級数)とか、フーリエ変換を学びます。

その授業はこのような感じです。

 

時間で変化する波形は\cos n\omega t\sin n\omega tに分解して表すことができます。その係数はこの積分で求めることができます。

そうすると、時間領域の波形は周波数領域で解析できます。なので、伝達関数が・・・

 

全然分かりません。まぁ、卒業できたから、今さらどうでもいいけどね。

フーリエ展開、フーリエ変換は、まさに天からの啓示といった感じでした。訳が分からないまま、例題を何問か解くことにより、肌感覚で覚えるといったシロモノでした。

でも、フーリエさんも人間です。おそらく順を追ってこれらの考えにたどり着いたのだろうと思います。

本記事は、その経過を想像して書いてみました。いわば、吉川英治や司馬遼太郎の歴史小説みたいな試みです。本人に確認を取っていないので、ウソを書いてしまうかもしれません。そこのところは大目に見てやって下さい。

スポンサーリンク

熱伝導方程式

熱伝導方程式って難しそう

フーリエは19世紀の初めころ、熱伝導方程式を研究していました。

熱伝導方程式は、熱容量をC_v、温度をT、時間をt、熱伝導率を\lambdaとすると、

    $$ C_v\frac{\partial T}{\partial t}=-\nabla\cdot\left(-\lambda\nabla T\right)=\lambda\Delta T $$

と表せます。なんじゃこりゃ。(参考までに、\nablaは「ナブラ」、\Deltaは「ラプラシアン」と読みます。知らなくても本記事は読めます。僕も分かっちゃいません)

少し簡単にするため、C_v = 1\lambda = 1として、さらに一次元で表すと、

    $$ \frac{\partial T}{\partial t}=\frac{\partial^2 T}{\partial x^2} $$

となります。

だいぶ分かりやすくなりましたか?

少しは分かりやすくなったかもしれませんが、依然として式としてのイメージは湧きませんよね。

トーストの上のハチミツ

僕も良く分かっていません。でも、多分こういうことです。

あなたはトーストの上にハチミツをたらしたことがありますか?

今、幅が決まっているトーストの上にハチミツをたらすこととします。

はじめは、t=0のような形状をしていたハチミツは、時間が経つとトーストの縁からこぼれて、t=tでは平らに近づきますよね?この方程式はそういうことを表しています。

もう少し詳しくお話ししましょう。

図は、t=0におけるプロットの右側部分の拡大です。

今、縦に黒い線を引いた地点のことを考えます。
この地点では、時間と共にハチミツが左から右に流れますよね?

方程式は、時間当たりに流れるハチミツの量が、表面の形状の傾きに関係するということを意味しています。

今、ハチミツの高さをT、横方向の位置をxとします。すると、\partial T/\partial xは傾き(3次元なら\nabla Tすなわちgrad\ T(グラジエント、勾配))となり、注目している点では右下がりなので負の値になります。

でも、移動方向として正方向(右)を向かせたいので、負号を付けます。
これをJとすると、J=-\ \partial T/\partial xになります。

このJはハチミツの流れの密度で、3次元で考えればベクトルになります。このベクトルと偏微分ベクトルとの内積を取ると、流れ出す量というスカラになります。ここではx成分だけ考えることとして、\left(\partial/\partial x\right)\cdot\left(-\partial T/\partial x\right) = -\ \partial^2 T/\partial x^2(3次元なら\nabla \cdot \bf Jすなわちdiv \bf J(ダイバージェンス、発散))となります。一方、(熱伝導方程式の)左辺の\partial T/\partial tは、ハチミツの高さの時間当たりの変化を示していて、ハチミツが流れ出してしまうと低くなるので負号を付けます。結局、

(1)   \begin{eqnarray*} -\frac{\partial T}{\partial t}&=&-\frac{\partial^2 T}{\partial x^2}\\ \therefore \frac{\partial T}{\partial t}&=&\frac{\partial^2 T}{\partial x^2} \end{eqnarray*}

となります。

ハチミツ形状の変化を温度分布の時間的変化と考えれば、これはフーリエの思考対象そのものです。

熱伝導方程式の解に三角関数が現れる!

フーリエは、これを解いてみました。

例えば、トーストの大きさを\left[0,\ 1\right]として、その両端の高さを常に0とします。つまり、境界条件をT(0,t)=0,\ T(1,t)=0とすると、解は、

$ T\left( x,t\right) = C\cdot e^{-n^2 \pi^2t}\sin \left( n\pi x \right) $

となります。ただし、Cは初期条件で決まる定数です。(解き方は後述しますのでご安心ください)

そうなると、ほら、右辺に三角関数が現れているではありませんか。

フーリエは、右辺が三角関数(と減衰項の積)で表すことができたことに気を良くして、波長が1のsin波に波長が1/3のsin波を半分の振幅にして加えてみました。解の線形結合も元の微分方程式の解になりますからね。すると、図のようにちょっと複雑な温度形状を示すことができました。

そこで、フーリエは考え方を発展させて、三角関数を無限に重ね合わせれば、どのようなハチミツの形状も解析できるのではないかと考えました。

すなわち、当初は、時間軸波形を周波数軸に直そうと考えた訳ではなく、空間上の複雑な形状を正弦波の重ね合わせで表そうと考えたのです。

1次元の熱伝導方程式を解いてみる

ではここで、(1)をT(0,t)=0,\ T(1,t)=0なる境界条件で解いてみます。

Tは、xtに関する微分方程式の解なので、T\left(x, t\right)=C\cdot e^{a t}\cdot e^{b x}とおくことができます。これを(1)に代入して偏微分すると、

    \begin{eqnarray*} C \cdot a \cdot e^{a t}\cdot e^{b x} &=&C \cdot e^{a t}\cdot b^2 \cdot e^{b x} \\ a &=& b^2 \end{eqnarray*}

となります。よって、

a>0のときb=\pm\sqrt{a}
a=0のときb=0
a<0のときb=\pm j\sqrt{-a}

となります。これらを場合分けして考えます。

まず、a>0のとき、x=0の地点で考えると、

    \begin{eqnarray*} T\left( x,\ t\right)&=&C e^{a t} e^{b x} \\ T\left( 0,\ t\right)&=&C e^{a t} e^{\pm \sqrt{a} \cdot 0}=0 \\ \therefore C e^{a t}&=&0 \end{eqnarray*}

であり、e^{a t}\neq0なので、C=0という自明解です。

次に、a=0のとき、T\left( x,\ t\right)=C e^{a t} e^{b x} =C e^0 e^0=C=0なので、これもC=0という自明解です。

最後に、a<0のとき、2つの解の線形結合を作ります。すなわち、

(2)   \begin{eqnarray*} T\left( x,\ t\right) &=& C_1 e^{a t}e^{-j\sqrt{-a}\ x}+C_2 e^{a t}e^{j\sqrt{-a}\ x} \\ &=& e^{a t}\left\{\left(C_1 + C_2\right)\cos \left(\sqrt{-a} \ x\right)+j\left(-C_1+C_2\right)\sin\left(\sqrt{-a}\ x\right)\right\} \end{eqnarray*}

です。変形の途中ではオイラーの公式を使っています。
ここで、境界条件T\left(0,\ t\right)=0を考えると、

    \begin{eqnarray*}\begin{center} e^{a t}\left\{\left(C_1 + C_2\right)\cos \left(\sqrt{-a} \ 0\right)+j\left(-C_1+C_2\right)\sin\left(\sqrt{-a}\ 0\right)\right\}=0 \\ \left(C_1 + C_2\right)\cdot 1+j\left(-C_1+C_2\right)\cdot 0=0 \\ C_1 + C_2=0 \\ \therefore C_1 = -C_2 \\ \end{center}\end{eqnarray*}

です。これを(2)に代入します。虚数を外しても微分方程式の解となることができるので、結局、

    $$ T\left( x,\ t\right)=e^{a t}\cdot 2C_2\sin\left(\sqrt{-a}\ x\right) $$

となります。ここで、境界条件T(1,t)=0を考慮すると、

    \begin{eqnarray*} e^{a t}\cdot 2 C_2 \sin\left(\sqrt{-a}\ 1\right) &=& 0\\ \therefore \sqrt{-a}&=&n \pi \\ a &=& -{n}^{2} \pi ^{2} \\ \therefore T\left( x,\ t \right)&=&e^{a t} \cdot 2C_2 \sin \left( \sqrt{-a} \ x \right) \\ &=& C e^{-n^2 \pi ^{2} t}\sin \left( n \pi x \right) \\ \end{eqnarray*}

となります。ただし、nは非負の整数です。(負の整数の場合は、絶対値が等しい正の整数のもとで、Cの符号を反転させることと等価なので、省くことができます)

フーリエ級数の発見

フーリエ、オイラーの公式と出会う

19世紀の初めころ、フーリエは、1748年に発表されていたオイラーの公式と出会います。オイラーの公式とは、

    $$ e^{j \theta}=\cos \theta + j \sin \theta $$

です。右辺には三角関数が出てきます。
フーリエは、複雑な波形を三角関数の重ね合わせで表そうとする自分の考えと通じるものがあると感じました。

オイラーの式は、マクローリン展開によって、証明されていました。
すなわち、

    \begin{eqnarray*} e^{j \theta}&=&\cos \theta + j \sin \theta \\ &=&\frac{\theta^0}{0 !}-\frac{\theta^2}{2 !}+\frac{\theta^4}{4 !}- \cdots + j\left( \frac{\theta}{1!}- \frac{\theta^3}{3 !} + \frac{\theta^5}{5 !} - \cdots \right)\\ \end{eqnarray*}

です。ここで、左辺のe^{j \theta}を無視し、\thetaの代わりにxを用いることとし、さらに虚数を取り除いて並べ替えれば、

    $$ \cos x + \sin x = \frac{x^0}{0!} +\frac{x^1}{1!} -\frac{x^2}{2!} -\frac{x^3}{3!} +\frac{x^4}{4!} +\frac{x^5}{5!} -\cdots $$

です。

ここで、フーリエは、三角関数の重ね合わせで複雑な波形f\left(x\right)を表現したかったので、\cos 0,\ \sin 0,\ \cos x,\ \sin x,\ \cos 2x,\ \sin 2x,\ \cos 3x,\ \sin 3xの重ね合わせで表せると仮定しました。つまり、それぞれの係数をa_0,\ b_0,\ a_1,\ b_1,\ a_2,\ b_2,\ a_3,\ b_3とすると、

    \begin{equation*}\begin{split} f(x)&=a_0 \cos 0 + b_0 \sin 0 + a_1 \cos x+ b_1 \sin x \\ &\quad +a_2 \cos 2x+ b_2 \sin 2x + a_3 \cos 3x + b_3 \sin 3x \\ &=\frac{(0^0 a_0+1^0 a_1+2^0 a_2+3^0 a_3)x^0}{0!} +\frac{(0^1 b_0+1^1 b_1+2^1 b_2+3^1 b_3)x}{1!}\\ &\quad -\frac{\left(0^2 a_0+1^2 a_1+2^2 a_2+3^2 a_3\right)x^2}{2 !} -\frac{\left(0^3 b_0+1^3 b_1+2^3 b_2+3^3 b_3\right)x^3}{3 !} \\ &\quad +\frac{\left(0^4 a_0+1^4 a_1+2^4 a_2+3^4 a_3\right)x^4}{4 !} +\frac{\left(0^5 b_0+1^5 b_1+2^5 b_2+3^5 b_3\right)x^5}{5 !} - \dots \\ &=\frac{\left(a_0+a_1+a_2+a_3\right)x^0}{0!} +\frac{\left(1 b_1+2 b_2+3 b_3\right)x}{1!}\\ &\quad -\frac{\left(1 a_1+4 a_2+9 a_3\right)x^2}{2 !} -\frac{\left(1 b_1+8 b_2+27 b_3\right)x^3}{3 !}\\ &\quad +\frac{\left(1 a_1+16 a_2+81 a_3\right)x^4}{4 !} +\frac{\left(1 b_1+32 b_2+243 b_3\right)x^5}{5 !} - \dots\\ \end{split}\end{equation*}

となります。フーリエは、この式がマクローリン展開とほぼ同じであるため、がぜん元気が出てきました。マクローリン展開の式は、

    $$ f \left( x \right) = \frac{f \left( 0 \right) x^0}{0!} + \frac{f' \left( 0 \right) x^1}{1!} + \frac{f'' \left( 0 \right) x^2}{2!}+ \frac{f''' \left( 0 \right) x^3}{3!} +\cdots $$

です。

今は、未知の係数として8個しか考えていません(しかもそのうちb_0は役に立っていません)が、a_n \cos {nx}b_n \sin {nx}n\inftyまで拡張したとして、係数を比較すると、

    \begin{eqnarray*} f\left(0\right)&=&\sum_0^\infty a_n\\ f'\left(0\right)&=&\sum_0^\infty n b_n\\ f''\left(0\right)&=&-\sum_0^\infty n^{2}a_n\\ \cdots \end{eqnarray*}

となります。つまり、これらの無限の連立方程式を解けば、a_nb_nの値が解けるはずなんです。

でも、そんなことしてたら、一生のうちに、係数を1つとして解くことができません。
フーリエは直交という考え方にたどり着くまで、再び悩むことになりました。

直交とは

そこで、救世主として現れたのが直交という考え方です。

直交にはいろいろな定義ができますが、ここでは、内積が0ということが重要です。

いま、ここに、\overrightarrow{a}=\left(a_1,\ a_2\right)\overrightarrow{b}=\left(b_1,\ b_2\right)があったとします。

また、余弦定理は自明だとします。すなわち、

    $$ \overline{AB}^{2}=\overline{OA}^{2}+\overline{OB}^{2}-2\ \overline{OA}\cdot \overline{OB}\ \cos \theta $$

です。これを成分で表すと、

    \begin{eqnarray*} \left(b_1-a_1\right)^2+\left(b_2-a_2\right)^2 &=&a_1^2+a_2^2+b_1^2+b_2^2-2\overrightarrow{a}\cdot\overrightarrow{b}\\ -2a_1 b_1-2a_2 b_2 &=& -2\overrightarrow{a}\cdot\overrightarrow{b}\\ a_1 b_1+a_2 b_2 &=& \overrightarrow{a}\cdot\overrightarrow{b} \end{eqnarray*}

よって、成分同士の積の和はベクトルの内積と等しくなります。特に直交している場合は、

    $$ a_1 b_1+a_2 b_2=\overrightarrow{a}\cdot\overrightarrow{b} =\overline{OA}\cdot \overline{OB} \cos {\frac{\pi}{2}}=0 $$

です。
この証明方法の良いところは、3次元でも4次元でも同じように証明できるところです。つまり、多次元であっても、成分同士の積の和が0なら直交しています。

では、ここで、\cos x\sin xが直交することを近似で示します。

上段は\cos xを近似した図であり、左から順に1,\ -1,\ -1,\ 1という値です。下段は\sin xを近似した図であり、左から順に1,\ 1,\ -1,\ -1という値です。

これらをそれぞれ4次元のベクトルとみなし、その内積を取ると、

    $$ 1\cdot1+\left(-1\right)\cdot 1+\left(-1\right)\cdot\left(-1\right)+1\cdot \left(-1\right)=1-1+1-1=0 $$

となります。成分同士の積の和が0なので、直交していますね。

一般的な\cos mx\sin nx直交性は次のようにして調べます。

    \begin{equation*}\begin{split} & \int_{0}^{2\pi}\cos {m x}\cdot \sin{n x}\ dx\\ &=\frac{1}{2}\int_{0}^{2\pi}\sin\left\{\left(m+n\right) x\right\} -\sin\left\{\left(m-n\right) x\right\}\ dx\\ &=\frac{1}{2\left(m+n\right)}\left[-\cos\left\{\left(m+n\right)x\right\}\right]_0^{2 \pi} +\frac{1}{2\left(m-n\right)}\left[-\cos\left\{\left(m-n\right)x\right\}\right]_0^{2 \pi}\\ &=\frac{1}{2\left(m+n\right)}\left(-1+1\right)+\frac{1}{2\left(m-n\right)}\left(-1+1\right)=0 \end{split}\end{equation*}

ほら、直交しています。
え?ちょっと待ってください。この式では、暗黙のうちに、m+n\neq0m-n\neq0という仮定が入っています。それらの仮定が成り立たない場合も大丈夫でしょうか?
そこで、m+n=0の場合を考えると、積分の中の第1項目が\sin 0=0となって消え、m-n=0の場合を考えると、積分の中の第2項目が\sin 0=0となって消えます。結局、積分結果は恒等的に0になります。すなわち、\cos {m x}\sin{n x}は必ず直交します。

次に、cos同士の場合の直交性も考えてみます。

    \begin{equation*}\begin{split} & \int_{0}^{2\pi}\cos {m x}\cdot \cos{n x}\ dx\\ & =\frac{1}{2}\int_{0}^{2\pi}\cos\left\{\left(m+n\right) x\right\} +\cos\left\{\left(m-n\right) x\right\}\ dx\\ & =\frac{1}{2\left(m+n\right)}\left[\sin\left\{\left(m+n\right)x\right\}\right]_0^{2 \pi} +\frac{1}{2\left(m-n\right)}\left[\sin\left\{\left(m-n\right)x\right\}\right]_0^{2 \pi}\\ & =0+0=0 \end{split}\end{equation*}

ただし、ここではm+n\neq0m-n\neq0を仮定しています。つまり、周期が異なれば直交します。

ところが、m+n=0すなわち、m=0,\ n=0の場合は違ってきます。このとき、

    \begin{equation*}\begin{split} & \int_{0}^{2\pi}\cos {m x}\cdot \cos{n x}\ dx\\ & =\int_{0}^{2\pi}\cos {0}\cdot \cos{0}\ dx\\ & =\int_{0}^{2\pi}1\cdot 1\ dx\\ & =\left[x\right]_0^{2 \pi}\\ & =2 \pi \end{split}\end{equation*}

となり、値が残ります。
次に、m-n=0であって、m\neq0,\ n\neq0の場合を考えます。

    \begin{equation*}\begin{split} & \int_{0}^{2\pi}\cos {m x}\cdot \cos{n x}\ dx\\ & =\frac{1}{2}\int_{0}^{2\pi}\cos\left\{\left(m+n\right) x\right\} +\cos\left\{\left(m-n\right) x\right\}\ dx\\ & =\frac{1}{2}\int_{0}^{2\pi}\cos 0\ dx\\ & =\frac{1}{2}\left[x\right]_{0}^{2\pi}\\ & =\pi \end{split}\end{equation*}

となります。これは、自分自身を掛け合わせていることと同じなので、当然直交せずに積分値が残ります。積分した結果は、一定値(\cos 0\left(=1\right))の場合の半分ということに気を付ける必要があります。

sinの場合もほぼ同様に計算できます。

    \begin{equation*}\begin{split} & \int_{0}^{2\pi}\sin {m x}\cdot \sin{n x}\ dx\\ & =-\frac{1}{2}\int_{0}^{2\pi}\cos\left\{\left(m+n\right) x\right\} -\cos\left\{\left(m-n\right) x\right\}\ dx\\ \end{split}\end{equation*}

m+n\neq0m-n\neq0の場合は上記と同様に積分値は0になります。

m+n=0すなわち、m=0,\ n=0の場合は、積分の中が\sin 0 \cdot \sin 0 = 0なので、積分結果は0になります。
m-n=0であって、m\neq0,\ n\neq0の場合はcosの場合とほぼ同様の計算過程をたどり、\piとなります。

フーリエは、こうして、未知の波形g\left(x\right)に対して、\cos mxまたは\sin nxをかけて、未知の波形の1周期分だけ積分することで、その係数を求めることができるようになりました。すなわち、1 \left(=\cos 0 \right)の場合は積分値を1/2 \pi倍し、それ以外の\cos mxまたは\sin nxの場合は、積分値を1/\pi倍すれば係数が求まります。

フーリエ係数の計算

フーリエ級数は、上述の係数を得る手順において、

    $$ x=\frac{2 \pi}{T} t $$

と置くことで、求めることができます。ここで、Tは周期です。また、途中の式変形で、

    $$ d x=\frac{2 \pi}{T}dt $$

を使います。

まず、

    \begin{equation*}\begin{split} & a_0=\frac{1}{2 \pi}\int_0^{2 \pi}g\left(x\right)\cos0\ dx\\ &=\frac{1}{2 \pi}\int_0^T g\left(\frac{2 \pi}{T} t\right)\cdot \frac{2 \pi}{T}dt\\ &=\frac{1}{T}\int_0^{T}f\left(t\right)dt \end{split}\end{equation*}

となります。ここで、2 \pi/Tは単なる定数なので、

    $$ g\left(\frac{2 \pi}{T} t\right)=f\left(t\right) $$

と置き換えています。
次に、

    \begin{equation*}\begin{split} & a_n=\frac{1}{\pi}\int_0^{2 \pi}g\left(x\right)\cos \left(n x\right)\ dx\\ & =\frac{1}{\pi}\int_0^T g\left(\frac{2 \pi}{T} t\right) \cos\left(n\frac{2 \pi}{T}t\right) \frac{2 \pi}{T}dt\\ & =\frac{2}{T}\int_0^T f\left(t\right) \cos\left(n\cdot 2\pi f_0 t\right)dt\\ & =\frac{2}{T}\int_0^T f\left(t\right) \cos\left(n\omega_0 t\right)dt \end{split}\end{equation*}

です。ここで、f_0は周期Tに対する周波数であり、\omega_0=2 \pi f_0f_0に対する角周波数です。
最後に、

    \begin{equation*}\begin{split} & b_n=\frac{1}{\pi}\int_0^{2 \pi}g\left(x\right)\sin \left(n x\right)\ dx\\ & =\frac{1}{\pi}\int_0^T g\left(\frac{2 \pi}{T} t\right) \sin\left(n\frac{2 \pi}{T}t\right) \frac{2 \pi}{T}dt\\ & =\frac{2}{T}\int_0^T f\left(t\right) \sin\left(n\cdot 2\pi f_0 t\right)dt\\ & =\frac{2}{T}\int_0^T f\left(t\right) \sin\left(n\omega_0 t\right)dt \end{split}\end{equation*}

となります。

フーリエ級数

以上のことを清書するとフーリエ級数又はフーリエ展開が得られます。

まず、関数f\left(t\right)は、\cos\sinの重ね合わせで次のように書くことができます。

    $$ f\left(t\right)=a_{0}+\sum_{n=1}^\infty\left\{a_n \cos \left(n\omega_0 t\right)+b_n\sin \left(n\omega_0 t\right) \right\} $$

ここで、フーリエ係数は次のようになります。

    \begin{eqnarray*} a_0 &=& \frac{1}{T}\int_0^{T}f\left(t\right)dt \\ a_n &=& \frac{2}{T}\int_0^T f\left(t\right) \cos\left(n\omega_0 t\right)dt \\ b_n &=& \frac{2}{T}\int_0^T f\left(t\right) \sin\left(n\omega_0 t\right)dt \end{eqnarray*}

おつかれさまでした。これで、フーリエ級数を導くことに成功しました。

コメント

タイトルとURLをコピーしました