フーリエ変換を直観的に理解する(信号を純粋な周波数へ解きほぐす)

ピアノの鍵盤を3つ同時に押すと、楽器からは1本のもつれ合った圧力波が飛び出します。それはあなたの鼓膜に、3本ではなく1本の揺らぐ線として届きます。それにもかかわらず、内耳はその線を苦もなく3つの音へと分け直し、訓練を積んだ音楽家であれば和音の名前まで言い当てます。空気と意識のあいだのどこかで、混ざり合った信号が純粋な周波数へと解きほぐされているのです。
この解きほぐしには名前があります。フーリエ変換とは、音であれ画像の1行であれ株価であれ橋の振動であれ、あらゆる信号を受け取り、その中に潜む純粋な周波数の一覧として書き直す数学の機械です。スマートフォンが音声を圧縮できるのも、MRI が画像を作り出せるのも、技術者ががたつくエンジンを眺めて「これは400ヘルツ成分だ」と言えるのも、すべてこの機械のおかげです。
多くの学生にとって、フーリエ変換との出会いは暗記すべき数式としてやってきます。中に複素指数関数が居座る積分で、なぜそうなるのかの説明はどこにもありません。この記事では、その描像を土台から組み上げていきます。近縁の道具であるラプラス変換は最近取り上げましたが、読み終える頃には、この2つが同じ機械のダイヤルを違う位置に合わせただけのものだと見えてくるはずです。
同じものを語る2つの記述
ケーキのレシピを思い浮かべてください。完成したケーキを説明するのに、内部のあらゆる点で何が観察されるかを、層ごとに、パンくずの粒ごとに列挙することもできます。あるいは、材料を列挙して説明することもできます。小麦粉200グラム、卵3個、砂糖100グラム。どちらの記述も同じケーキを指しています。一方はものがどこにあるかを語り、もう一方は何でできているかを語っているのです。
信号にも、まったく同じ2つの記述があります:
- 時間領域は、あらゆる瞬間における信号の値を列挙します。0.001秒における鼓膜の圧力、0.002秒における圧力、というように。これが現実世界で信号が届く形です。
- 周波数領域は材料を列挙します。440ヘルツのサイン波がどれだけ、523ヘルツがどれだけ、そしてあらゆる周波数がどれだけ含まれているか。これこそフーリエ変換が生み出すものです。
熱伝導の研究の中で1822年に初めて発表されたフーリエの洞察は、この材料表が完全であるということでした。どれほどぎざぎざであっても、まともな信号であれば、滑らかなサイン波の和から寸分違わず再構成できます。どこかに隠れた第3の材料などありません。サインだけで足りるのです。
サイン波がアルファベットである理由
なぜ四角波でも三角波でもなく、サインなのでしょうか。それはサイン波が、物理が気にかける操作をくぐり抜けても形を変えない唯一の波だからです。
サイン波を微分するとコサインになります。これは同じ波を4分の1周期ずらしたものです。もう一度微分すると負のサインになります。やはり同じ形が、係数を伴って現れるだけです。三角関数の記事で見たように、サイン波とは円を横から眺めた姿であり、円を回転させても円以外の何かに化けることは決してありません。
サイン波をバネに、回路に、あるいはコンサートホールに送り込んでみてください。出てくるのは同じ周波数のサイン波です。音量が変わったり遅れたりはしても、形が変わることはありません。技術者はこうした性質を持つ系を線形時不変系と呼びます。そしてほぼすべての物理系が、少なくとも近似的にはこれに当てはまります。
周波数領域が役に立つ理由は、すべてここにあります。系が各々の純粋な周波数に対して何をするかが分かっていて、任意の入力を純粋な周波数へと分解できるなら、その系があらゆる入力に対して何をするかが分かるのです。「この橋にトラックが乗ったら何が起きるか」という難問は、「この橋は1ヘルツで何をするか、2ヘルツでは、3ヘルツでは」という易しい問題の一覧へと姿を変えます。
巻き付け機械
さて、仕組みの話に入りましょう。ある信号があり、その中に特定の周波数、たとえば毎秒3サイクルの成分がどれだけ潜んでいるかを知りたいとします。この問いに答える、物理的な手順があります。
信号のグラフを用意します。それは時間軸に沿って引かれた1本の線です。この線を、信号の時間1秒あたり3回転という巻き付け速度で、円のまわりに巻き付けていきます。信号が大きいところでは、巻き付いた線は中心から遠く離れ、信号が小さいところでは中心に寄り添います。こうして原点のまわりに描かれた1つの走り書きが得られます。
次に、その走り書きの重心を求めます。
もし信号が3ヘルツの成分をまったく含んでいなければ、信号の山と谷は円のまわりのばらばらな角度に着地します。それらは打ち消し合い、重心は原点近くにとどまります。しかし信号が3ヘルツ成分を実際に含んでいれば、その山は周回を重ねるたびに円の同じ側へと着地します。それらは積み上がり、重心は原点から大きく振れて離れていきます。
これをあらゆる巻き付け速度について繰り返し、重心の原点からの距離を巻き付け速度に対してプロットすれば、あなたはフーリエ変換を描いたことになります。プロットに現れる山が、信号に含まれる周波数です。核心はこれで全部です。残りはすべて記法にすぎません。
数式を1つずつ読み解く
巻き付け機械を記号で書き下すと、こうなります:
それぞれの部品が、手順の各ステップに対応しています。
巻き付け。 因子 が回転を担います。オイラーの公式により となり、これは角周波数 ω で単位円上を時計回りに動く点です。t が進むにつれてこの点は回ります。その回転が巻き付けであり、ω が巻き付け速度です。
巻き取り。 積 が走り書きです。長さ1で回転する点に信号値 f(t) を掛けることで、点は外へ伸ばされたり内へ引き寄せられたりします。大きな信号値は点を中心から遠くへ押しやり、小さな値は内側へ引き込みます。この積が、前節の走り書きをそのままなぞるのです。
重心こそが積分。 走り書きの位置をあらゆる瞬間について、時間の始まりから終わりまで足し合わせ、その結果を1つの複素数として扱うと、原点からの距離が ω における信号の共鳴の強さを表すような1点が得られます。厳密にはこれは平均ではなく総和なので、信号の継続時間に応じて大きさが変わりますが、スペクトルの形は同じです。
結果 は ω ごとに1つの複素数であり、その両方の部分に意味があります。絶対値はその周波数の振幅、すなわちレシピにその材料がどれだけ入っているかを表します。偏角は位相、つまりその材料が周期のどこから始まるかを表します。2つの信号が全周波数で同じ振幅を持ちながら、位相が違うためにまったく別の音に聞こえる、ということも起こり得ます。
なぜサインではなく指数関数なのか
核がサイン波ではなく複素指数関数なのはなぜか、と学生はよく尋ねます。結局のところ、信号に を掛けて積分することだってできるはずです。
問題は位相です。信号が周波数 ω のコサインを含んでいるときに、同じ周波数のサインでそれを調べると、サインとコサインは4分の1周期ずれているため、積の平均はゼロになってしまいます。その周波数は完全に存在しているのに、存在しないという結論を出すことになるのです。あらゆる位相を捕まえるには、サインに対する検査とコサインに対する検査の2回が必要で、その結果を組み合わせなければなりません。
複素指数関数は、その2つの検査を一度に済ませます。実部がコサイン検査、虚部がサイン検査であり、それらが1つの回転する対象に包まれているのです。周波数がどんな位相でやって来ようとも、回転のどこかの部分がそれと足並みを揃えます。得られた複素数の絶対値は2回の検査を組み合わせた結果そのものであり、偏角は位相をおまけで教えてくれます。虚数の記事では i を回転として説明しましたが、ここではその回転が実直な工学の仕事をこなしているわけです。
負の周波数は間違いではない
積分は負の値も含めたすべての ω にわたって走り、実信号の変換は必ず負の側に鏡像を示します。これが多くの人を落ち着かなくさせます。負の周波数とは、物理的に何を意味するというのでしょうか。
もう一度オイラーの公式を見てみましょう。実数のコサインは、2つの回転の平均です:
第1項は速さ ω で反時計回りに、第2項は同じ速さで時計回りに回ります。ω での時計回りの回転こそ、変換が周波数マイナス ω として記録するものです。実数値の信号はこの2つの向きを区別できないため、常に両方を等量含んでおり、スペクトルは対称になります。
実信号にとって負の側は新しい情報を運びません。実務でも正の側だけをプロットすることがよくあります。しかし両側を残すことで数式は対称に保たれ、無線や MRI のように2つの回転の向きが本当に異なる複素数値の信号にも、同じ変換をそのまま使えるようになります。
帰りの旅路
レシピをケーキへと戻す作業が、逆フーリエ変換です:
これは1つの指示書として読めます。あらゆる周波数 ω について、その材料を だけ取り出し、その速さで反時計回りに回し、すべてを足し合わせよ。指数の符号がマイナスからプラスへ反転しているのは、いま巻き付けるのではなく巻き戻しているからです。2π という因子は帳尻合わせで、1周が2πラジアンであることを補正しています。教科書によっては両方の変換に を振り分けて対称にしますし、周波数をラジアン毎秒ではなくヘルツで測ることで完全に隠してしまう流儀もあります。変わるのは定数だけで、物理は変わりません。
この1組の数式は、ほとんど完璧に対称です。その対称性は深い示唆を含んでいます。時間と周波数は1つの対象の2つの眺め方であり、どちらが本質的ということはないのです。
微分がふたたび掛け算に変わる
ラプラス変換は、微分を s の掛け算に変えることでその価値を証明しました。フーリエ変換は、iω を使って同じ芸当をやってのけます。
逆変換の式を t で微分してみましょう。t が現れる場所は の中だけであり、その微分は係数 iω を引きずり下ろします:
つまり のフーリエ変換は、単に です。時間で微分するという操作は、各周波数成分に iω を掛けることに相当します。高い周波数は増幅され、低い周波数は抑えられ、すべての成分が4分の1回転だけ回されます。微分がノイズの多い信号をさらに騒がしくするのは、まさにこれが理由です。ノイズは高周波数に住んでおり、微分はそれらに大きな数を掛けるのです。
同じ論理により、定数係数の微分方程式は ω に関する代数方程式へと姿を変えます。物理学者が波動方程式や熱伝導方程式を解くのはこの筋道です。フーリエがこの道具を発明したのも、まさにその目的のためでした。
フーリエとラプラス:1台の機械、2つのダイヤル設定
2つの変換を並べてみましょう:
ラプラス変換の記事では、s を2つのツマミを持つダイヤルとして説明しました。 における σ は指数関数的な減衰、ω は振動を司ります。減衰のツマミをゼロに合わせて σ = 0、すなわち s = iω とすれば、ラプラスの核 はフーリエの核 になります。フーリエ変換とは、s平面の虚軸に沿って評価したラプラス変換なのです。
もう1つの違いは積分の下限です。ラプラスが t = 0 から始まるのは、スイッチを入れる瞬間と初期条件を持つ因果的なシステムのために作られているからです。フーリエが全時間にわたって走るのは、ずっと前から存在し、これからも存在し続ける定常的な信号のために作られているからです。伸ばし続けられた音、搬送波、途切れないハム音といったものです。
どちらを使うかは問いから決まります。過渡現象、スイッチ、初期条件ならラプラス。スペクトル、フィルタ、定常振動ならフーリエです。減衰のツマミがあるからこそ、ラプラスはフーリエ積分では吸収しきれない際限なく増大する信号も扱えます。そして両側にわたる積分があるからこそ、フーリエは始まりを持たない信号を記述できるのです。
逃れられないトレードオフ
最後にもう1つの性質が、驚くほど多くの物理現象を説明してくれます。時間的に狭い信号は周波数的に広く、周波数的に狭い信号は時間的に広くなります。両方を同時に手に入れることはできません。
純粋なサイン波は単一の周波数を持つので、そのスペクトルは1本のスパイクです。しかし純粋なサイン波は永遠に続きます。それを1秒に切り詰めると、スペクトルは元の周波数のまわりに広がります。1ミリ秒に切り詰めれば、はるかに大きく広がります。極限では、瞬間的なクリック音はあらゆる周波数を等しく含みます。拍手がホワイトノイズのように聞こえ、音叉が1つの音として聞こえるのは、このためです。
巻き付けの描像を思い出せば、これは一目瞭然です。短い信号の断片は、どんな巻き付け速度でも円のまわりを数回しか回らないため、重心にはきれいに打ち消し合う機会がありません。近い巻き付け速度の多くが、どれも似たようなそこそこの値を返してしまいます。長い信号は何千回も巻き付き、ぴったり一致する速度だけが打ち消し合いを生き延びます。
量子力学では、位置と運動量がフーリエ対をなしており、このまったく同じトレードオフがハイゼンベルクの不確定性原理です。それは測定の限界ではありません。波というものの性質なのです。
つまずきはどこから来るのか
フーリエ変換を扱う学習者のつまずきは、決まって3つの場所に現れます。
第1は、位相を捨ててしまうことです。プロットされるのは振幅スペクトルなので、学生は変換を振幅の一覧にすぎないと考え始めます。すると の偏角を捨てたせいで、逆変換の結果が狂ってしまいます。変換とは複素数の一覧であり、それぞれの数の半分は偏角なのです。
第2は、符号と定数の混乱です。教科書によって2πの置き場所も指数の符号の取り方も異なりますが、順変換と逆変換が整合してさえいれば、そのどれもが正しいのです。1つの流儀を選び、両方の数式をノートの冒頭に書き出し、簡単な関数を変換して逆変換したときに元へ戻ることを確かめてください。
第3は、有限の信号にきれいなスペクトルを期待してしまうことです。現実の測定は有限なので、そのスペクトルには必ず前節で見た広がりが現れ、さらに端での急な打ち切りによる波打ちも加わります。これは計算の誤りではありません。トレードオフが自己主張しているだけであり、それを手なずけるために窓関数が存在するのです。
Math Zen が果たす役割
フーリエ変換は3つの技能の上に立っています。直観が力を発揮する前に、これらが自動化されている必要があります。三角関数の公式、複素指数関数、そして積の積分です。
と複素指数関数の行き来に意識的な努力を要するようでは、あるいは を手で積分するのが心もとないようでは、変換はいつまでもブラックボックスに見え続けます。Math Zen は、そうした部品を短い日々の練習で鍛え上げます:
- 三角関数: 加法定理や倍角公式、そしてその背後にある円の描像への習熟を、三角関数の演習モジュールで。
- 複素数: 極形式、オイラーの公式、掛け算による回転を、複素数の演習モジュールで。
- 変換: 微分の変換を含む、同じ核積分の仕組みを、ラプラス変換の演習モジュールで。
これらが反射になったとき、フーリエ変換は数式であることをやめ、本来の姿を現します。信号のレシピを読み取る巻き付け機械です。
核心のまとめ
フーリエ変換は、信号を「各時刻での値はいくらか」という記述から「どの周波数がどれだけ含まれているか」という記述へと書き換えます。それが成り立つのは、サイン波が物理系を通り抜けても形を変えない波だからです。だからこそ、信号の周波数成分を知ることは、任意の線形系がその信号にどう応答するかを知ることになります。
数式は巻き付け機械です。 が信号を速さ ω で円に巻き付け、積分が重心を求め、重心が原点から遠ければその周波数が含まれています。複素指数関数はあらゆる位相を一度に捕まえ、負の周波数はすべての実信号が携える鏡像であり、逆変換は逆向きに回すことで巻き戻します。
ラプラス変換の減衰ツマミをゼロに合わせれば、そこにあるのはフーリエ変換です。スイッチと過渡現象にはラプラスを、スペクトルと定常信号にはフーリエを。そしてどちらを使うにせよ、時間的に短い信号は必ず周波数的に広いということを忘れないでください。
よくある質問
- フーリエ変換は実際に何をしているのですか?
- 時間に沿って記述された信号を受け取り、純粋な周波数のレシピとして書き直しています。あらゆる瞬間における信号の値を列挙する代わりに、どの周波数のサイン波がどれだけ、どの位相で含まれているかを列挙するのです。情報量はまったく同じで、変わるのは記述の仕方だけです。いつ何が起きるかという語りから、どの周波数が関わっているかという語りへと移ります。
- なぜフーリエ変換はサインやコサインではなく複素指数関数を使うのですか?
- 複素指数関数 e^(iωt) は、コサインとサインを1つの回転する対象の中に束ねています。そのおかげで、たった1本の積分で各周波数の振幅と位相の両方を捉えられます。サインとコサインを別々に扱っても答えは同じですが、周波数ごとに2本の積分が必要になり、回転という美しい描像も失われてしまいます。
- フーリエ変換とラプラス変換の違いは何ですか?
- どちらも指数関数の核を信号にぶつけて調べる道具です。ラプラス変換は複素数 s = σ + iω を用いた e^(-st) を使うため、振動だけでなく減衰も探り、t = 0 から先へと進みます。フーリエ変換は σ = 0 と置き、全時間にわたって積分するので、純粋な振動だけを探ります。フーリエ変換とは、虚軸上に限定したラプラス変換にほかなりません。
- なぜフーリエ変換には負の周波数が現れるのですか?
- 実数値のコサインは、反時計回りの回転の半分と、時計回りの回転の半分の和として書けます。この時計回りの成分が負の周波数の正体です。実信号は必ず鏡像のスペクトルを生み出し、負の側には新しい情報は含まれていません。しかし両側を残しておくことで、複素信号にも同じ変換が使え、数式も対称に保たれます。
- 逆フーリエ変換はどのように計算しますか?
- 同じ積分を逆向きに走らせます。各周波数成分に e^(+iωt) を掛けて足し合わせ、2π で割るのです。ただし実務では、積分を直接評価するよりも、標準的な変換対応表とパターン照合し、平行移動やスケーリング、微分公式といった性質を組み合わせて逆変換を読み取る場合がほとんどです。


