離散フーリエ変換行列
📂フーリエ解析離散フーリエ変換行列
説明
離散フーリエ変換discrete Fourier transform, DFTはフーリエ変換を有限次元ベクトル、つまりデジタル信号に適用できるように変形したものである。離散フーリエ変換の定義は次の通りである。
次のように定義される線形変換 FN:CN→CNを離散フーリエ変換(DFT)という。
FN(a)=a^,a^m=n=0∑N−1e−i2πmn/Nan(0≤m<N)
ここでa=(a0,a1,…,aN−1)、a^=(a^0,a^1,…,a^N−1)∈CNである。
言い換えると、この変換は行列の積として表すことができる。 F=[Fij]を離散フーリエ変換行列としよう。すると定義に従ってFは次のようになる。
F=111⋮11e−i2π/Ne−i4π/N⋮e−i2(N−1)π/N1e−i4π/Ne−i8π/N⋮e−i4(N−1)π/N⋯⋯⋯⋱⋯1e−i2(N−1)π/Ne−i4(N−1)π/N⋮e−i2(N−1)(N−1)π/N
このとき、ω=e−i2π/Nと表せば、
F=111⋮11ωω2⋮ωN−11ω2ω4⋮ω2(N−1)⋯⋯⋯⋱⋯1ωN−1ω2(N−1)⋮ω(N−1)2
したがって、N次元ベクトルxの離散フーリエ変換x^は次の通りである。
x=Fx
逆変換は定義に従って符号だけを変えればよい。ω=ei2π/Nと表せば、
F−1=N1111⋮11ωω2⋮ωN−11ω2ω4⋮ω2(N−1)⋯⋯⋯⋱⋯1ωN−1ω2(N−1)⋮ω(N−1)2=N1F
2次元離散フーリエ変換
2次元のN×N行列X=[x1x2⋯xN]が与えられているとしよう。
2次元離散フーリエ変換はそれぞれの行と列に対して1次元DFTを適用するものである。
それぞれの列に対してDFTを適用することは、行列積の定義により次のようになる。
FX
それぞれの行に対してDFTを適用するには、行と列を入れ替えればよく、これは転置行列である。
(FXT)T=XFT
したがって、2次元離散フーリエ変換は次のようになる。
X=FXFT
逆変換は次の通りである。
X=N21FXFT
実装する