菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke...

40
信号とシステム Signals and Systems 工学部情報学科 90810 加嶋 健司 京都大学大学院情報学研究科 数理工学専攻 6 回講義 平成 29 5 24 1/41

Transcript of 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke...

Page 1: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

信号とシステムSignals and Systems工学部情報学科 90810

加嶋健司

京都大学大学院情報学研究科数理工学専攻

第 6回講義 平成 29年 5月 24日

1/41

Page 2: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

第 4章 FFTとその応用

実際のスペクトル解析で良く使用される離散フーリエ変換 (DFT)について説明.DFTの高速算法としての FFTアルゴリズムの考え方を説明.

FFTの使用に際しての具体的な留意事項を説明.FFTの実際的な応用として,スペクトル解析,畳み込み,相関関数の計算,ケプストラム分析について概説.

はじめに 2/41

Page 3: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

今日の予定

1 FFT色々なフーリエ変換アルゴリズム補足

2 FFTの応用

FFT 3/41

Page 4: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

色々なフーリエ変換

フーリエ級数,フーリエ変換,DTFT (離散時間フーリエ変換),DFT (離散フーリエ変換)の関係

連続時間−∞ < f < ∞

離散時間− fc < f < fc

連続スペクトル−∞ < t < ∞ フーリエ変換 DTFT

離散スペクトル0 ≤ t ≤ P フーリエ級数 DFT

FFT 色々なフーリエ変換 4/41

Page 5: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

フーリエ級数x(t), 0 ≤ t ≤ P, −∞ < f < ∞

x(t) =∞∑

k=−∞cke j 2π

P kt

ck =1P

∫ P

0x(t)e− j 2π

P ktdt

周波数 1/Pの波を基本波とする調波構造を持った線スペクトル

−4 −2 0 2 4 6 8 10 12 14 16−1.5

−1

−0.5

0

0.5

1

1.5

t 0 0.5 1 1.5 2 2.5 3 3.5 40

0.5

1

1.5

FFT 色々なフーリエ変換 5/41

Page 6: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

フーリエ変換

x(t), −∞ < t < ∞, −∞ < f < ∞

X( jω) = F [x(t)] =∫ ∞

−∞x(t)e− jωtdt

x(t) = F−1[X( jω)] =1

∫ ∞

−∞X( jω)e jωtdω

周波数軸上の連続関数である連続スペクトル

−4 −2 0 2 4 6 8 10 12 14 16−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

−100 −80 −60 −40 −20 0 20 40 60 80 1000

10

20

30

40

50

60

70

FFT 色々なフーリエ変換 6/41

Page 7: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

離散時間フーリエ変換 (DTFT)

x(n), −∞ < n < ∞, − fc < f < fc = 1/2 (−π < ω < π)

X( jω) =∞∑

n=−∞x(n)e− jωn

x(n) =1

∫ π

−πX( jω)e jωndω

| f | > fc では − fc ≤ f ≤ fc の繰り返しの連続スペクトル

0 5 10 15 20 25 30 350

1

2

3

4

5

6

7

8

9

10

−40 −20 0 20 40 60 80 1000

10

20

30

40

50

60

70

FFT 色々なフーリエ変換 7/41

Page 8: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

離散フーリエ変換 (DFT)x(n), 0 ≤ n ≤ N − 1, − fc < f < fc = 1/2

Xk =

N−1∑n=0

x(n)e− j 2πN nk

x(n) =1N

N−1∑k=0

Xke j 2πN nk

| f | > fc では − fc ≤ f ≤ fc の繰り返しの離散スペクトル

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

−4 −2 0 2 4 6 8 10 12 14 160

5

10

15

20

25

30

35

40

FFT 色々なフーリエ変換 8/41

Page 9: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

DFTの演算

Xk =

N−1∑n=0

x(n)e− j 2πN nk x(n) =

1N

N−1∑k=0

Xke j 2πN nk

X0X1X2...

XN−1

=

1 1 1 · · · 11 e− j 2π

