フーリエ変換の直感的な理解

フーリエ変換の計算はできるけどいまいち本質が理解できない

 理工系ならほぼ100%の人がフーリエ変換ないしフーリエ級数展開を学習していると思います。周期関数を沢山の正弦波の重ね合わせで表現できるという事実はとても実用性があり、様々な場面で使われています。ゆえに計算はとりあええず出来るという方が大半だと思いますが、本質を直感的に理解できる人はあまりいないかもしれません。

 そんな方に向けてフーリエ変換の直感的な理解を書いていきます。あくまで直感的な理解に重点を置いているので、厳密性は皆無となっております。なおフーリエ級数展開は理解しているものとして話を進めていますので、先にフーリエ級数展開を学習しておくことをおすすめします。

初めに結論としては

  • F(\omega)というのは角周波数\omegaの正弦波の振幅を表す
  • 周期関数f(t)に特定の角周波数\omega_nを持った正弦波を掛けることでf(t)から\omega_nの成分のみを取り出す

となります。

スポンサーリンク

フーリエ変換の直感的な理解

 理工系方ならとりあえずフーリエ変換の計算はできると思います。以下の式で与えられますよね。ちなみにjは虚数単位、f(t)は周期関数、\omegaは各周波数(1秒あたり何回転するか)です。
フーリエ変換

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

フーリエ逆変換

