Chapter 02

フーリエ解析

a3geek
a3geek
2021.05.03に更新

フーリエ級数の導出

 ある関数f(x)の性質を知るために、基本的な関数列を使った級数展開が使用できる場合がある。例えば、マクローリン展開[付録A]は代表的な級数展開の一つである。
 ここで、周期2\piの周期関数であるf(x)を考える。f(x)を三角関数を用いた関数列\{1,\cos x,\sin x,\cos2x,\sin2x,...\}を使って級数展開することで、

\tag{1} f(x) \sim a + \sum_{n = 1}^{\infty}(a_n \cos nx + b_n \sin nx)

を得ることができる。式(1)をフーリエ級数展開といい、係数a,a_n,b_nをフーリエ係数という(ここで、\sim記号は=記号と読み替えても困らない。詳細は後述する)。ここで、フーリエ係数を求める。まず、フーリエ係数a_nについて、式(1)の両辺に\cos mx \quad (m = 1, 2, ...)をかけて-\pi から \piまで積分し、積分と総和の順序を交換できるとすると、

\tag{2} \begin{aligned} \int_{-\pi}^{\pi} f(x) \cos mx dx &\sim \int_{-\pi}^{\pi} a \cos mx dx \\ & \quad + \sum_{n = 1}^{\infty} \int_{-\pi}^{\pi}(a_n \cos nx \cdot \cos mx + b_n \sin nx \cdot \cos mx) dx \end{aligned}

が得られる。ここで、

\tag{3} \int_{-\pi}^{\pi} a \cos mx dx = 0

であり、また三角関数の直交性[付録B]より

\tag{4} \begin{aligned} \int_{-\pi}^{\pi}(b_n \sin nx \cdot \cos mx) dx &= 0 \\ \sum_{n = 1}^{\infty} \int_{-\pi}^{\pi}(a_n \cos nx \cdot \cos mx) dx &= \begin{cases} 0&(n \neq m)\\ \pi&(n = m) \end{cases} \end{aligned}

であるため、

\tag{5} \begin{aligned} \int_{-\pi}^{\pi} f(x) \cos mx dx \sim a_m \pi \\ \therefore a_m \sim \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos mx dx \end{aligned}

が得られる。次に、フーリエ係数b_nについて、式(1)の両辺に\sin mx \quad (m = 1, 2, ...)をかけて-\piから\piまで積分すると

\tag{6} \begin{aligned} \int_{-\pi}^{\pi} f(x)\sin mx dx \sim b_m \pi \\ \therefore b_m \sim \frac{1}{\pi} \int_{-\pi}^{\pi} f(x)\sin mx dx \end{aligned}

が得られる。最後に、フーリエ係数aについて、式(1)の両辺を-\piから\piまで積分すると

\tag{7} \begin{aligned} \int_{-\pi}^{\pi} f(x) dx \sim 2 \pi a \\ \therefore a \sim \frac{1}{2\pi}\int_{-\pi}^{\pi} f(x) dx \end{aligned}

が得られる。ここで、式(5)についてm = 0のとき、

\tag{8} a_0 \sim \frac{1}{\pi} \int_{-\pi}^{\pi} f(x)dx = 2a

が成り立つため、a = \frac{a_0}{2}と記述する。

以上より、

\tag{9} \begin{aligned} \frac{a_0}{2} + \sum_{n = 1}^{\infty}(a_n \cos nx + b_n \sin nx)\\ \begin{cases} a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos nx dx &(n = 0, 1, 2, ...) \\ b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin nx dx &(n = 1, 2, ...) \end{cases} \end{aligned}

の形で表される級数を、f(x)のフーリエ級数という。このとき、フーリエ級数がf(x)と等しいこと、つまりフーリエ級数が常にf(x)に収束するとは限らない。関数f(x)が全ての区間において連続であればフーリエ級数はf(x)に収束するが、f(x)がある区間において不連続であれば収束しない。フーリエ級数の収束性について、f(x)が不連続な点で区分的に滑らか[付録C]であるとき、f(x)のフーリエ級数は式(10)のように収束する。

