フーリエ級数ビルダー

単純な正弦波から複雑な波を合成する

インタラクティブシミュレーションを読み込んでいます...

レッスン

理論 — フーリエ級数ビルダー

フーリエ級数とは、どれほどギザギザな周期波でも、ひとつの基本周波数の整数倍の純粋な正弦波の和である、という主張です。和は一項ずつ組み立てられ、目標波形の上に重ねて描かれます。興味深いのは等しいという語です。和は、目標が連続しているところではどこでも目標に到達します。そうでないところで何が起きるかを教えてくれるのが Peak の行です。

各記号の意味

N
足し合わせている項の数。スライダーは 20 まで。級数の行は使っている係数をすべて書き出します。
k
倍音の番号 — その項が基本周波数の何倍を担うか。矩形波と三角波は奇数の k だけを、のこぎり波はすべての k を使います。
aₖ
第 k 倍音の係数で、級数の行に表示されます。その大きさはその周波数の重みを表し、係数がどれだけ速く小さくなるかが収束の速さを決めます。
Peak
max|fN(x)|、部分和の最も高い点。目標の振幅は 1 なので、この行が実際に問うているのは「和は行き過ぎたか」です。

公式の導き方

  1. ページから係数を読み取ってください。矩形波では級数の行に 1.273 sin(x) + 0.4244 sin(3x) + 0.2546 sin(5x) + … と出ます。これは k = 1, 3, 5 における 4/(kπ) です。当てはめは一切ありません。係数は積分から出てくるもので、波形ごとに固有です。
  2. どの倍音が欠けているかに注目してください。矩形波と三角波が奇数の k しか使わないのは、どちらも f(x + π) = −f(x) を満たすからです。半周期ずらすと符号が反転する。偶数倍音にはそれができません。のこぎり波にはこの対称性がないので、すべての倍音が要ります。「Harmonics used」の行がそれをそのまま述べています。
  3. 最初の係数だけで収束の速さが分かります。矩形波は 4/π = 1.273 で 1/k のように減衰、三角波は 8/π² = 0.8106 で 1/k²、のこぎり波は 2/π = 0.6366 で 1/k。減衰が速いほど同じ忠実度に必要な項数は少なくて済みます。三角波が他の二つよりずっと早く完成して見えるのはそのためです。
  4. では絵ではなく Peak の行を見てください。跳びのない目標なら、ピークは 1 まで上がってそこで止まるはずです。跳びのある目標では、まったく別のことが起きます。この講義の残りはその話です。

表示の読み方

形を三角波にして N を 1 から上げてみてください。ピークは 0.8106、0.9006、0.9331、0.9596 …、N = 20 で 0.9899。下から 1 に近づき、決して超えません。次に矩形波へ。1.273、1.2、1.188、1.182 … そしてそこで止まります。1.179 のまま、いくら倍音を足しても動きません。最後にのこぎり波。0.6366、0.827、0.9185、そして N = 5 で 1.008 — 1 を越えます — N = 20 では 1.131 で、まだ上がり続けています。三つの形、まったく異なる三つの物語が、この一行に出ます。誤解を招くのはのこぎり波です。これだけを見れば、行き過ぎは際限なく増えると結論してしまうでしょう。そうではありません。矩形波と同じ 1.179 に向かっているのです。ただし下側から。

前提
20 項あれば傾向が見えること、そしてピークが標本化で求められていること。RMS の行は 1 周期を 801 点で評価しており、ピークはその中の最大値であって、解いて求めた最大値ではありません。どちらも収束を眺めるには十分で、証明には不十分です。
成り立たない場合
行き過ぎは決して消えません。あの平らな 1.179 は級数が根負けした値ではありません。極限は (2/π)·Si(π) = 1.17898… であり、倍音を無限に足しても尖りは細くなるだけで低くはなりません。つまり級数は矩形波に各点ごとには収束し、一様には決して収束しない。この現象が教えるために存在する区別そのものです。これはこのページの見かけの矛盾も説明します。上の考察は約 8.95%、この行は 17.9% と言っています。どちらも正しい。振幅 1 に対する 0.179 は、跳び 2 に対しては 0.0895 だからです。マイケルソンは 1898 年、自作の調和解析機でこの尖りに出会い、機械の不具合を疑いました。翌年ギブズは Nature に、それをしているのは真鍮ではなく数学のほうだと書き送りました。

回転ベクトルが波形を作る仕組み 🖖

各回転ベクトルは調波インデックスkの正弦波成分を1つ受け持ちます。ベクトルを先端からつなげて足し合わせると部分和fN(x)ができます。Nが大きくなるほど高周波成分が角を鋭くしますが、跳躍点付近では有限なギブスのオーバーシュートが残ります。

周期波はすべて正弦波の和音 🖖

フーリエの洞察はこうです。どれほどギザギザな周期信号でも、基本波の整数倍の周波数をもつ純粋な正弦波の和で表せます。スライダーは、この「材料」となる波をいくつ重ねるかを選ぶだけです。矩形波には奇数次の高調波だけが現れ、次第に弱くなります。第3次は基本波の振幅の1/3、第5次はわずか1/5です。項を増やすほど和は目標の波形に近づき、角が鋭くなります。

決して消えない9%のオーバーシュート 🖖

不連続な跳びの近くでは、部分和が跳びの高さの約8.95%だけ行き過ぎます。しかもこの尖りは、高調波をいくら足しても小さくならず、幅が狭くなるだけです。物理学者マイケルソンは1898年、機械式の調和解析器が矩形波の端に頑固な尖りを描き続けるのを見て、装置の故障を疑いました。しかしJ. ウィラード・ギブズは、機械が正しいことを証明しました。この行き過ぎは本物の数学なのです。同じ「リンギング」は、JPEG画像の鋭い輪郭の近くにも現れます。