N e− j 4πN · · · e− j 2π(N−1)

N

1 e− j 2π×2N e− j 4π×2

N · · · e− j 2π(N−1)×2N

......

.... . .

...

1 e− j 2π(N−1)N e− j 4π(N−1)

N · · · e− j 2π(N−1)(N−1)N

x(0)x(1)x(2)...

x(N − 1)

Wnk = e− j 2π

N nk を変換核とする離散的な直交変換

FFT 色々なフーリエ変換 9/41

Page 10: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFT (Fast Fourier Transform)の考え方

N × N 行列と N 次元ベクトルの積の計算量 (乗算回数)は N2 のオーダー.

FFTはバタフライ演算により計算量を N log2 N のオーダーに削減.

N = 2ν (ν;正整数),回転因子WN = e− j 2πN とし,奇数番目と

偶数番目を分離.

Xk =

N−1∑n=0

x(n)WNnk

=

N2 −1∑n=0

x(2n)WN2nk +

N2 −1∑n=0

x(2n + 1)WN(2n+1)k

FFT アルゴリズム 10/41

Page 11: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

Xk =

N2 −1∑n=0

x(2n)WN2nk +

N2 −1∑n=0

x(2n + 1)WN(2n+1)k

=

N2 −1∑n=0

x(2n)(WN2)nk +WN

k

N2 −1∑n=0

x(2n + 1)(WN2)nk

=

N2 −1∑n=0

x(2n)W N2

nk +WNk

N2 −1∑n=0

x(2n + 1)W N2

nk

= Ek +WNkOk

Ek: 偶数番目の標本値列の N/2点 DFT.Ok: 奇数番目の標本値列の N/2点 DFT.

Ek+N/2 = Ek, Ok+N/2 = Okより, N点 DFTを N/2点 DFT 2回で実現.

FFT アルゴリズム 11/41

Page 12: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTのシグナルフローグラフN点 DFTの分割

N/2

-poi

nt D

FTN

/2-p

oint

DFT

x(0)

x(2)

x(N-2)

x(1)

x(3)

x(N-1)

E 0

E 1

E N/2-1

O0

ON/2-1

O1

X0

X1

XN/2-1

XN/2

XN/2+1

XN-1

W 0N

W 1N

W N/2-1N

W N/2N

W N/2+1N

W N-1N

Ek+N/2 = Ek Ok+N/2 = Ok

FFT アルゴリズム 12/41

Page 13: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

バタフライ演算の修正

WNN2 +i = −WN

i を利用して乗算の回数を削減.

E i

O i

X i

XN/2+i

W iN

W N/2+iN

E i

O i

X i

XN/2+i-1

(a) butterfly operation (b) modified butterfly operation

W iN

FFT アルゴリズム 13/41

Page 14: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

分割の繰り返し

x(0)

x(4)

x(N−4)

x(2)

x(6)

x(N−2)

x(1)

x(5)

x(N−3)

x(3)

x(7)

x(N−1)

N/4

N/4

N/4

N/4

WN0

WN2

WN2(N/4−1)

X0

X1

XN/4−1

XN/4

XN/4+1

XN/2−1

XN/2

XN/2+1

XN/2+N/4−1

XN/2+N/4

XN/2+N/4+1

XN−1−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

WN0

WN2

WN2(N/4−1)

WN0

WN1

WNN/4−1

WN0

WN1

WNN/4−1−1

u(0)

u(1)

U0

U1

2点 FFT

FFT アルゴリズム 14/41

Page 15: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

定位置計算

演算結果の格納に元の記憶場所をそのまま使える

x(0)

x(2)

x(4)

x(1)

x(3)

x(5)

X0

X1

X2

X3

X4

X5

W 08

x(6)

x(7)

W 08

W 08

W 08

-1

-1

-1

-1

W 08

W 28

W 08

W 28

-1

-1

-1

-1

W 08

W 28

W 18

W 38

-1

-1

-1

-1

X6

X7

FFT アルゴリズム 15/41

Page 16: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

ビット逆順配列