\tag{10} \begin{aligned} \frac{a_0}{2} + &\sum_{n = 1}^{\infty}(a_n \cos nx + b_n \sin nx) \\ &= \begin{cases} f(x) &(連続な点) \\ \frac{1}{2}(\displaystyle\lim_{a \to x-0}f(a) + \lim_{a \to x+0}f(a)) &(不連続な点) \end{cases} \end{aligned}

 式(10)より、フーリエ級数とf(x)は常に等しいとは限らない。そのため、式(1)では=記号を用いずに\sim記号を用いた。\sim記号は、フーリエ級数が収束するかは定かでないことを表している。式(1)の右辺は、f(x)が区分的に滑らかであるかに関わらず形式的にフーリエ係数を求めたフーリエ級数であるため、収束するかは定かでない。
 式(1)f(x)は周期が2\piの周期関数である。f(x)が周期2L (L > 0)の周期関数である場合、x = \frac{L}{\pi}tとしてフーリエ級数展開すると

\tag{11} \begin{aligned} f(x) &\sim \frac{a_0}{2} + \sum_{n = 1}^{\infty}(a_n \cos\frac{n \pi}{L}x + b_n \sin\frac{n \pi}{L}x) \\ &\begin{cases} a_n = \frac{1}{L} \int_{-L}^{L} f(x) \cos\frac{n \pi}{L}x dx &(n = 0, 1, 2, ...) \\ b_n = \frac{1}{L} \int_{-L}^{L} f(x) \sin\frac{n \pi}{L}x dx &(n = 1, 2, ...) \end{cases} \end{aligned}

が得られる。式(11)は任意の周期をもつf(x)のフーリエ級数展開である。

複素フーリエ級数の導出

 式(1)のフーリエ級数展開について、複素数への拡張を考える。オイラーの公式e^{j\theta} = \cos\theta + j\sin\thetaより

\tag{12} \begin{aligned} e^{jnx} = \cos(nx) + j\sin(nx) \\ e^{-jnx} = \cos(nx) - j\sin(nx) \end{aligned}

であるため、

\tag{13} \begin{aligned} \cos(nx) = \frac{e^{jnx} + e^{-jnx}}{2} \\ \sin(nx) = \frac{e^{jnx} - e^{-jnx}}{2} \end{aligned}

となり、式(1)の右辺に式(13)を代入すると

\tag{14} \begin{aligned} &\frac{a_0}{2} + \sum_{n = 1}^{\infty}(a_n \cos nx + b_n \sin nx) \\ &= \frac{a_0}{2} + \sum_{n = 1}^{\infty}(\frac{a_n - jb_n}{2}e^{jnx} + \frac{a_n + jb_n}{2}e^{-jnx}) \end{aligned}

が得られる。このとき、

\tag{15} c_n = \frac{1}{2 \pi} \int_{-\pi}^{\pi}f(x)e^{-jnx}dx

とすると、\frac{a_0}{2} = c_0, \frac{a_n - jb_n}{2} = c_n, \frac{a_n + jb_n}{2} = c_{-n}と記述することができる。よって、式(1)は式(14)(15)より

\tag{16} f(x) \sim \sum_{n = -\infty}^{\infty} c_n e^{jnx}

となる。式(16)を複素フーリエ級数といい、係数c_nを複素フーリエ係数という。
f(x)が実関数であるとき、c_{-n} = \overline{c_n}が成り立つ。c_{-n}c_nの共役複素数が等しくなるため、n \geq 0についてのみ計算すれば、すべての複素フーリエ係数を求められることが分かる。
 また、f(x)が周期2L(L > 0)の周期関数であるとき、複素フーリエ級数はx = \frac{L}{\pi}tとすることで

\tag{17} \begin{aligned} f(x) &\sim \sum_{n = -\infty}^{\infty} c_n e^{j \frac{n\pi}{L}x} \\ c_n &= \frac{1}{2L} \int_{-L}^{L}f(t)e^{-j \frac{n\pi}{L}t}dt \end{aligned}

が得られる。ここで、複素フーリエ係数c_nは離散的な値\frac{n\pi}{L}で値を取り、元の関数f(x)を構成する波の強さを表す係数である。複素フーリエ係数c_nは離散スペクトル、もしくは単にスペクトルともいう。

フーリエ変換の導出

 式(17)でフーリエ級数展開できるのは周期関数のみであるため、非周期関数のフーリエ級数展開を考える。式(17)より

