フーリエ変換 — 回る円で周波数を測る
「この信号には、どの高さの成分がどれだけ入っているか」。それを数学で測る道具がフーリエ変換です。主役は回転する矢印(複素指数 eiωt)。円を回し、信号を円に巻き付け、重心を測る — 3つのアニメーションで ∫f(t)e−iωtdt の意味を体でつかみます。
1. 主役は「回る矢印」 — 複素指数 eiωt
フーリエ変換を理解する第一歩は、「周波数」を「回転の速さ」と読み替えることです。複素平面の単位円上を一定速度で回る点 eiωt を考えると、その実部(影)は cos 波、虚部は sin 波になります。つまり「f Hz の波」とは「1秒に f 回転する矢印の影」のことです。
下のデモで回転の速さを変えて、円運動と波形が同じものの2つの見え方であることを確かめてください。
回転ベクトル eiωt — 円運動の影が波になる
左=複素平面(縦軸が実部 Re、横軸が虚部 Im)。青い矢印の先端が eiωt。右=先端の実部だけを時間方向に流した軌跡(水色)= cos 波。回転を速くすると波が細かくなります。
eiωt = cos ωt + i·sin ωt
オイラーの公式。ω = 2πf(角周波数)。「回る矢印」は cos と sin を1本にまとめた表現
POINT — 周波数 = 回転数
以降の話はすべて「f Hz の成分」を「1秒に f 回転する円」と読み替えて進む。フーリエ変換とは、信号にどの回転数の円がどれだけ含まれるかを測る操作である。
2. 信号を円に巻き付ける — 変換の本体
信号 g(t) に e−iωt を掛けるとは、波形をグラフ用紙からはがして、周波数 ω で円にぐるぐる巻き付けることです。すると面白いことが起きます。
- ほとんどの巻き付け周波数では、波の山と谷が円のあちこちに散らばり、図形の重心はほぼ中心に残る。
- ところが巻き付け周波数が信号の成分周波数に一致した瞬間、山が全部同じ側に整列し、重心が大きく片側にズレる。
下のデモの信号は 2 Hz と 5 Hz だけを混ぜた波です。巻き付け周波数を動かして(または自動スイープで)、重心が跳ね上がる場所を探してください。
巻き付けマシン — 重心の位置が「成分の量」になる
左=信号を円に巻き付けた図形(水色)と、その重心(赤い点)。右=巻き付け周波数ごとの重心の x 座標。スライダーを動かした場所に点が貯まっていき、2 Hz と 5 Hz でだけ鋭いピークが立ちます。これがスペクトルの正体です。
F(ω) = ∫ f(t)·e−iωt dt
e−iωt を掛ける = 周波数 ω で巻き付ける / ∫ dt = 巻き付けた図形の重心を求める(×時間の長さ)
注意 — 重心は複素数(x座標だけが答えではない)
上のデモでは重心の x 座標(実部)だけをプロットしている。位相が90°ズレた成分(sin 型の成分)は重心の y 座標(虚部)側に現れる。だから実際のスペクトルでは、原点から重心までの距離 |F(ω)| = √(x² + y²) を「成分の量」、重心の方向を「位相」として読む。
3. 逆再生 — 円を重ねると波が描ける
ここまでは「波 → 円の成分表」の方向でした。逆に、成分表どおりに円を重ねて回すと元の波が描けるはずです(逆変換・フーリエ級数)。円の上に円を載せ、その上にまた円を載せて回す — この仕掛けをエピサイクルと呼びます。
角ばった矩形波ですら、円の足し算で描けます。項数を増やして、なめらかな円運動の合成がカクカクの波に近づいていく様子を見てください。
エピサイクル — 回る円の足し算が矩形波を描く
各円の半径が「その周波数の成分の量」、回転速度が周波数(1倍・3倍・5倍…)。先端(オレンジ)の高さの軌跡が水色の波。項数を増やすほど緑点線の矩形波に近づきますが、角の近くの小さな「ツノ」(ギブス現象、約9%のはみ出し)は消えません。
矩形波 = (4/π)·( sin ωt + 1⁄3 sin 3ωt + 1⁄5 sin 5ωt + … )
奇数次の倍音だけを 1/k の重みで足す。円の半径がそのまま係数 1/k になっている
4. まとめ — フーリエ変換は「回転数の成分表」
- eiωt:1秒に ω/2π 回転する矢印。周波数とは回転の速さのこと。
- e−iωt を掛ける:信号を周波数 ω で円に巻き付ける。
- ∫ dt:巻き付けた図形の重心を求める。成分があれば重心がズレ、なければ打ち消されて中心に残る。
- 逆変換:成分表どおりに円を重ねて回せば、元の波形が再生される。
一歩先へ — コンピュータは積分できない
ここで扱った ∫ dt は連続時間の積分で、そのままではコンピュータで計算できない。実際の音声処理では、サンプリングされた有限個の点で同じ「巻き付けて重心」を行う。それが次章の DFT(離散フーリエ変換)であり、その計算を劇的に速くするアルゴリズムが FFT だ。