{ \displaystyle
F(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{ j \omega t} dt
}

フーリエ変換で周波数成分が求まるのですが、いまいちこのF(\omega)が何を表しているのかが分かりませんし、この演算の意味もよく分かりません。この2つの意味を見ていきます。

F(\omega)の意味

 F(\omega)の意味を理解するには、フーリエ変換の前に学習したフーリエ級数展開を考えてみます。フーリエ級数展開を使うと、任意の実数の周期関数(周期T)は次のように表すことができます。

フーリエ級数展開
{ \displaystyle
f(t) = \sum_{k=0}^{\infty} \{a_n \cos(n\omega t) + b_n \sin(n\omega t)\}
}

ただし

{ \displaystyle
a_n =  \frac{2}{T} \int_{-\infty}^{\infty} f(t) \cos(n\omega t) dt \\
\displaystyle
b_n = \frac{2}{T} \int_{-\infty}^{\infty} f(t) \sin(n\omega t) dt
}

 このフーリエ級数展開を改めて考えてみます。フーリエ級数展開の式より「任意の周期関数は、角周波数 \omega,2\omega,3\omega,\cdots の正弦波(それぞれの正弦波は振幅が違う)の重ね合わせで出来ている」と言えます。例えば次の周期2\piの矩形波

{ \displaystyle
f(t)=\left\{ \begin{array}{}
-1 & (\pi < t < 0) \\
1 & (0 < t < \pi) \\
\end{array} \right.
}

をフーリエ級数展開すると

{ \displaystyle
f(t)=\frac{4}{\pi} \left\{ \sin(t) + \frac{1}{3}\sin(3t) + \frac{1}{5}\sin(5t) + \frac{1}{7}\sin(7t) + \cdots \right\}
}

上記のように表せます。これは上記の矩形波は\frac{4}{\pi}\sin(t), \frac{4}{3\pi}\sin(3t), \frac{4}{5\pi}\sin(5t),\cdotsの正弦波を全部足していったものですよね。 それぞれの正弦波には係数がついており、この係数がそれぞれの正弦波の振幅を表しています。なお係数(振幅)は上の定義式で求まります。

 こんな風にフーリエ級数展開では「任意の周期関数は、振幅が異なるたくさんの正弦波を足していけば表せる」という結果になりました。次はこの考えをフーリエ変換に適用します。

フーリエ変換

改めてフーリエ変換の定義式を見ていきます。 フーリエ変換はフーリエ級数展開で周期T = \inftyとしたときのお話でした。
フーリエ変換

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

フーリエ逆変換

{ \displaystyle
F(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{ j \omega t} dt
}

フーリエ変換の定義式とフーリエ級数展開の定義式を見比べてほしいのですが、ほぼ同じことをしています。F(\omega)を求めるのは、フーリエ級数展開でいうa_n,b_nを求めることにあたります。a_n,b_nというのは角周波数n\omegaの正弦波の振幅を表していましたよね。つまりF(\omega)というのは角周波数\omegaの正弦波の振幅を表しています

 なおフーリエ変換で得られるF(\omega)は複素関数なので、正確には複素正弦波e^{j \omega t}の振幅となります。複素正弦波e^{j \omega t}というのは複素平面上で1秒間に\omegaだけ回転する円弧です。よく分からない場合は無視して大丈夫です。

 一方のフーリエ逆変換は、フーリエ級数展開でいう

{ \displaystyle
f(t) = \sum_{k=0}^{\infty} \{a_n \cos(n\omega t) + b_n \sin(n\omega t)\}
}

の部分にあたります。要するにもとの関数に戻してあげる演算です。でもフーリエ級数展開ではf(t)=\cdots + \cdots + \cdotsとしたものが解になったのに、フーリエ変換ではF(\omega) = \cdotsとしたものが解になりましたよね。つまりフーリエ級数展開では元の関数の書き換えが解なのに、フーリエ変換では元の関数を構成する正弦波の振幅が解になりました。何故でしょうか…気持ち悪いですよね。

振幅が無限にあるから

 なぜか、それはフーリエ変換/級数展開で求める振幅の個数が違うからです。フーリエ級数展開で求める振幅は有限個か可算無限になります。例えば上の矩形波では\sin(t)\sin(3t)の間には\sin(1.4t)とか\sin(2.4353t)みたいな他の正弦波は存在しないですよね。

 でもフーリエ変換のほうはどうでしょうか。F(\omega) = \int_{-\infty}^{\infty} f(t) e^{- j \omega t} dtで与えられるので、\omega=1だろうが\omega=2.4353だろうが\omega=3.3333\cdotsだろうが値が存在します。つまりフーリエ変換で求まる振幅の個数は不可算無限となります。なので元の周期関数を書き換えるということがそもそも出来ないのです。したがって解の表し方がフーリエ級数展開とフーリエ変換で違います。

振幅を求める演算の意味

 次は上記の定義式で何故振幅が求まるのか見ていきます。これはフーリエ変換のほうが分かりやすいのでフーリエ変換で考えます。
 まずフーリエ変換で振幅を求めるこの式

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

この式を考えてみます。f(t)は数えられないくらい沢山の正弦波によって構成されています。そのf(t)e^{-j \omega t}を掛けるとどうなるか。上でフーリエ変換の場合は不可算個の正弦波で構成されると書きましたが、あえて可算個で考えてみると次のようになります。(厳密ではありません)

{ \displaystyle
f(t) = c_0 e^{j \omega_0 t} + c_1 e^{j \omega_1 t} + c_2 e^{j \omega_2 t} + \cdots
}

ちなみにc_0,c_1,\cdotsは振幅を表しています。これに\omega=\omega_1の場合を考え、f(t)e^{-j \omega t}を掛けます。すると

{ \displaystyle
\begin{eqnarray}
f(t) &=& c_0 e^{j (\omega_0-\omega_1) t}  + c_1 e^{j (\omega_1-\omega_1) t} + c_2 e^{j (\omega_2-\omega_1) t} + \cdots \\
&=& c_0 e^{j (\omega_0-\omega_1) t}  + c_1 + c_2 e^{j (\omega_2-\omega_1) t} + \cdots \\
\end{eqnarray}
}

こんなふうに\omega = \omega_1の部分だけ正弦波が消えました! このようにf(t)に特定の角周波数を持つ正弦波を掛けることで、うまいことその角周波数の正弦波のみを取り出すことができます。フーリエ級数展開の場合も同じように考え、特定の角周波数のものだけを取り出しています。

 このような考え方をすることで、フーリエ変換/級数展開で係数を求める方法の意味を理解してもらえたらと思います。厳密には直交性から示すんですが、難しいので感覚的な面だけ書いておきます。

まとめ

冒頭でも書きましたが、

  • F(\omega)というのは角周波数\omegaの正弦波の振幅を表す
  • 周期関数f(t)に特定の角周波数\omega_nを持った正弦波を掛けることでf(t)から\omega_nの成分のみを取り出す

となります。この記事でなんとなくフーリエ変換を理解できたら幸いです。

コメントを残す

(*) Required, Your email will not be published