7 フーリエ変換とffttsurumi/courses/imagepro/no7_1.pdf7. フーリエ変換とfft...
TRANSCRIPT
7. フーリエ変換とFFT
Fourier(1764~1830):仏の数学者
「すべての関数(波形)は三角関数(正弦波)の和として表現できる」
• フーリエ変換とは,時間(空間)の世界から,周波数 の世界へ変換する事 • 変換には,いろんな周波数の正弦波を用いる • 元のデータが,いろんな周波数のcos波やsin波に どれくらい似ているかを表す • 実部がcos波,虚部がsin波による変換結果となる
7.1 1次元フーリエ変換
1次元信号𝑓 𝑡 (周期𝑇)のフーリエ級数展開
𝑓 𝑡 = 𝑎0 + 𝑎𝑘𝑐𝑜𝑠𝑘𝜔𝑡 + 𝑏𝑘𝑠𝑖𝑛𝑘𝜔𝑡
∞
𝑘=1
ここで、 𝑎𝑘, 𝑏𝑘:フーリエ係数
𝑎0:直流成分あるいは平均値
𝑓0 =1
𝑇:基本周波数
𝜔 =2𝜋
𝑇
フーリエ係数
𝑎0 =1
𝑇 𝑓 𝑡 𝑑𝑡𝑇/2
−𝑇/2
𝑎𝑘 =2
𝑇 𝑓 𝑡 𝑐𝑜𝑠𝑘𝜔𝑡𝑑𝑡𝑇/2
−𝑇/2
𝑏𝑘 =2
𝑇 𝑓 𝑡 𝑠𝑖𝑛𝑘𝜔𝑡𝑑𝑡𝑇/2
−𝑇/2
フーリエ変換 FT
逆フーリエ変換 IFT
フーリエ係数 𝑓 𝑡
オイラーの公式exp jθ = 𝑐𝑜𝑠𝜃 + 𝑗𝑠𝑖𝑛𝜃を
用いて書き換える
𝑓 𝑡 = 𝐶𝑘exp(𝑗𝑘𝜔𝑡)
∞
𝑘=−∞
𝐶𝑘 =1
𝑇 𝑓 𝑡 exp(−𝑗𝑘𝜔𝑡)𝑑𝑡𝑇/2
−𝑇/2
また、
𝐶𝑘 =1
2𝑎𝑘 − 𝑗𝑏𝑘
𝐶−𝑘 =1
2𝑎𝑘 + 𝑗𝑏𝑘
が成り立つ 複素振幅
複素フーリエ級数表示
FT:
IFT:
スペクトル
• 振幅スペクトル
𝐶𝑘 =𝑎𝑘2+𝑏𝑘
2
2
• 位相スペクトル
∠𝐶𝑘 = 𝑡𝑎𝑛−1 −𝑏𝑘
𝑎𝑘
具体例1:
t 周波数
フーリエ変換
波の成分が全くないので,
周波数は0になります。
実部として扱われる
直流成分
(±が変化しない)
具体例2:
t
周波数 フーリエ変換
周波数f0のsin波なので,
・・
周波数 f0 虚部
実部
sin波成分は虚部に
現れるため実部は0。
sinとcosは直交関係
にあるため。
sin ω0t
・・
具体例3:
t
周波数 フーリエ変換
周波数f0のcos波なので,
周波数f0の位置に成分が得られる
・・ ・・
周波数
f0
虚部
実部
cos波成分は実部に
現れるため虚部は0。
cos ω0t
具体例4:
t
周波数
フーリエ変換
複雑な波形でも,それが周期f0の周期波形ならば,
・・
周波数
虚部
実部
+
+
f0の整数倍の周波数の
sin波とcos波の和で表現できる
f0
2f0 3f0 4f0
f0
2f0 3f0 4f0
フーリエ変換により
各周波数成分に分解
できる
これで何ができるか?
周波数
フーリエ変換
0 100 200-1
0
1
元の信号
(低周波)
0 5 10-1
0
1
ノイズ
(高周波)
0 5 10
-1
0
1
受信された信号
信号成分
ノイズ成分
ノイズ成分
カット 逆フーリエ変換
0 100 200-1
0
1
元の信号を復元できる
フーリエ変換の性質
フーリエ変換結果F(ω)には,次のような対称性がある
)(* FF
周波数
実部
f0
-f0 周波数 f0
虚部
-f0
実部はcos成分=偶関数 虚部はsin成分=奇関数
7.2 離散フーリエ変換 (DFT : Discrete Fourier Transform)
• ディジタルデータに対するフーリエ変換。
• コンピュータで計算→データは有限長。
• 得られた有限区間のデータを一周期と仮定し,それが周期的に連続しているものとしてフーリエ変換を考える。
)1,,2,1,0(2
exp:
)1,,2,1,0(2
exp1
:
1
0
1
0
NikiN
jCfIDFT
NkkiN
jfN
CDFT
N
k
ki
N
i
ik
具体例:
周波数 離散フーリエ変換
2周期分含まれているので
2サンプル目の位置に
成分が得られます。
周波数 虚部
実部 t (連続の場合) i (離散の場合)
データ区間長 T
i
Nkt
Tk
2sin
2sin
1/T : 空間周波数,k : Tに含まれる周期数
N : サンプリング数
2
1
1/T
sin成分のみなので
実部の成分は0です
DFTの性質
• 波形の拡大縮小 a倍した信号の振幅スペクトルの大きさはa倍されるが位相スペクトルは変化しない
• 波形の移動 信号を時間軸上でシフトすると位相スペクトルは変化するが振幅スペクトルは
変化しない
• 変数軸伸縮(相似波形) 周期と同じ比率でサンプリング周期を変えると同じフーリエ係数となる
• 周期性 フーリエ係数はNの周期をもつ
• 対称性 振幅スペクトルはN/2で左右対称、位相スペクトルはN/2で点対称となる
DFTの対称性と周期性
周波数
座標系(原点の位置) に注意!
原点が中央の時
原点が左端の時
N
同じデータになる
2
-2 N-2
DFTの例: (0~N-1でのDFT、原点は左端)
0 100 2000
1
2
サンプリング数N=256,
周期の数k=16
sin波+直流分
0 100 2000
100
200
実部。直流分のみ。
0 100 200
-100
0
100
虚部。16とN-16の位置に成分。
対称性に注意。
0 100 2000
20000
40000
60000
パワースペクトル
実部2+虚部2
サンプリング数N=256,
周期の数k=16
cos波+直流分
0 100 2000
1
2
実部。直流と,16および
N-16の位置に成分。
0 100 2000
100
200
虚部。成分は無し。
0 100 200
-100
0
100 パワースペクトル
0 100 2000
20000
40000
60000
DFTの例: (0~N-1でのDFT、原点は左端)
7.3 高速フーリエ変換(FFT)
• 重複する計算を削減することにより高速化
• N個のDFT→N/2個のDFTを2回でOK
• N/2個のDFT→N/4個のDFTを2回
• 2個のDFTの計算まで簡略化できる
• データ数は2n個でなければならない
• データがN個の場合
– DFT : N2回の乗算が必要
– FFT : Nlog2N回
FFTの仕組み
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
2点DFT
2点DFT
2点DFT
2点DFT
G(0)
G(1)
G(2)
G(3)
H(0)
H(1)
H(2)
H(3)
0
8W
7
8W
)0()0()0( 0
8 HWGX +
)3()3()7( 7
8 HWGX +
7.4 直交変換
あるデータを他のデータに変換する作業は,一般的に行列で表現される
3
2
1
0
3,32,31,30,3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
3
2
1
0
f
f
f
f
C
C
C
C
今,データ[fN]を,[CN]に変換する事を考える。N=4とする。
変換は次のように表現できる。
これは,例えば,4画素の画像を何か処理して新しい画像を得ることを表す。
この変換の式は,次のように表現できる。
NNNN fC
[CN]から[fN]を求めるには
NNNN Cf1
この逆変換の式が,つぎのように表現できるとき,
N
T
NNN Cf
つまり,
TNNNN 1
が成り立つとき, [ΦNN]を直交行列といい、この[ΦNN]による変換を,「直交変換」という。
直交変換行列の特徴
)(1
)(0,
1
0
,,nm
nmN
i
inimnm
このような特徴を持つベクトルφkを,正規直交基または基底と呼ぶ。
直交基底を用いた変換では,変換と逆変換が同じ行列で表現出来る。
直交変換の代表的な例がフーリエ変換。
直交行列は以下の関係を満たす。