banner
IWSR

IWSR

我永远喜欢志喜屋梦子!

フーリエ級数からフーリエ変換へ

Games101 の第 6 講ではフーリエ変換に関する内容が含まれており、授業後に少し時間をかけてこのことを理解しました(大学で学んだことはありますが、ほとんど忘れてしまいました)。そこで、学びの心得を記録するためにこの記事を書きました。

参考資料として、私は DR_CAN 先生の『純粋な数学的推導』シリーズを強くお勧めします!この記事のほとんどは彼の講義のノートです。

この記事では、以下のいくつかの側面から順に推導します。

  • 三角関数の直交性
  • 周期が 2 π\pi の関数のフーリエ級数展開
  • 周期が T の関数のフーリエ級数展開
  • フーリエ級数の複素形式
  • 非周期関数のフーリエ級数展開

注意が必要なのは、私の知識が不足しているため、フーリエ級数展開の公式の証明を提供することはできません。G=mg の理由を証明できないのと同じように、真理は直接使う方が簡単かもしれません。しかし、理解できないことが不快な読者には、王繼良先生が書いた記事をお勧めします。この文章では、フーリエが熱伝導方程式からフーリエ級数をどのように抽出したかの過程が詳しく説明されています。

フーリエ級数展開 : f(x)=a02+Σn=1+(ancosnx+bnsinnx)f(x) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx + b_{n}\sin nx)

三角関数の直交性#

もし関数 f (x) と g (x) が存在し、両者が abf(x)g(x)dx=0\int_{a}^{b} f(x)g(x) dx = 0 を満たすならば、我々は関数 f (x) と g (x) が区間 [a, b] で直交していると呼びます。

三角関数 0(sin0),1(cos0),sinx,cosx,sin2x,cos2x.....sinnx,cosnx0(\sin 0), 1(\cos 0), \sin x, \cos x, \sin 2x, \cos 2x..... \sin nx, \cos nx は区間 [- π\pi, π\pi ] で直交します。

{ππcos(nx)sin(mx)dx=0,ππcos(nx)cos(mx)dx=0,nmππsin(nx)sin(mx)dx=0nm\begin{cases} \int_{-\pi}^{\pi} \cos (nx) \sin (mx) dx = 0, \\ \int_{-\pi}^{\pi} \cos (nx) \cos (mx) dx = 0, & n \neq m \\ \int_{-\pi}^{\pi} \sin (nx) \sin (mx) dx = 0 & n \neq m \end{cases}

上記の積分は三角関数の積和公式を用いて証明できますが、ここではその計算過程の一つを参考として示します。

ππcos(nx)sin(mx)dx=12ππsin(n+m)xdx12ππsin(nm)xdx=12[1n+mcos(n+m)xππ+1nmcos(nm)xππ]=0\int_{-\pi}^{\pi} \cos (nx) \sin (mx) dx = \frac{1}{2} \int_{-\pi}^{\pi} \sin(n+m)x dx - \frac{1}{2} \int_{-\pi}^{\pi} \sin(n-m)x dx \\ = \frac{1}{2} [-\frac{1}{n+m} \cos (n+m)x |_{-\pi}^{\pi} + \frac{1}{n-m} \cos (n-m)x |_{-\pi}^{\pi}] \\ = 0

では、n = m の場合はどうなるでしょうか?sin と cos の組み合わせでは影響はありませんが、cos と cos または sin と sin の場合は、同じ三角関数を掛け合わせて積分することになります。以下に cosmx\cos mxcosmx\cos mx の組み合わせの解法を示します。

ππcos(mx)cos(mx)dx=ππ1+cos(2m)x2dx=12(x+12msin2mx)ππ=π\int_{-\pi}^{\pi} \cos (mx) \cos (mx) dx = \int_{-\pi}^{\pi} \frac{1 + \cos (2m)x}{2} dx \\ = \frac{1}{2} (x + \frac{1}{2m} \sin{2mx})|_{-\pi}^{\pi} = \pi

ここで導出した結果を覚えておいてください。次のセクションでこれらを使用します。

周期が 2 π\pi の関数のフーリエ級数展開#

最初にフーリエ級数の関連公式を直接示しました。次に、三角関数の直交性を利用して公式内の係数を求める方法を紹介します。

a0a_{0} の求め方#

フーリエ級数展開公式の両辺を π-\pi から π\pi まで積分します。

ππf(x)dx=ππ(a02+Σn=1+(ancosnx+bnsinnx))dx=ππa02dx+anππΣn=1+1cosnxdx+bnππΣn=1+1sinnxdx\int_{-\pi}^{\pi} f(x) dx \\ = \int_{-\pi}^{\pi} (\frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx + b_{n}\sin nx)) dx \\ = \int_{-\pi}^{\pi} \frac{a_0}{2} dx + a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} 1 \cos nx dx + b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} 1 \sin nx dx

