2018年8月23日木曜日

畳み込みのフーリエ変換に出現する$2\pi$

2つの関数$g(x), h(x)$の畳み込み積分$g*h$のフーリエ変換$\mathcal{F}[g*h]$の公式をみると色々とバリエーションがあって混乱するので整理してみた.

同じ畳み込みなのに公式いろいろ

gh=g(y)h(xy)dy

畳み込み積分がこのように定義されているとすると,そのフーリエ変換は次のように,各関数のフーリエ変換の単純な積になる. ただし,資料によっては積の前に$2\pi$がついていたり,ついていなかったり. 明らかにこれらは異なるものなので,ちょっと混乱してしまう.

F[gh]= F[g]F[h]F[gh]= 2πF[g]F[h]F[gh]= 2πF[g]F[h]

結論だけいうと,この違いはフーリエ変換の定義の違いからくるもの. 後で示してるようにこの違いの原因には逆変換は関与しなくて順変換だけが影響してくる.つまり, 両辺のフーリエ変換の順変換の回数が異なる(左辺1回,右辺2回)ため,フーリエ変換の順変換側についている係数の積が等しくなるように$\sqrt{2\pi}$などの係数が出現しているだけと考えたら覚えやすい.

フーリエ変換の定義いろいろ

そのフーリエ変換の定義はなんと3つもある(もっとあるかも).

F[g]=g(x)eiωxdx,  g(x)=12πF[g](x)eiωxdωF[g]=12πg(x)eiωxdx,  g(x)=12πF[g](x)eiωxdωF[g]=12πg(x)eiωxdx,  g(x)=F[g](x)eiωxdω

なぜこんな異なる定義があるのかというと,フーリエ変換した後,逆変換して,もとに戻ってくれば問題ないから. それさえ満たせば係数はどのようにでも定義可能で,どれが正しいというものでもない. だから,フーリエ変換にまつわる公式を使う場合は,自分がどの定義を使っているのか認識して,一貫して同じ定義から導出される公式を使わないとおかしなことになる.工学系の教科書では一番上の定義が多い,らしいけど,どれも結構な頻度で現れるし,ネット上の資料だとどの定義から出てきたものか書いてないことが多い.

周波数としての代わりに波数$f=\omega/2\pi$が用いられる場合

これもややこしいんだけど,周波数空間を表す変数として,位相角ではなくて,$2\pi$分の波の数で表す場合がある. この場合もフーリエ変換の定義式が異なり次のようになる.

F[g]=g(x)ei2πfxdx,  g(x)=F[g](f)ei2πfxdfF[g]=12πg(x)eiωxdx,  g(x)=12πF[g](ω)eiωxdωF[g]=g(x)eiωxdx,  g(x)=12πF[g](ω)eiωxdω

ただし,この場合は水平軸の単位が異なるだけなので,垂直軸方向の振幅自体に影響はなくて,上とまったく同じ使い分けをすれば良い.

どこでそんな違いが出てくるのか,証明までさかのぼってみた.

$2\pi$が出現する瞬間

フーリエ順変換の前についている係数が$1$だったり$\frac{1}{\sqrt{2\pi}}$だったり$\frac{1}{2\pi}$だったりして全部確認するのは面倒なので,これらの係数をまとめて全部${\color{red}A}$とおいてみる.$\def\A{{\color{red}A}}$

\A=1, 12π, or12π

目立つように大文字かつ赤字で.フーリエ順変換の定義が登場するたびにこの${\color{red}A}$がでてくるのでそこに注意.

F[gh] = \A(g(y)h(xy)dy)eiωxdx= \Ag(y)(h(xy)eiωxdx)dy= \Ag(y)(h(t)eiω(t+y)dt)dy= \Ag(y)(h(t)eiωtdt)eiωydy

外側のフーリエ順変換の中に更にフーリエ順変換っぽい形が見えてきたけど係数$\A$が無いのでここではまだフーリエ順変換の定義とはみなさないでおく.ここで両辺に$\A$を掛ける.

\A F[gh]= \Ag(y)(\Ah(t)eiωtdt)eiωydy= \Ag(y)F[h]eiωydy= \Ag(y)eiωydy F[h]F[gh]= \A F[g]F[h]

はい,ついに出てきました!この通り順変換の前の係数だけに依存して畳み込みのフーリエ変換の公式が変化することが分かりました.めでたしめでたし.