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 初公開!ミジンコでも理解できる【フーリエ変換】の解説、清華大学の李永楽先生がフーリエ変換の理解方法を教えます。美顔と声変換の原理を見分ける...

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

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