メモ帳ブログ @ wiki

フーリエ級数展開

最終更新:

nina_a

- view
管理者のみ編集可

フーリエ級数展開


目次


概要

 フーリエ級数展開とは、『複雑な波形でも単純な波形の合成によっている』という考え方を利用して、ある波形を三角関数(サインとコサイン)のみを用いて表すことをいう。
 周期T_0の関数f(t)は以下のように表現できる。
f(x)=A_0+\sum_{n=1}^{\infty}\left(A_n\cos(n\omega_0 x)+B_n\sin(n\omega_0x)\right)
A_0=\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\,\mathrm{dx}
A_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\cos(n\omega_0x)\,\mathrm{dx}
B_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\sin(n\omega_0x)\,\mathrm{dx}
 (n=1,2,3,\cdots)\omega_0=\frac{2\pi}{T_0}

図・単純な波形の組み合わせによって構成されている波形(EPS

図・複雑な波形(EPS

参考例

 f(x)=(-1)^{\lceil x \rceil}x+(-1)^{\lfloor x\rfloor}(1+2\lfloor x\rfloor)という関数をフーリエ級数展開する。
図・フーリエ級数展開する関数
 結果は、
f(x)=\sum_{n=1}^{\infty}a_n\cos(nx)
a_n=\begin{cases}\dfrac{8}{n^2\pi^2} \qquad \mathit{(if\,n\,is\,an\,odd\,number)} \\ 0 \qquad\qquad \mathit{(otherwise)} \end{cases}
となる。
※途中計算については解説内の参考例に記してある。
 計算機上では無限大までの和を求めることは出来ないため、途中で計算を打ち切ることになる。
 n=5で打ち切った場合のグラフは以下のようになる。
図・フーリエ級数展開した結果(n=5で打ち切り)(EPS

 n=25で打ち切った場合のグラフは以下のようになる。
図・フーリエ級数展開した結果(n=25で打ち切り)(EPS

解説

 『任意の周期信号は、直流成分(いわば平均)と基本波成分と高調波成分(基本波の周波数を定数倍した物)の和から構成される。すなわち、
(任意の周期信号)=(直流成分)+(基本波成分)+(2倍高調波成分)+(3倍高調波成分)+…
が成り立つ。
 フーリエ級数展開では基本波として正弦波と余弦波を用いる。よって、フーリエ級数展開は以下のように表される。
f(t)=A_0\cdot 1+\sum_{n=1}^{\infty}\left(A_n\cos(n\omega_0 t)+B_n\sin(n\omega_0t)\right)
※フーリエ級数展開において(私の身の回りでは)横軸に時間tを取ることが多いため以降の説明では変数としてtを用いる。
 なお、\omega_0とは基本角周波数(基本波の角周波数の意、角周波数は角速度とも言う)であり、\omega_0=\frac{2\pi}{T_0}である。同様に、T_0は基本周期、f_0は基本周波数であり、f_0=\frac{1}{T_0}である。
\omega_0=\frac{2\pi}{T_0}という関係は、フーリエ級数展開する関数の周期と基本波の周期の関係から導出される。
 tが0からT_0まで一周期分変化するとき、基本波\sin(\omega_0t)\cos(\omega_0t)も一周期分変化する必要がある。
t 0\rightarrow T_0
\omega_0t 0\rightarrow 2\pi
だから、\omega_0T_0=2\piであることが分かる。
図・周期T_0の波と基本正弦波
 ここで、A_0A_nB_nを求めるために直交関数系の性質を用いる。フーリエ級数展開とはある関数を関数列\left\{1, \cos(\omega_0t), \cos(2\omega_0t), \cdots,\sin(\omega_0t), \sin(2\omega_0t), \cdots\right\}の和で表すことであった。この関数列(\left\{1,\cos(n\omega_0t),\sin(n\omega_0t)\right\} \quad (n\in\mathbb{Z}^+))は実は直交系を成しているのである。
※この関数列が本当に直交系を成しているかどうかの確認は省略する。偶関数、奇関数の性質を利用すれば容易に証明可能である。
 直交関数系の性質を用いると、A_0A_nB_nを綺麗に求めることが出来る。実際にf(t)\cos(n\omega_0t)の内積を取ると下図のようになり、A_nの項のみ残り、他の項は全て0になる。
図・f(t)\cos(n\omega_0t)の内積(EPS
 上図からA_n=\frac{\langle f(t),\cos(n\omega_0t)\rangle}{\langle\cos(n\omega_0t),\cos(n\omega_0t)\rangle}となる。同様にしてf(t)1の内積からA_0が、f(t)\sin(n\omega_0t)の内積からB_nが求められる。それぞれ以下のようになる。
A_0=\frac{\langle f(t),1\rangle}{\langle 1,1\rangle}
B_n=\frac{\langle f(t),\sin(n\omega_0t)\rangle}{\langle\sin(n\omega_0t),\sin(n\omega_0t)\rangle}

 内積の定義からこれを積分で表し、計算可能な所を計算すると、概要で示した式が得られる。
f(x)=A_0+\sum_{n=1}^{\infty}\left(A_n\cos(n\omega_0 x)+B_n\sin(n\omega_0x)\right)
A_0=\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\,\mathrm{dx}
A_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\cos(n\omega_0x)\,\mathrm{dx}
B_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\sin(n\omega_0x)\,\mathrm{dx}
 (n=1,2,3,\cdots)\omega_0=\frac{2\pi}{T_0}
※ここでは内積の計算結果のみ記しておく。
\langle 1,1 \rangle = T_0
\langle\cos(n\omega_0t),\cos(n\omega_0t)\rangle=\frac{T_0}{2}
\langle\sin(n\omega_0t),\sin(n\omega_0t)\rangle=\frac{T_0}{2}
 なお、フーリエ級数展開は以下のように書かれることもある。
f(x)=\frac{A_0}{2}+\sum_{n=1}^{\infty}\left(A_n\cos(n\omega_0 x)+B_n\sin(n\omega_0x)\right)
A_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\cos(n\omega_0x)\,\mathrm{dx}\quad(n=0,1,2,\cdots)
B_n=\frac{2}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(x)\sin(n\omega_0x)\,\mathrm{dx}\quad(n=1,2,3,\cdots)
\omega_0=\frac{2\pi}{T_0}
※上記の式は定数関数1を\cos(0)と見なして表した物である。

参考例

 概要の参考例として扱った関数f(x)=(-1)^{\lceil x \rceil}x+(-1)^{\lfloor x\rfloor}(1+2\lfloor x\rfloor)のフーリエ級数展開の計算過程をここに記す。
図・フーリエ級数展開する関数(再掲)
 図から、周期は2であることが分かる。

 A_0は、f(x)\cdot 1が偶関数であることから
A_0=\frac{1}{2}\int_{-1}^{1}f(x)\cdot 1\,\mathrm{dx}
 =\int_{-1}^0(2x+1)\,\mathrm{dx}
 =0

 つづいて、A_nは、
A_n=\dfrac{2}{2}\int_{-1}^1 f(x)\cdot\cos(n\pi x)\,\mathrm{dx}
f(x)\cos(n\pi x)は偶関数であるから
A_n=2\int_{-1}^0(2x+1)\cos(n\pi x)\,\mathrm{dx}
 =\frac{2}{n\pi}\left[(2x+1)\sin(n\pi x)\right]_{-1}^0-\frac{4}{n\pi}\int_{-1}^0\sin(n\pi x)\,\mathrm{dx}
 =0-\frac{4}{n^2\pi^2}\left[-\cos(n\pi x)\right]_{-1}^0
 =\begin{cases}\dfrac{8}{n^2\pi^2} \qquad \mathit{(if\,n\,is\,an\,odd\,number)} \\ 0 \qquad\qquad \mathit{(otherwise)} \end{cases}

 B_nf(x)\sin(n\pi x)が奇関数であることから、
B_n=\frac{2}{2}\int_{-1}^1 f(x)\cdot\sin(n\pi x)\,\mathrm{dx}
 =0

複素指数関数表現によるフーリエ級数展開

 複素指数関数とは底がネイピア数eであり、指数が虚数である関数e^{ix}である。
 複素指数関数のマクローリン展開から以下の関係が導かれる。
e^{ix}=\cos(x)+i\sin(x)
※この計算については省略する。
 ここでcis関数を以下のように定義する。
\mathrm{cis}(x)\equiv\cos(x)+i\sin(x)
 すなわちe^{ix}=\mathrm{cis}(x)である。
 この定義から、
\cos(x)=\frac{\mathrm{cis}(x)+\mathrm{cis}(-x)}{2},\quad\sin(x)=\frac{\mathrm{cis}(x)-\mathrm{cis}(-x)}{2i}
であることが分かる。これをフーリエ級数展開の式に代入し整理する(下図)。
図・複素指数関数をフーリエ級数展開に適用(EPS
 これで複素指数関数によりフーリエ級数展開を表現する事が出来た。
f(t)=\sum_{n=-\infty}^{\infty}C_n\cdot\mathrm{cis}(n\omega_0x)
 三角関数による表現よりも簡潔になっていることが分かる。ただC_nがごちゃごちゃしているので、それぞれ計算してみる。
 1) n>0の時
C_n=\frac{1}{2}\left\{\frac{2}{T_0}\left\langle f(t),\cos(n\omega_0 t) \right\rangle-\frac{2i}{T_0}\left\langle f(t),\sin(n\omega_0 t) \right\rangle\right\}
 =\frac{1}{T_0}\left\langle f(t),\cos(n\omega_0 t)-i\sin(n\omega_0t)\right\rangle
 =\frac{1}{T_0}\left\langle f(t),\cos(-n\omega_0 t)+i\sin(-n\omega_0t)\right\rangle
 =\frac{1}{T_0}\left\langle f(t),\mathrm{cis}(-n\omega_0 t)\right\rangle
 2) n=0の時
C_n=\frac{1}{T_0}\left\langle f(t),1 \right\rangle
 =\frac{1}{T_0}\left\langle f(t),\mathrm{cis}(0)\right\rangle
 3) n<0の時
C_n=\frac{1}{2}\left\{\frac{2}{T_0}\left\langle f(t),\cos(n\omega_0 t) \right\rangle+\frac{2i}{T_0}\left\langle f(t),\sin(n\omega_0 t) \right\rangle\right\}
 =\frac{1}{T_0}\left\langle f(t),\cos(n\omega_0 t)+i\sin(n\omega_0t)\right\rangle
 =\frac{1}{T_0}\left\langle f(t),\mathrm{cis}(n\omega_0 t)\right\rangle

 これらより、
C_n=\frac{\langle f(t),\mathrm{cis}(-n\omega_0t)\rangle}{\langle f(t),\mathrm{cis}(0)\rangle}
 =\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} f(t)\cdot\mathrm{cis}(-n\omega_0 t)\,\mathrm{dx}
となる。
 以上をまとめると、複素指数関数を用いたフーリエ級数展開は、
f(t)=\sum_{n=-\infty}^{\infty}C_n\cdot\mathrm{cis}(n\omega_0t)
C_n=\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(t)\cdot\mathrm{cis}(-n\omega_0t)\,\mathrm{dx}
となり、三角級数に比べるとかなり簡単に記述が可能である。
※ただし、\mathrm{cis}(x)は奇関数でも偶関数でもないため、手計算の場合は計算が面倒になる場合がある。

方形波のフーリエ級数展開

 下図のような方形波のフーリエ級数展開を行う。
図・方形波(EPS
 まず、直流成分は
C_0=\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(t)\cdot 1\,\mathrm{dt}
 =\frac{1}{T_0}\int_{-\tau}^{\tau}1\,\mathrm{dt}
 =\frac{2\tau}{T_0}
 続いて、n倍高調波成分は
C_n=\frac{1}{T_0}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}f(t)\mathrm{cis}(n\omega_0t)\,\mathrm{dt}
 =\frac{1}{T_0}\int_{-\tau}^{\tau}\mathrm{cis}(n\omega_0 t)\,\mathrm{dt}
 =\frac{1}{T_0}\frac{1}{-in\omega_0}\left(\mathrm{cis}(-n\omega_0\tau)-\mathrm{cis}(n\omega_0 \tau)\right)
 =-\frac{1}{in2\pi}(-2i\sin(n\omega_0\tau))
 =\frac{1}{n\pi}\sin(n\omega_0\tau)
※cis関数の微分・積分
\frac{\mathrm{d}}{\mathrm{dx}}\mathrm{cis}(x)=i\mathrm{cis}(x)
\int\mathrm{cis}(x)\,\mathrm{dx}=\frac{1}{i}\mathrm{cis}(x)+C
 以上より方形波のフーリエ級数展開係数は、
C_n=\begin{cases}\frac{2\tau}{T_0} \qquad\qquad\qquad (n=0) \\ \frac{1}{n\pi}\sin(n\omega_0\tau) \quad (\mathit{otherwise})\end{cases}
となった。方形波は無限倍の高調波成分まで含まれるため、計算機上ではある所までの高調波までで打ち切ることになる。打ち切り時に誤差が生じる現象をギプス現象という。もちろん、高い周波数成分まで加算した方がギプス現象は小さくなる。
図・ギプス現象(T_0=4,\,\tau=1とした)(拡大)(EPS
図・10000倍高調波までの加算(T_0=4,\,\tau=1とした)(EPS

周波数スペクトル

 上で得られたフーリエ級数展開係数C_nを図示すると以下のようになる。なお、下図には関数f(x)=\frac{\sin(x\pi/2)}{x\pi}も一緒に図示した。
図・フーリエ級数展開係数(EPS
 上の図は各周波数成分がどれだけ含まれているかを示している。このような図を周波数スペクトル、あるいは、単にスペクトルという。



カテゴリ:MISC







記事メニュー
人気記事ランキング
目安箱バナー