\tag{18} f(x) \sim \sum_{n = -\infty}^{\infty} (\frac{1}{2L} \int_{-L}^{L} f(t)e^{-j\frac{n\pi}{L}t} dt) e^{j\frac{n\pi}{L}x}

について\omega_n = \frac{n\pi}{L}, \varDelta \omega = \omega_n - \omega_{n - 1} = \frac{\pi}{L}とすると、

\tag{19} f(x) \sim \sum_{n = -\infty}^{\infty}(\frac{1}{2\pi} \int_{-L}^{L}f(t)e^{-j\omega_n t} dt)e^{j\omega_n x}\varDelta \omega

が得られる。ここで、

\tag{20} G(\omega_n) = (\frac{1}{2\pi}\int_{-L}^{L}f(t)e^{-j\omega_n t}dt)e^{j\omega_n x}

とおく。f(x)を非周期関数とするために、周期が\inftyの周期関数であると考える。L \rightarrow \inftyのとき周期は\inftyとなり、L \rightarrow \inftyならば\omega_n \rightarrow 0となる。よって、式(19)はリーマン積分の定義(区分求積法)より

\tag{21} f(x) \sim \lim_{\varDelta \omega \to 0} \sum_{n = -\infty}^{\infty} G(\omega_n)\varDelta \omega = \int_{-\infty}^{\infty} G(\omega)d\omega

となり、G(\omega_n)の総和からG(\omega)の積分に変化する。ここで、式(21)で関数G(\omega_n)を展開すると

\tag{22} f(x) \sim \int_{-\infty}^{\infty} (\frac{1}{2\pi} \int_{-\infty}^{\infty} f(t)e^{-j\omega t}dt) e^{j\omega x}d\omega

が得られる。式(22)の右辺をフーリエ積分表示といい、式(22)をフーリエの積分公式という。ここで、式(22)-\inftyから\inftyまでの積分であるため、厳密には積分が極限で収束する必要がある。よって式(22)は、関数f(x)(-\infty, \infty)で区分的に滑らかで、(-\infty, \infty)において絶対可積分[付録D]である時に成立する。
 このとき、式(22)について

\tag{23} F(\omega) = \int_{-\infty}^{\infty}f(t)e^{-j\omega t} dt

とすると、

\tag{24} f(x) \sim \frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{j\omega x}d\omega

が得られる。式(24)は、角度\omega xを持つ波e^{j\omega x}に係数F(\omega)をかけて足し合わせることでf(x)が求められることを表している。F(\omega)は分解した波の強さを表す。
 これまでに述べたとおり、フーリエ解析とは複雑な関数を三角関数で表せる波に分解して表現する手法であり、フーリエ係数とは分解した波の強さを表す係数であるから、F(\omega)を求める式(23)をフーリエ変換という。ここで、F(\omega)は連続な値\omegaで値を取るため、F(\omega)を連続スペクトル、もしくは単にスペクトルという。
 フーリエ変換とは、ある関数f(t)を別の関数F(\omega)に変換する写像であると考えられる。そこで、この写像を\mathcal{F}として

\tag{25} \mathcal{F}[f(t)]= F(\omega)

と表す。
 また、f(x)のフーリエ変換を行って得られたF(\omega)を元のf(x)に変換することをフーリエ逆変換という。フーリエ逆変換は写像\mathcal{F}の逆写像に対応するため、この逆写像を\mathcal{F}^{-1}として、

\tag{26} \mathcal{F}^{-1}[F(\omega)] \coloneqq \frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)e^{j\omega x}d\omega

と定義する。このとき、式(26)の右辺についてF(\omega) = \mathcal{F}[f(t)]であるので、式(24)より

\tag{27} \begin{aligned} \frac{1}{2\pi}&\int_{-\infty}^{\infty}F(\omega)e^{j\omega x} d\omega \\ &= \begin{cases} f(x) &(連続な点) \\ \frac{1}{2}(\lim_{a \to x-0}f(a) + \lim_{a \to x+0}f(a)) &(不連続な点) \end{cases} \end{aligned}

が成り立つ。式(27)をフーリエの反転公式という。