両辺を積分すると、1、 cosnx\cos nx と 1、 sinnx\sin nx の組み合わせが明らかに見えます。三角関数の直交性により、これらの組み合わせの積分結果は必ず 0 であることがわかります。したがって、以下の等式を直接消去できます。

ππf(x)dx=ππa02dx=a02ππ1dx=a02xππ=a0π\int_{-\pi}^{\pi} f(x) dx = \int_{-\pi}^{\pi} \frac{a_0}{2} dx \\ = \frac{a_0}{2} \int_{-\pi}^{\pi} 1 dx \\ = \frac{a_0}{2} x|_{-\pi}^{\pi} \\ = a_{0} \pi

したがって、a0a_{0} は次のように求められます。

a0=12ππf(x)dxa_{0} = \frac{1}{2}\int_{-\pi}^{\pi} f(x) dx

ana_{n} の求め方#

フーリエ級数展開の両辺に cosmx\cos mx を掛けて積分します。

ππf(x)cosmxdx=ππ(a02cosmx+Σn=1+(ancosnxcosmx+bnsinnxcosmx))dx=a02ππ1cosmxdx+anππΣn=1+cosnxcosmxdx+bnππΣn=1+sinnxcosmxdx\int_{-\pi}^{\pi} f(x) \cos mx dx \\ = \int_{-\pi}^{\pi} (\frac{a_0}{2} \cos mx + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx \cos mx + b_{n}\sin nx \cos mx)) dx \\ = \frac{a_0}{2} \int_{-\pi}^{\pi} 1 \cos mx dx + a_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \cos nx \cos mx dx + b_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \sin nx \cos mx dx

この時、三角関数の直交性により a02ππ1cosmxdx\frac{a_0}{2} \int_{-\pi}^{\pi} 1 \cos mx dxbnππΣn=1+sinnxcosmxdxb_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \sin nx \cos mx dx を直接削除できます。結局、どちらも 0 になるからです。しかし、中央の anππΣn=1+cosnxcosmxdxa_{n} \int_{-\pi}^{\pi} \varSigma_{n=1}^{+\infty} \cos nx \cos mx dx は直接削除できません。なぜなら、m=nm = n の場合、その積分結果は π\pi になるからです。

したがって、次のようになります。

ππf(x)cosmxdx=anπ\int_{-\pi}^{\pi} f(x) \cos mx dx = a_{n} \pi

変形すると、

an=1πππf(x)cosmxdxa_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos mx dx

bnb_{n} の求め方#

フーリエ級数展開の両辺に sinmx\sin mx を掛けて積分します。

ππf(x)sinmxdx=ππ(a02sinmx+Σn=1+(ancosnxsinmx+bnsinnxsinmx))dx\int_{-\pi}^{\pi} f(x) \sin mx dx = \int_{-\pi}^{\pi} (\frac{a_0}{2} \sin mx + \varSigma_{n=1}^{+\infty}(a_{n}\cos nx \sin mx + b_{n}\sin nx \sin mx)) dx

証明過程は省略しますが、上記の考え方と同じで、次のようになります。

bn=1πππf(x)sinmxdxb_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin mx dx