ビットを逆順にし,それを小さい順に並べている.

x(0)

x(2)

x(4)

x(1)

x(3)

x(5)

X0

X1

X2

X3

X4

X5

W 08

x(6)

x(7)

W 08

W 08

W 08

-1

-1

-1

-1

W 08

W 28

W 08

W 28

-1

-1

-1

-1

W 08

W 28

W 18

W 38

-1

-1

-1

-1

X6

X7

000

100

010

110

001

101

011

111

000

001

010

011

100

101

110

111

FFT アルゴリズム 16/41

Page 17: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの計算量

段数は log2 N − 1であり,1段当たりの乗算は N/2.

x(0)

x(4)

x(N−4)

x(2)

x(6)

x(N−2)

x(1)

x(5)

x(N−3)

x(3)

x(7)

x(N−1)

N/4

N/4

N/4

N/4

WN0

WN2

WN2(N/4−1)

X0

X1

XN/4−1

XN/4

XN/4+1

XN/2−1

XN/2

XN/2+1

XN/2+N/4−1

XN/2+N/4

XN/2+N/4+1

XN−1−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

WN0

WN2

WN2(N/4−1)

WN0

WN1

WNN/4−1

WN0

WN1

WNN/4−1

FFT アルゴリズム 17/41

Page 18: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

逆 FFTx(n)を Xk で置き換え,指数部の符号を反転して N で割ればよい.

Xk =

N−1∑n=0

x(n)e− j 2πN nk

x(n) =1N

N−1∑k=0

Xke j 2πN nk

FFTアルゴリズムの中で回転因子WN をその複素共役に変える.出力値を N で割る.

FFTを使用する場合には,X∗kのDFTを FFTアルゴリズム

で計算し,得られた系列の複素共役をとって N で割る.

x(n) =1N

N−1∑k=0

X∗ke− j 2π

N nk

FFT 補足 18/41

Page 19: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの留意点: ナイキスト条件

標本化定理 連続信号 x(t)のスペクトルが | f | < 1/2T でのみ非零ならば

x(t) =∞∑

k=−∞x(kT)

sin πT (t − kT)πT (t − kT)

−100 0 100 200 300 400 5000

10

20

30

40

50

60

70

−5 −4 −3 −2 −1 0 1 2 3 4 5−0.5

0

0.5

1

1.5

2

2.5

サンプリング間隔 T が 1/2 max | f |より大きい時,エイリアシング誤差 (折返し誤差)を生じる.

FFT 補足 19/41

Page 20: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

アンチエイリアスフィルタ (Anti-Alias Filter)

一般に原信号に含まれる周波数成分はわからないため,あらかじめ適当な LPF (low-pass filter,低域通過型フィルタ)に通してから標本化する.

−3 −2 −1 0 1 2 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

−3 −2 −1 0 1 2 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FFT 補足 20/41

Page 21: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの留意点: 波形の切り出し (1)

時間範囲が有限でない連続信号の標本値系列は,その一部分を切り出して FFTを適用.標本値列の長さは通常 28 (= 256) – 211 (= 2048)程度.

−40 −20 0 20 40 60 80 100 120 140 160−20

−15

−10

−5

0

5

10

15

20

25

−40 −20 0 20 40 60 80 100 120 140 160−20

−15

−10

−5

0

5

10

15

20

25

DFTは標本値列を周期系列として扱うことに注意.

FFT 補足 21/41

Page 22: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの留意点: 波形の切り出し (2)

DFTで求めた振幅スペクトル

-40

-30

-20

-10

0

0 5 10 15 20 25 30

frequency [Hz]

[dB]

3.0 Hz

-40

-30

-20

-10

0

[dB]

0 5 10 15 20 25 30

frequency [Hz]

3.2 Hz

3.0 Hzの正弦波 3.2 Hzの正弦波

FFT 補足 22/41

Page 23: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

いろいろな窓関数両端での大きな不連続を防ぐため,窓関数 w(t)(両端で 0に近い値)をかける.

f (t) ⇒ w(t) f (t)