離散時間フーリエ変換の導出

 元の関数f(t)が連続なときに限り、周期関数は複素フーリエ級数によって、非周期関数はフーリエ変換によって表現できる。f(t)が不連続な非周期関数であるとき、f(t)のフーリエ変換において積分値が計算できない場合がある。そのため、デジタル信号などの離散的にしか値を持たない不連続な関数を表現することができない。そこで、一定間隔で値を取る非周期で不連続な関数f[n](n \in \mathbb{Z})についてフーリエ変換を行う場合を考える。ここで、不連続な関数はf[n]、連続な関数はf(n)と表記して区別する。
f[n]を連続な関数にするためには、積分したときに値を持つ必要がある。そこで、デルタ関数[付録E]を考える。f[n]とデルタ関数の積を考えることで積分したときに値を持たせ、式(23)に代入すると、

\tag{28} \begin{aligned} F(\omega) &= \int_{-\infty}^{\infty}(\sum_{n = -\infty}^{\infty} f[n]\delta(t - n))e^{-j\omega t}dt \\ &= \sum_{n = -\infty}^{\infty}f[n]\int_{-\infty}^{\infty}\delta(t - n)e^{-j\omega t}dt \end{aligned}
\tag{29} \therefore F(\omega) = \sum_{n = -\infty}^{\infty}f[n]e^{-j\omega n}

となり、積分形式から総和形式に変化したことで、不連続な関数についても近似的にフーリエ変換を行える。式(29)を離散時間フーリエ変換という。
 式(29)では

\tag{30} \begin{aligned} F(\omega + 2\pi) &= \sum_{n=-\infty}^{\infty}f[n]e^{-j(\omega + 2\pi) n} \\ &= \sum_{n=-\infty}^{\infty}f[n]e^{-j\omega n}e^{-j2\pi n} \\ &= \sum_{n=-\infty}^{\infty}f[n]e^{-j\omega n}(\cos(2\pi n) - j\sin(2\pi n)) \\ &= \sum_{n=-\infty}^{\infty}f[n]e^{-j\omega n} \\ &= F(\omega) \end{aligned}

が成り立つため、関数F(\omega)は周期2\piの周期関数となる。つまり、非周期関数f[x]に対し離散時間フーリエ変換を行うことで、変換後の関数F(\omega)は周期性を得る。
 離散時間フーリエ変換を行って得られた関数F(\omega)から元の関数f[n]への変換を式(31)に示す。式(31)を離散時間フーリエ逆変換という。

\tag{31} f[n] = \frac{1}{2\pi}\int_{-\pi}^{\pi}F(\omega)e^{j\omega n}d\omega

証明)

\begin{aligned} \frac{1}{2\pi}\int_{-\pi}^{\pi}F(\omega)e^{j\omega n}d\omega &= \frac{1}{2\pi}\int_{-\pi}^{\pi}(\sum_{m=-\infty}^{\infty}f[m]e^{-j\omega m})e^{j\omega n}d\omega \\ &= \frac{1}{2\pi}\sum_{m=-\infty}^{\infty}f[m]\int_{-\pi}^{\pi}e^{j\omega (n - m)}d\omega \\ &= (\ast) \end{aligned}

ここで、n = mのとき

\int_{-\pi}^{\pi}1d\omega = 2\pi

である。n\neq mのときl = n - mとすると

\begin{aligned} \int_{-\pi}^{\pi}e^{j\omega l}d\omega &= \frac{1}{j l}\left[e^{j\omega l}\right]^{\pi}_{-\pi} \\ &= \frac{1}{jl}(e^{j\pi l} - e^{-j\pi l}) \\ &= \frac{1}{jl}(\cos(\pi l) + j\sin(\pi l) - \cos(\pi l) + j\sin(\pi l)) \\ &= \frac{2\sin(\pi l)}{l} \\ &= 0 \quad (\because n, m \in \mathbb{Z} \Rightarrow \sin l\pi = 0) \end{aligned}

である。よって、式(\ast)n = mの時のみを考慮すれば良いため

\begin{aligned} (\ast) = \frac{1}{2\pi}f[n]2\pi = f[n] \end{aligned}

が成り立つ(証明終了)。

