7 フーリエ変換とffttsurumi/courses/imagepro/no7_1.pdf7. フーリエ変換とfft...

22
7. フーリエ変換とFFT Fourier(17641830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として 表現できる」 フーリエ変換とは,時間(空間)の世界から,周波数 の世界へ変換する事 変換には,いろんな周波数の正弦波を用いる 元のデータが,いろんな周波数のcos波やsin波に どれくらい似ているかを表す 実部がcos波,虚部がsin波による変換結果となる

Upload: dinhthu

Post on 25-Mar-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

7. フーリエ変換とFFT

Fourier(1764~1830):仏の数学者

「すべての関数(波形)は三角関数(正弦波)の和として表現できる」

• フーリエ変換とは,時間(空間)の世界から,周波数 の世界へ変換する事 • 変換には,いろんな周波数の正弦波を用いる • 元のデータが,いろんな周波数のcos波やsin波に どれくらい似ているかを表す • 実部がcos波,虚部がsin波による変換結果となる

Page 2: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

7.1 1次元フーリエ変換

1次元信号𝑓 𝑡 (周期𝑇)のフーリエ級数展開

𝑓 𝑡 = 𝑎0 + 𝑎𝑘𝑐𝑜𝑠𝑘𝜔𝑡 + 𝑏𝑘𝑠𝑖𝑛𝑘𝜔𝑡

𝑘=1

ここで、 𝑎𝑘, 𝑏𝑘:フーリエ係数

𝑎0:直流成分あるいは平均値

𝑓0 =1

𝑇:基本周波数

𝜔 =2𝜋

𝑇

Page 3: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

フーリエ係数

𝑎0 =1

𝑇 𝑓 𝑡 𝑑𝑡𝑇/2

−𝑇/2

𝑎𝑘 =2

𝑇 𝑓 𝑡 𝑐𝑜𝑠𝑘𝜔𝑡𝑑𝑡𝑇/2

−𝑇/2

𝑏𝑘 =2

𝑇 𝑓 𝑡 𝑠𝑖𝑛𝑘𝜔𝑡𝑑𝑡𝑇/2

−𝑇/2

フーリエ変換 FT

逆フーリエ変換 IFT

フーリエ係数 𝑓 𝑡

Page 4: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

オイラーの公式exp jθ = 𝑐𝑜𝑠𝜃 + 𝑗𝑠𝑖𝑛𝜃を

用いて書き換える

𝑓 𝑡 = 𝐶𝑘exp(𝑗𝑘𝜔𝑡)

𝑘=−∞

𝐶𝑘 =1

𝑇 𝑓 𝑡 exp(−𝑗𝑘𝜔𝑡)𝑑𝑡𝑇/2

−𝑇/2

また、

𝐶𝑘 =1

2𝑎𝑘 − 𝑗𝑏𝑘

𝐶−𝑘 =1

2𝑎𝑘 + 𝑗𝑏𝑘

が成り立つ 複素振幅

複素フーリエ級数表示

FT:

IFT:

Page 5: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

スペクトル

• 振幅スペクトル

𝐶𝑘 =𝑎𝑘2+𝑏𝑘

2

2

• 位相スペクトル

∠𝐶𝑘 = 𝑡𝑎𝑛−1 −𝑏𝑘

𝑎𝑘

Page 6: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

具体例1:

t 周波数

フーリエ変換

波の成分が全くないので,

周波数は0になります。

実部として扱われる

直流成分

(±が変化しない)

Page 7: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

具体例2:

t

周波数 フーリエ変換

周波数f0のsin波なので,

・・

周波数 f0 虚部

実部

sin波成分は虚部に

現れるため実部は0。

sinとcosは直交関係

にあるため。

sin ω0t

・・

Page 8: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

具体例3:

t

周波数 フーリエ変換

周波数f0のcos波なので,

周波数f0の位置に成分が得られる

・・ ・・

周波数

f0

虚部

実部

cos波成分は実部に

現れるため虚部は0。

cos ω0t

Page 9: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

具体例4:

t

周波数

フーリエ変換

複雑な波形でも,それが周期f0の周期波形ならば,

・・

周波数

虚部

実部

f0の整数倍の周波数の

sin波とcos波の和で表現できる

f0

2f0 3f0 4f0

f0

2f0 3f0 4f0

フーリエ変換により

各周波数成分に分解

できる

Page 10: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

これで何ができるか?

周波数

フーリエ変換

0 100 200-1

0

1

元の信号

(低周波)

0 5 10-1

0

1

ノイズ

(高周波)

0 5 10

-1

0

1

受信された信号

信号成分

ノイズ成分

ノイズ成分

カット 逆フーリエ変換

0 100 200-1

0

1

元の信号を復元できる

Page 11: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

フーリエ変換の性質

フーリエ変換結果F(ω)には,次のような対称性がある

)(* FF

周波数

実部

f0

-f0 周波数 f0

虚部

-f0

実部はcos成分=偶関数 虚部はsin成分=奇関数

Page 12: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

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

Page 13: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

具体例:

周波数 離散フーリエ変換

2周期分含まれているので

2サンプル目の位置に

成分が得られます。

周波数 虚部

実部 t (連続の場合) i (離散の場合)

データ区間長 T

i

Nkt

Tk

2sin

2sin

1/T : 空間周波数,k : Tに含まれる周期数

N : サンプリング数

1/T

sin成分のみなので

実部の成分は0です

Page 14: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

DFTの性質

• 波形の拡大縮小 a倍した信号の振幅スペクトルの大きさはa倍されるが位相スペクトルは変化しない

• 波形の移動 信号を時間軸上でシフトすると位相スペクトルは変化するが振幅スペクトルは

変化しない

• 変数軸伸縮(相似波形) 周期と同じ比率でサンプリング周期を変えると同じフーリエ係数となる

• 周期性 フーリエ係数はNの周期をもつ

• 対称性 振幅スペクトルはN/2で左右対称、位相スペクトルはN/2で点対称となる

Page 15: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

DFTの対称性と周期性

周波数

座標系(原点の位置) に注意!

原点が中央の時

原点が左端の時

N

同じデータになる

2

-2 N-2

Page 16: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

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

Page 17: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

サンプリング数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、原点は左端)

Page 18: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

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回

Page 19: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

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 +

Page 20: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

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画素の画像を何か処理して新しい画像を得ることを表す。

Page 21: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

この変換の式は,次のように表現できる。

NNNN fC

[CN]から[fN]を求めるには

NNNN Cf1

この逆変換の式が,つぎのように表現できるとき,

N

T

NNN Cf

つまり,

TNNNN 1

が成り立つとき, [ΦNN]を直交行列といい、この[ΦNN]による変換を,「直交変換」という。

Page 22: 7 フーリエ変換とFFTtsurumi/courses/ImagePro/No7_1.pdf7. フーリエ変換とFFT Fourier(1764~1830):仏の数学者 「すべての関数(波形)は三角関数(正弦波)の和として

直交変換行列の特徴

)(1

)(0,

1

0

,,nm

nmN

i

inimnm

このような特徴を持つベクトルφkを,正規直交基または基底と呼ぶ。

直交基底を用いた変換では,変換と逆変換が同じ行列で表現出来る。

直交変換の代表的な例がフーリエ変換。

直交行列は以下の関係を満たす。