方形窓 wR(t) = 1

ハニング窓 wN(t) = 0.5(1 − cos 2πtP

)

ハミング窓 wM(t) = 0.54 − 0.46 cos 2πtP

ブラックマン窓 wB(t) = 0.42 − 0.5 cos 2πtP+ 0.08 cos 4π

tP

ガウス窓 wG(t) = exp(− t2

P2σ2

)

FFT 補足 23/41

Page 24: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

窓関数の具体例

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 20 40 60 80 100 120 140−20

−15

−10

−5

0

5

10

15

20

25

窓関数 適用例

ハニング窓 ハミング窓 ブラックマン窓

FFT 補足 24/41

Page 25: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

周波数領域における窓関数

W( jω): スペクトル窓

fw(t) = w(t) f (t)Fw( jω) = F [w(t) f (t)] = F [w(t)] ∗ F [ f (t)] = W( jω) ∗ F( jω)

0 0.05 0.1 0.15

10−10

10−8

10−6

10−4

10−2

100

ハニング窓ハミング窓ブラックマン窓

FFT 補足 25/41

Page 26: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

標本点数の決め方アルゴリズムの入手し易さと計算効率から多くの場合N = 2ν.Lが 2ν でない時,0を加えて 2ν−1 < L ≤ 2ν = N を満たす N にする.

{x(0), x(1), . . . , x(L − 1), 0, 0, . . . , 0}

0 0.1 0.2 0.3 0.4 0.50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