離散フーリエ変換の導出

 式(29)より、離散時間フーリエ変換を行えるのは不連続で非周期な関数のみである。不連続で周期的な関数f[n]に対して離散時間フーリエ変換を行うと、変換して得られた関数F(\omega)は元の関数f[n]の1周期分の総和を無限に足し合わせることになる。そのため、F(\omega)はほとんどの場合で無限大に発散する。
 そこで、F(\omega)についてf[n]を1周期分だけ足し合わせることを考える。元の関数f[n]が周期Nの周期関数であるとする。f[n]が1周期内でN個の値を取るので、F(\omega)はデルタ関数が一定間隔で並んだようなスペクトルになり、N個だけ値を取る。このとき、F(\omega)の取る値は無限大に発散する。また、式(30)よりF(\omega)は周期2\piの周期関数であるため、1周期内でF(\omega)が値を取る\omega\omega = \frac{2\pi}{N}k(k = 0, 1, \cdots, N - 1)となる。よって、式(29)

\tag{32} F[k] = \sum_{n = 0}^{N - 1}f[n]e^{-j\frac{2\pi}{N}kn} (k = 0, 1, \cdots, N - 1)

と変形できる。式(32)を離散フーリエ変換という。
 離散フーリエ変換を行って得られた関数F[k]から元の関数f[n]への変換を式(33)に示す。式(33)を離散フーリエ逆変換という。

\tag{33} f[n] = \frac{1}{N}\sum_{k = 0}^{N - 1}F[k]e^{j\frac{2\pi}{N}kn}(n = 0, 1, \cdots, N - 1)

証明)

\begin{aligned} \frac{1}{N}\sum_{k=0}^{N-1}F[k]e^{j\frac{2\pi}{N}kn} &= \frac{1}{N}\sum_{k=0}^{N-1}(\sum_{m=0}^{N-1}f[m]e^{-j\frac{2\pi}{N}km})e^{j\frac{2\pi}{N}kn} \\ &=\frac{1}{N}\sum_{m=0}^{N-1}f[m]\sum_{k=0}^{N-1}e^{-j\frac{2\pi}{N}k(n-m)} \\ &= (\ast) \end{aligned}

ここで、n \neq mのとき

\sum_{k=0}^{N-1}e^{-j\frac{2\pi}{N}k(n-m)}

は初項1、公比e^{-j\frac{2\pi}{N}k(n - m)}、項数Nの等比数列であるため

\begin{aligned} \sum_{k=0}^{N-1}e^{-j\frac{2\pi}{N}k(n-m)} &= \frac{1 - (e^{-j\frac{2\pi}{N}k(n - m)})^N}{1 - e^{-j\frac{2\pi}{N}k(n - m)}} \\ &= \frac{1 - 1}{1 - e^{-j\frac{2\pi}{N}k(n - m)}} \quad (\because k, n, m \in \mathbb{Z} \Rightarrow e^{-j2\pi k(n-m)} = 1) \\ &= 0 \end{aligned}

である。n = mのとき

e^{-j\frac{2\pi}{N}k0} = 1

なので

\sum_{k=0}^{N-1}1 = N

である。よって、(\ast)n = mの時のみ考慮すれば良いため

(\ast) = \frac{1}{N}f[n]N = f[n]

が成り立つ(証明終了)。

まとめ

 本章では、フーリエ級数展開、フーリエ変換、離散時間フーリエ変換、離散フーリエ変換を導出した。表1に元の関数と、変換を行うことで得られる関数の周期性と連続性の関係を示す。

 表1より、元の関数が周期的な場合は、変換後に必ず不連続になることが分かる。これは、周期的な関数は有限個の波をスペクトルと共に足し合わせることで表現できることを示している。
 さらに表1より、元の関数が不連続な場合は、変換後に必ず周期的になることが分かる。元の関数がN個の値からなる不連続な関数であるとき、それらの値が周期2\pi上に配置される。配置された各点の値がスペクトルとなるため周期的になる。
 音声信号処理や物理学などの分野では、式(23)で示したフーリエ変換や式(32)で示した離散フーリエ変換のt, nは時刻、e^{j\omega t}は角周波数\omegaをもつ複素正弦波の波を表す。つまり、fにフーリエ変換や離散フーリエ変換を行うことで得られる関数Fは、fに角周波数\omegaの波がどれだけ含まれているかを求める式であると解釈できる。そのため、元の関数fは時間領域、変換して得られた関数Fは周波数領域、もしくはスペクトル領域と呼ばれている。