周期が T の関数のフーリエ級数展開#

周期が T の関数の展開方法は少し巧妙で、全体的にはパラメータの変換を通じて式を強制的に π\pi の形に変えることです。

T = 2L とすると、f (t) = f (t + 2L) となります。

x = πL\frac{\pi}{L} t とすると、t = Lxπ\frac{Lx}{\pi} となり、f (t) = f ( Lxπ\frac{Lx}{\pi} ) となります。

tx
00
2L2 π\pi
4L4 π\pi

g (x) を f ( Lπ\frac{L}{\pi} (x)) と見なすと、上表の対応関係から、g (x) のグラフは f (t) に対応します。例えば、f (2L) = g (2 π\pi) という具合です。g (x) の周期は 2 π\pi ですが、前のセクションで周期が 2 π\pi の関数のフーリエ展開の係数をすでに得ています。

{a0=12ππg(x)dxan=1πππg(x)cosnxdxbn=1πππg(x)sinnxdx\begin{cases} a_{0} = \frac{1}{2}\int_{-\pi}^{\pi} g(x) dx \\ a_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} g(x) \cos nx dx \\ b_{n} = \frac{1}{\pi} \int_{-\pi}^{\pi} g(x) \sin nx dx \end{cases}

次に、x = πL\frac{\pi}{L} t を代入します。

{cosnx=cosnπLtsinnx=sinnπLtππ1dx=LL1dπtLg(x)=f(t)\begin{cases} \cos nx = \cos \frac{n \pi}{L}t \\ \sin nx = \sin \frac{n \pi}{L}t \\ \int_{-\pi}^{\pi} 1 dx = \int_{-L}^{L} 1 d\frac{\pi t}{L} \\ g(x) = f(t) \end{cases}

これにより、周期が T のフーリエ級数展開が得られます。

f(t)=a02+Σn=1+(ancosnπLt+bnsinnπLt)f(t) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos \frac{n \pi}{L}t + b_{n}\sin \frac{n \pi}{L}t)

ここで(計算過程は省略、解法は前のセクションと一致します)