[3, 2, 1, 0][3, 2, 1, 0, 0, 0, 0, 0][3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

情報は増えないが,スペクトルの記述精度を向上するような効果がある (周波数軸上の標本間隔を詰めて標本化関数による補間をしたのと等価)

FFT 補足 26/41

Page 27: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

今日の予定

1 FFT

2 FFTの応用スペクトル解析畳み込み相関関数

FFT の応用 27/41

Page 28: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: スペクトル解析

FFTはもともとスペクトル解析のための手法.有限長で周期的であるとみなす.

現実の信号は時変.(例: 音声信号)

1 1.05 1.1 1.15 1.2 1.25

x 104

−8000

−6000

−4000

−2000

0

2000

4000

6000

8000

窓関数で切り出した信号を FFTすることで,周波数特性の時間変化を調べる.

FFT の応用 スペクトル解析 28/41

Page 29: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

スペクトログラム

ランニングスペクトル (スペクトログラム)の例

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−8000

−6000

−4000

−2000

0

2000

4000

6000

Time

Fre

quen

cy

0 500 1000 1500 2000 2500 3000 3500 4000 45000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FFT の応用 スペクトル解析 29/41

Page 30: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: 畳み込みN 点の標本値列 {x(n)}, {h(n)}の畳み込みの計算

y(n) = x(n) ∗ h(n) =N−1∑m=0

x(m)h(n − m) n = 0, 1, . . . , N − 1.

N2 の乗算が必要.FFTを利用.

Yk = XkHk k = 0, 1, . . . , N − 1{y(n)} = F−1[XkHk]

32

N log2 N の乗算で計算可能

→ただし,通常の畳み込みではない (巡回畳み込み)

FFT の応用 畳み込み 30/41

Page 31: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

巡回畳み込み

巡回畳み込み

y(n) =N−1∑m=0

x(m)h((n − m))N, ((·))N: mod N

FFTでは {x(n)}, {h(n)}は周期的とみなされる.h((n))N = 0 (n < 0)でないので巡回畳込みは因果律を満たさない.

FFT の応用 畳み込み 31/41

Page 32: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: 線形畳み込み (有限長系列)

FFTで線形畳み込みを計算する方法 ({x(n)}, {h(n)}が有限長の場合):{x(n)}の長さを Nx, {h(n)}の長さを Nhとする.

N ≥ Nx + Nh − 1とし, {x(n)}, {h(n)}の後ろに 0を付加.

n ≥ Nx + Nh では y(n) = 0.周期性を排除して畳み込み計算が可能

FFT の応用 畳み込み 32/41

Page 33: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: 線形畳み込み (有限長と無限長系列)(1)

Overlap-add法

h(n)

x(n)

x (n)(l)

Q

L

N

zero-padding

add add add addy(n)

y (n)(l)

FFT の応用 畳み込み 33/41

Page 34: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: 線形畳み込み (有限長と無限長系列)(2)

Overlap-save法

h(n)

x(n)

x (n)(l)

Q

L

N

zero-padding

savesave save save

y(n)

y (n)(l)

FFT の応用 畳み込み 34/41

Page 35: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: インパルス応答と伝達関数

伝達関数 H( jω)はインパルス応答 h(t)のフーリエ変換F [h(t)]インパルス応答→伝達関数

系にインパルスを印加し,その応答出力 h(t)を標本化してDFTすると伝達関数 H( jω)が得られる.

標本化速度がナイキスト条件を満たす必要がある.

伝達関数→インパルス応答インパルス印加ができない場合,既知信号 x(t)を入力し,その応答 y(t)を観測する.伝達関数はH( jω) = Y( jω)/X( jω)で得られ,H( jω)をIDFTするとインパルス応答 h(t)が得られる.

FFT の応用 畳み込み 35/41

Page 36: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: 相関関数

自己相関関数

rxx(τ) =∫

x(t)x(t − τ)dt

相互相関関数

rxy(τ) =∫

x(t)y(t − τ)dt

ウィーナー-ヒンチン (Wiener-Khinchine)の定理

F [rxx(τ)] = P( jω) = X( jω)X∗( jω)F [rxy(τ)] = X( jω)Y∗( jω)

FFT の応用 相関関数 36/41

Page 37: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

FFTの応用: ケプストラム分析

ケプストラム C(τ): cepstrum, spec-trumからの造語

C(τ) = F−1[log |S( jω)|]

ケフレンシ τ: quefrency, fre-que-ncyからの造語

0 0.5 1 1.5 2 2.5 3

x 104

−1

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6

x 104

0

0.001

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0.01

対数パワースペクトラム ケプストラム

FFT の応用 相関関数 37/41

Page 38: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

ケプストラムを用いた音声情報処理

音声波 s(t)は,音源波 u(t),声道の特性 h(t),口からの放射特性 r(t)の畳み込み.

S( jω) = V( jω)H( jω)R( jω)C(τ) = F−1[log |V( jω)|] + F−1[log |H( jω)|] + F−1[log |R( jω)|]

V( jω): 調波構造で基本周波数を示す.H( jω): 典型的には山がいくつか連なった特性.R( jω): 周波数軸上でなだらかな右上がり.

対数を取ることで,性質の異なる V, H, Rを分離できる.

FFT の応用 相関関数 38/41

Page 39: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

自己相関関数

x(t), y(t)定常過程平均値 η = E [x(t)]自己相関関数 R(τ) = Rxx(τ) = E [x(t + τ)x∗(t)]相互相関関数 Rxy(τ) = E

[x(t + τ)y∗(t)]R(−τ) = R∗(τ)R(0) = E

[|x(t)|2

]≥ 0

|R(τ)| ≤ R(0)

FFT の応用 相関関数 39/41

Page 40: 菫。蜿キ縺ィ繧キ繧ケ繝Β - Signals and Systems …kashima/lecture/ss/slide17...k=1 cke j2ˇ P kt ck = 1 P ∫ P 0 x(t)e j2Pˇ ktdt 周波数1=P の波を基本波とする調波構造を持った線スペク

スペクトル密度

定常過程 x(t)スペクトル密度 S(ω) =

∑∞τ=−∞ R(τ)e− jωτ

Γ(z) =∑∞τ=−∞ R(τ)z−τ, S(ω) = Γ(e jω)

離散時間フーリエ逆変換より

R(τ) = 12π

∫ π−π S(ω)e jωτdω

R(0) = E[|x(t)|2

]= 1

∫ π−π S(ω)dω > 0

FFT の応用 相関関数 40/41