フーリエ理論 — なぜ波によって必要な高調波の数が違うのか

波形を読む:高調波はどれだけ速く減衰するか

どんな周期波も正弦波の和です。和が正しく見えるまでに何個必要かは好みの問題ではなく、目標とする波形がどれだけ滑らかかで決まります。跳びは角よりはるかに多くの高調波を要し、対称性は手間をただで半分にし、そして項をいくら足しても消えない誤差が1つあります。

矩形波 — 跳びがあるので 1/n 減衰 cn ∝ 1/n, n = 2k+1
のこぎり波 — 対称性のない跳びなので全高調波 cn ∝ 1/n, ∀n
三角波 — 跳びではなく角なので 1/n² 減衰 cn ∝ 1/n2, n = 2k+1
高調波1個 — 早く打ち切る代償 ε ≈ ∑n>N cn

01

矩形波 — 跳びがあるので 1/n 減衰

波形の特徴: 2つのレベル間の垂直な跳び、および半波対称性。

係数の減衰: cn ∝ 1/n, n = 2k+1

見えるもの: 高調波10個でも縁は鋭くなりますが、跳びの高さの約9%の行き過ぎが残ります。

この場合を開く: 矩形波、調波10個
矩形波 — 跳びがあるので 1/n 減衰. 高調波10個:縁は鋭くなるが、行き過ぎは残ったままです。 2つのレベル間の垂直な跳び、および半波対称性。
高調波10個:縁は鋭くなるが、行き過ぎは残ったままです。

02

のこぎり波 — 対称性のない跳びなので全高調波

波形の特徴: 1周期に1つの跳び。打ち消してくれる半波対称性はありません。

係数の減衰: cn ∝ 1/n, ∀n

見えるもの: 高調波10個:各跳びでリンギングし、1, 2, 3 … すべての高調波が寄与します。

この場合を開く: のこぎり波、調波10個
のこぎり波 — 対称性のない跳びなので全高調波. すべての高調波が寄与し、リンギングは各跳びの位置に現れます。 1周期に1つの跳び。打ち消してくれる半波対称性はありません。
すべての高調波が寄与し、リンギングは各跳びの位置に現れます。

03

三角波 — 跳びではなく角なので 1/n² 減衰

波形の特徴: 波そのものは連続で、跳ぶのは傾きだけです。

係数の減衰: cn ∝ 1/n2, n = 2k+1

見えるもの: 高調波8個ですでにほぼ目標どおりに重なり、行き過ぎはまったくありません。

この場合を開く: 三角波、調波8個
三角波 — 跳びではなく角なので 1/n² 減衰. 高調波8個が三角波をほぼ正確になぞり、リンギングはありません。 波そのものは連続で、跳ぶのは傾きだけです。
高調波8個が三角波をほぼ正確になぞり、リンギングはありません。

04

高調波1個 — 早く打ち切る代償

波形の特徴: 小さな N で和を打ち切りました。問題は何が取り残されたかです。

係数の減衰: ε ≈ ∑n>N cn

見えるもの: n = 1 の矩形波は正弦波1本です。周期は正しく、形は何もありません。

この場合を開く: 矩形波、調波1個
高調波1個 — 早く打ち切る代償. n = 1 と n = 10:周期は形よりずっと早く正しくなります。 小さな N で和を打ち切りました。問題は何が取り残されたかです。
n = 1 と n = 10:周期は形よりずっと早く正しくなります。
参考文献 (4)

全プロセスの詳細解説

  1. 矩形波を近似し1.182に達する5つのサイン波 5 ステップ

    矩形波を近似する5つの正弦波はオーバーシュートを起こし、矩形波の1に対して1.182に達する。項数を増やすことでこれが解消されるかどうかを検証する。

    1. 矩形波は奇関数であり半波対称性を持つため、計算を行う前にすべての偶数次高調波が消滅する。したがって5項とは k = 1, 3, 5, 7, 9 を意味する。パネルに表示された高調波リストは対称性の帰結であり、設定によるものではない。

    2. 部分和は跳躍点の近くでオーバーシュートする。N = 5 のとき、ピーク値は 1.182、RMS は 0.979 となり、元の正確な波形の RMS である 1 にすでに近い。つまりエネルギーはほぼ正確であるのに対し、エッジ付近の形状は正確ではない。

    3. ここで、明らかな解決策を試してみる。N = 1 でのピークは 1.273、N = 5 で 1.182、N = 50 で 1.179、N = 200 で 1.17898 となる。

    4. 収束はしているが、1 に収束しているわけではない。極限値は (2/π)·Si(π) = 1.17898 であり、項数をどれだけ増やしてもオーバーシュートが消えることはない。

    5. 実際に起きる変化は、オーバーシュートの幅が狭くなることである。不連続点に向かって移動し、占める幅がどんどん小さくなるため、ピーク誤差はゼロにならなくても RMS 誤差はゼロへと収束するのである。

    解答

    ツールは N = 5、高調波 1, 3, 5, 7, 9、ピーク値 1.182、RMS 0.979 と出力する。押さえておくべき結論は、ピークが 1.17898 に収束し、1 には収束しない ということである。これがギブス現象であり、引用には注意を要する。オーバーシュートは 跳躍量の 8.95% であり、この波形は −1 から +1 まで 2 だけ跳躍するため、同じ事実を振幅の 17.9% と読むこともできる。両方の数値が正しく、一方を他方に置き換えることはできない。また、これは数値計算上のアーティファクト(誤認産物)でもない。極限が不連続であるときの各点収束の挙動そのものであり、JPEG やオーディオフィルターで鋭いエッジ周辺にリンギングが生じる理由である。

学習の道すじ

円運動と波は同じ運動

例題