{a0=1LLLf(t)dtan=1LLLf(t)cosnπLtdtbn=1LLLf(t)sinnπLtdt\begin{cases} a_{0} = \frac{1}{L}\int_{-L}^{L} f(t) dt \\ a_{n} = \frac{1}{L} \int_{-L}^{L} f(t) \cos \frac{n \pi}{L} t dt \\ b_{n} = \frac{1}{L} \int_{-L}^{L} f(t) \sin \frac{n \pi}{L} t dt \end{cases}

L を T に置き換えると、次のようになります。

f(t)=a02+Σn=1+(ancos2nπTt+bnsin2nπTt)f(t) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n}\cos \frac{2n \pi}{T}t + b_{n}\sin \frac{2n \pi}{T}t)
{a0=2T0Tf(t)dtan=2T0Tf(t)cos2nπTtdtbn=2T0Tf(t)sin2nπTtdt\begin{cases} a_{0} = \frac{2}{T}\int_{0}^{T} f(t) dt \\ a_{n} = \frac{2}{T} \int_{0}^{T} f(t) \cos \frac{2 n \pi}{T} t dt \\ b_{n} = \frac{2}{T} \int_{0}^{T} f(t) \sin \frac{2 n \pi}{T} t dt \end{cases}

フーリエ級数の複素形式#

このセクションではオイラーの公式を使用します。オイラーの公式の証明については後で別の記事を書く予定です(証明にはテイラー展開が必要ですが、オイラー自身はこの方法で得たわけではありません)。

eiθ=cosθ+isinθe^{i\theta} = \cos \theta + i \sin \theta
{eiθ=cosθ+isinθeiθ=cosθ+isinθ=cosθisinθ\begin{cases} e^{i\theta} = \cos \theta + i \sin \theta \\ e^{i-\theta} = \cos -\theta + i \sin -\theta = \cos \theta - i \sin \theta \end{cases}

上式から得られるのは、

{sinθ=eiθeiθ2i=ieiθeiθ2cosθ=eiθ+eiθ2\begin{cases} \sin \theta = \frac{e^{i \theta} - e^{-i \theta}}{2i} = -i \frac{e^{i \theta} - e^{-i \theta}}{2} \\ \cos \theta = \frac{e^{i \theta} + e^{- i \theta}}{2} \end{cases}

x=2πtTx = \frac{2 \pi t}{T} と置き、この式をフーリエ級数に代入すると、

f(x)=a02+Σn=1+(aneinx+einx2ibneinxeinx2)=a02+Σn=1+anibn2einx+Σn=1+an+ibn2einxf(x) = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty}(a_{n} \frac{e^{i nx} + e^{- i nx}}{2} -i b_{n} \frac{e^{i nx} - e^{-i nx}}{2}) \\ = \frac{a_0}{2} + \varSigma_{n=1}^{+\infty} \frac{a_{n} - i b_{n}}{2} e^{i nx} + \varSigma_{n=1}^{+\infty} \frac{a_{n}+i b_{n}}{2} e^{-i nx}

次の変換は頭が痛くなるかもしれませんが、理解できれば「なるほど、こういうことか」と感じるでしょう。

a02\frac{a_{0}}{2}Σn=00a02einx\varSigma_{n=0}^{0} \frac{a_{0}}{2} e^{i nx} と見なすことができます。なぜなら、n = 0 のとき、 einxe^{i nx} も 1 になるからです。

Σn=1+einx\varSigma_{n=1}^{+\infty} e^{-i nx} の変形も面白く、n を -1 から - \infty と見なすと、式は Σn=1einx\varSigma_{n=-1}^{-\infty} e^{i nx} になります。

したがって、得られるのは、

f(x)=Σn=+Cneinxf(x) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i nx}

x を置き換えると、

f(t)=Σn=+Cnei2nπTtf(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i \frac{2 n \pi}{T} t}

ここで、

Cn={a02,n=0anibn2n=1,2,3...an+ibn2n=1,2,3...Cn = \begin{cases} \frac{a_{0}}{2}, & n = 0 \\ \frac{a_{n} - i b_{n}}{2} & n = 1,2,3... \\ \frac{a_{-n}+i b_{-n}}{2} & n = -1, -2, -3... \end{cases}

前のセクションで周期 T の関数のフーリエ級数展開をすでに求めました。

{a0=2T0Tf(t)dtan=2T0Tf(t)cos2nπTtdtbn=2T0Tf(t)sin2nπTtdt\begin{cases} a_{0} = \frac{2}{T}\int_{0}^{T} f(t) dt \\ a_{n} = \frac{2}{T} \int_{0}^{T} f(t) \cos \frac{2 n \pi}{T} t dt \\ b_{n} = \frac{2}{T} \int_{0}^{T} f(t) \sin \frac{2 n \pi}{T} t dt \end{cases}

代入すると、

Cn={1T0Tf(t)dt,n=01T0Tf(t)(cos2nπTtisin2nπTt)dtn>01T0Tf(t)(cos2nπTtisin2nπTt)dtn<0Cn = \begin{cases} \frac{1}{T}\int_{0}^{T} f(t) dt, & n = 0 \\ \frac{1}{T} \int_{0}^{T} f(t) (\cos \frac{2n\pi}{T} t - i \sin \frac{2n\pi}{T} t) dt & n > 0 \\ \frac{1}{T} \int_{0}^{T} f(t) (\cos \frac{2n\pi}{T} t - i \sin \frac{2n\pi}{T} t) dt & n < 0 \end{cases}

表現が少し見苦しいので、オイラーの公式を使って簡略化します。

cos2nπTisin2nπT=cos2nπT+isin2nπT=ei2nπT\cos \frac{2n\pi}{T} - i \sin \frac{2n\pi}{T} = \cos -\frac{2n\pi}{T} + i \sin -\frac{2n\pi}{T} = e^{-i \frac{2n\pi}{T}}
Cn={1T0Tf(t)dt,n=01T0Tf(t)ei2nπTtdtn>01T0Tf(t)ei2nπTtdtn<0Cn = \begin{cases} \frac{1}{T}\int_{0}^{T} f(t) dt, & n = 0 \\ \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{2n\pi}{T} t} dt & n > 0 \\ \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{2n\pi}{T} t} dt & n < 0 \end{cases}

注意してください。代入後、n > 0 と n <0 の結果は同じです。さらに、n = 0 を見てみると、実はその表現も n> 0 と n < 0 と同じであることがわかります(n=0 を代入すると ei2nπTe^{-i \frac{ 2n \pi }{T}} の結果は 1 になります)。

したがって、CnC_{n} の表現は次のように統一できます。

Cn=1T0Tf(t)ei2nπTtdtC_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i \frac{ 2n \pi }{T} t} dt

この時、ω0\omega_{0}2πT\frac{ 2 \pi }{T} (工学上の角速度)とすると、

Cn=1T0Tf(t)einω0tdtC_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i n \omega_{0} t} dt

これにより、フーリエ級数の複素形式が得られます。

{f(t)=Σn=+Cneinω0tCn=1T0Tf(t)einω0tdt\begin{cases} f(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i n \omega_{0} t} \\ C_{n} = \frac{1}{T} \int_{0}^{T} f(t) e^{-i n \omega_{0} t} dt \end{cases}

次に小さな変換を行います。

積分の上下限を [-T/2, T/2] に置き換え、元の式に代入すると(周期関数の定積分の上下限は、差が 1 周期であれば結果は同じです)。

{f(t)=Σn=+Cneinω0tCn=1TT2T2f(t)einω0tdt\begin{cases} f(t) = \varSigma_{n = -\infty}^{+\infty} C_{n} e^{i n \omega_{0} t} \\ C_{n} = \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-i n \omega_{0} t} dt \end{cases}

非周期関数のフーリエ級数展開#

非周期関数のフーリエ級数展開の処理も非常に巧妙で、基本的な考え方は非周期関数を 無限周期 の周期関数と見なし、その後周期関数の展開公式を使用して変換することです。

1T\frac{1}{T}ff とし、T = \infty なので ff は無限小に近づきます。したがって、

f(t)=Σn=+(f(t)einω0tdt)einω0tff(t) = \varSigma_{n = -\infty}^{+\infty} (\int_{-\infty}^{\infty} f(t) e^{-i n \omega_{0} t} dt) e^{i n \omega_{0} t} f

見覚えのある形ではありませんか(定積分の定義)?ff は無限に近づくため、ω0=2πT=2πf\omega_{0} = \frac{ 2 \pi }{T} = 2 \pi f に基づいて 和を積分に変える ことができます。

f(t)=(f(t)ei2πftdt)ei2πftdff(t) = \int_{-\infty}^{\infty} (\int_{-\infty}^{\infty} f(t) e^{-i 2 \pi f t} dt) e^{i 2 \pi f t} df

ただし、皆さんはおそらく次の形式の方がなじみがあるでしょう。

f(t)=12π(f(t)eiωtdt)eiωtdωf(t) = \frac{1}{ 2 \pi } \int_{-\infty}^{\infty} (\int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt) e^{i \omega t} d \omega

二つの表現方法は実際には同じで、単に一つは周波数から出発し、もう一つは角速度から出発するだけです。

ここで、

F(ω)=f(t)eiωtdtF(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt

はフーリエ変換です。

また、

f(t)=12πF(ω)eiωtdωf(t) = \frac{1}{ 2 \pi } \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} d \omega

はフーリエ逆変換です。

参考資料#

純粋な数学的推導_フーリエ級数とフーリエ変換_Part5_フーリエ級数からフーリエ変換を導出

IoT の最前線実践 - フーリエ級数

Bilibili 初公開!草履虫でも理解できる【フーリエ変換】の解説、清華大学の李永楽先生がフーリエ変換の理解方法を教えます。美顔と声変換の原理を見分ける...

フーリエ変換の視覚的表示

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。