Transcript
Page 1: ディジタル信号処理

2002.6.27 ディジタル信号処理 1

ディジタル信号処理

デザイン情報学科 メディア情報設計河原英紀

Page 2: ディジタル信号処理

2002.6.27 ディジタル信号処理 2

本日の予定

レポートから課題の解答高速 Fourier 変換FFT(Fast Fourier Transform) なぜ FFT は重要か FFT でどれだけ早くなるか どうして FFT で早くなるのか

Page 3: ディジタル信号処理

2002.6.27 ディジタル信号処理 3

レポートから

今日の授業は資料に書き込めたので理解しやすかった窓関数が良く理解できなかった窓関数は分かったが DFT の性質が分らない窓関数はなぜ『窓』というのか?授業の資料をダウンロードせずに見ることができるようにして欲しいようやくデモで見たアニメーションの意味が分かった

Page 4: ディジタル信号処理

2002.6.27 ディジタル信号処理 4

レポートから以前のテストの解答を忘れないうちに見たい課題の解答に時間を割いたのが良かった全くついて行けなくなった。分らないところも分らない授業のスピードがまだ早い授業のスピードはちょうど良く、内容もちょうど良かった授業の資料を学科事務に置いて欲しい講義室が寒すぎたFFT が早い理由が分らない

Page 5: ディジタル信号処理

2002.6.27 ディジタル信号処理 5

レポートから

課題の前に例題で具体的に解いて欲しい最近は何となく授業の内容が分るようになって来たPowerPoint の授業は見やすくて分かりやすい。しかし、ノートが取れないのでプリント配付が理想 ←??プリントは配付していますが??

Page 6: ディジタル信号処理

2002.6.27 ディジタル信号処理 6

DFT の性質

線形性

ax[n]+by[n] DFT← → ⏐ ⏐ aX(k)+bY(k)

対称性

X(N−k) =X* (k) x[n]∈R

推移定理

x[n+m] DFT← → ⏐ ⏐ WN−kmX(k)

回転子

Page 7: ディジタル信号処理

2002.6.27 ディジタル信号処理 7

DFT の性質

循環畳込みと DFT

y[n]= h[l]x[n−l]l=0

N−1

DFT← → ⏐ ⏐ Y(k)=H(k)X(k)

Page 8: ディジタル信号処理

2002.6.27 ディジタル信号処理 8

窓関数の必要性

x[n]=cosαn( )

の DFT はどうなるか?

α ≠2kπN

の場合には、複数の成分が非零になる

周期が不一致の場合、不連続が発生

Page 9: ディジタル信号処理

2002.6.27 ディジタル信号処理 9

様々な窓関数

Hamming窓

hanning 窓

Blackman窓

w[n]=0.54−0.46cos2πnN−1

w[n]=0.5−0.5cos2πnN −1

w[n]=0.42−0.5cos2πnN −1

+0.08cos4πnN −1

Page 10: ディジタル信号処理

2002.6.27 ディジタル信号処理 10

課題周期を M=N-1 として、前のページで定義されたHamming 窓、 hanning 窓、 Blackman 窓の DFT を求めよ。また、以下の信号を hanning 窓によって切り出した信号の DFT を求めよ。(ヒント:窓の DFT は、絶対値と位相を用いて表した方が容易に解ける。推移定理を利用して簡単化すること。)

x[n]=cos6πnM

Page 11: ディジタル信号処理

2002.6.27 ディジタル信号処理 11

課題の解答例: Hamming

w[n]=0.54−0.46cos2πnN−1

Hamming窓

周期 M=N-1 であるから、 n=0 から M-1 までの w[n] についてDFT を計算する。混乱を避けるため、 M を用いて Hamming窓を表しておく。

w[n]=0.54−0.46cos2πnM

求めるべき DFT は、次式となる。

W(k) = w[n]WMkn

n=0

M −1

Page 12: ディジタル信号処理

2002.6.27 ディジタル信号処理 12

課題の解答例

W(k) = w[n]WMkn

n=0

M −1

= 0.54−0.46cos2πnM

⎛ ⎝

⎞ ⎠

n=0

M −1

∑ WMkn

= 0.54−0.46•ej2πnM +e

−j 2πnM

2

⎜ ⎜

⎠ ⎟ ⎟

n=0

M −1

∑ WMkn

Page 13: ディジタル信号処理

2002.6.27 ディジタル信号処理 13

課題の解答例

W(k) = 0.54−0.23ej2πnM −0.23e

−j2πnM

⎝ ⎜ ⎞

⎠ ⎟

n=0

M −1

∑ e−j

2πknM

= 0.54e−j2πkn

M −0.23ej 2πn(1−k)

M −0.23e−j2πn(1+k)

M⎛

⎝ ⎜ ⎞

⎠ ⎟

n=0

M −1

=

0.54M k=0

−0.23M k=−1,1

0 k∉ −1,0,1{ }

⎨ ⎪

⎩ ⎪

失礼!配付プリントに誤りがありました。

Page 14: ディジタル信号処理

2002.6.27 ディジタル信号処理 14

課題の解答例: hanning

W(k) = 0.5e−j

2πknM −0.25e

j2πn(1−k)

M −0.25e−j

2πn(1+k)M

⎝ ⎜ ⎞

⎠ ⎟

n=0

M −1

=

0.5M k=0

−0.25M k=−1,1

0 k∉ −1,0,1{ }

⎨ ⎪

⎩ ⎪

hanning 窓の場合は、係数が異なるだけで同形であるので、ただちに次が得られる。

失礼!配付プリントに誤りがありました。

Page 15: ディジタル信号処理

2002.6.27 ディジタル信号処理 15

課題の解答例: Blackman

Blackman 窓の場合は、まず、 M を用いて次式のように書き換える

w[n]=0.42−0.5cos2πnM

+0.08cos4πnM

第三項を Euler の公式を用いて変形することで、ただちに以下が得られる

W(k) =

0.42M k=0

−0.25M k=−1,1

0.04M k=−2,2

0 k∉ −2,−1,0,1,2{ }

⎨ ⎪

⎩ ⎪

Page 16: ディジタル信号処理

2002.6.27 ディジタル信号処理 16

課題の解答例

x[n]=cos6πnM

w[n]=0.5−0.5cos2πnM

これらの積の DFT を求める

Page 17: ディジタル信号処理

2002.6.27 ディジタル信号処理 17

課題の解答例方法1:展開して COSの加法定理を用いて整理し、 Euler の公式を用いて複素指数関数の和とする

方法2:畳込み法則を用いて、窓関数の DFT と、信号の DFT から求める

x1[n]x2[n]DFT← → ⏐ ⏐ 1

NX1

l=0

N−1

∑ (l)X2[((k−l))N ]

N を法とする剰余の略記法(一般的ではない)

Page 18: ディジタル信号処理

2002.6.27 ディジタル信号処理 18

課題の解答例

x[n]=cos6πnM

=ej 6πnM +e

−j 6πnM

2

X(k)=0.5M k=−3,3

0 k∉ −3,3{ }⎧ ⎨ ⎩

Whanning(k)=

0.5M k=0

−0.25M k=−1,1

0 k∉ −1,0,1{ }

⎨ ⎪

⎩ ⎪

Page 19: ディジタル信号処理

2002.6.27 ディジタル信号処理 19

課題の解答例

Y(k)=

0.25M k=−3,3

−0.125M k=−4,−2,2,4

0 k∉ −4,−3,−2,2,3,4{ }

⎨ ⎪

⎩ ⎪

畳込み法則に代入すると直ちに次を得る

Page 20: ディジタル信号処理

2002.6.27 ディジタル信号処理 20

なぜ FFT は重要か?DFT を高速に求めることができる畳込みを高速化することができる

信号の FFT : X(k) インパルス応答の FFT : H(k)両者の積: Y(k)=X(k)H(k) を求めるY(k) の逆 FFT を求める

信号の長さを N, インパルス応答の長さを Mとすると、畳込みの計算には NM 回の積和が含まれる  FFT を介することで、 NlogM のオーダーに積和が減少する

Page 21: ディジタル信号処理

2002.6.27 ディジタル信号処理 21

FFT でどれだけ早くなるか

N=2000付近でDFT は約 140ms

N

計算時間

N が素数の場合

N が 2 個の素数の積の場合

Page 22: ディジタル信号処理

2002.6.27 ディジタル信号処理 22

FFT でどれだけ早くなるか

前のページの拡大図

N=2048の場合には1.4ms

100倍早くなる

Page 23: ディジタル信号処理

2002.6.27 ディジタル信号処理 23

DFT の計算

X(k)= x[n]WNkn

n=0

N−1

∑ k=0,1,K ,N −1

N=8の例x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]

X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)

64回の複素数の積

W =e−j 2π

N

この積和の回数を組織的に削減する

Page 24: ディジタル信号処理

2002.6.27 ディジタル信号処理 24

DFT の計算

X(k)= x[n]WNkn

n=0

N−1

∑ k=0,1,K ,N −1

= x[2n]WN2kn

n=0

(N /2)−1

∑ + x[2n+1]WNk(2n+1)

n=0

(N /2)−1

= x[2n]WN2kn

n=0

(N /2)−1

∑ +WNk x[2n+1]WN

2kn

n=0

(N /2)−1

DFT の形に類似している

Page 25: ディジタル信号処理

2002.6.27 ディジタル信号処理 25

高速 Fourier 変換の仕組み

WN =e−j

2πN

WN2 =e

−j2•2πN =e

−j2π

(N /2) =WN /2

ここで右の関係を利用

X(k)= x[2n]WN2kn

n=0

(N /2)−1

∑ +WNk x[2n+1]WN

2kn

n=0

(N /2)−1

X(k)= x[2n]WN /2kn

n=0

(N /2)−1

∑ +WNk x[2n+1]WN /2

kn

n=0

(N /2)−1

Page 26: ディジタル信号処理

2002.6.27 ディジタル信号処理 26

高速 Fourier 変換の仕組み

G(k) = x[2n]WN /2nk

n=0

(N /2)−1

H(k)= x[2n+1]WN /2nk

n=0

(N /2)−1

X(k)= x[2n]WN /2kn

n=0

(N /2)−1

∑ +WNk x[2n+1]WN /2

kn

n=0

(N /2)−1

を用いて整理

X(k)=H(k)+WNkG(k)

Page 27: ディジタル信号処理

2002.6.27 ディジタル信号処理 27

高速 Fourier 変換の仕組み

X(k)=G(k)+WNkH(k)

XN2

+k⎛ ⎝

⎞ ⎠ =G(k)−WN

kH(k) k=0,1,K ,N2

−1

⎧ ⎨ ⎪

⎩ ⎪

ここで右の関係を利用して整理

X(k)=H(k)+WNkG(k)

Page 28: ディジタル信号処理

2002.6.27 ディジタル信号処理 28

高速 Fourier 変換の仕組み

G

HWWW

W

-1-1-1-1

x[0]x[2]x[4]x[6]

x[1]x[3]x[5]x[7]

X(0)X(1)X(2)X(3)

X(4)X(5)X(6)X(7)

複素数の積和の回数が 36回に減少

Page 29: ディジタル信号処理

2002.6.27 ディジタル信号処理 29

高速 Fourier 変換の仕組み

DFT(N=2)

WW

W

W

-1-1

-1-1

x[0]x[4]x[2]x[6]

x[1]x[5]x[3]x[7]

G(0)G(1)G(2)G(3)

H(0)H(1)H(2)H(3)

DFT(N=2)

DFT(N=2)

DFT(N=2)

x[0]

x[4] -1W

Page 30: ディジタル信号処理

2002.6.27 ディジタル信号処理 30

課題

DFT の畳込み法則を、定義と推移法則等を用いて導くこと実数の信号 x[n] と y[n] がある。 x[n]+j y[n]の DFT である S(k) を、 x[n] の DFT である X(k) と y[n] の DFT である Y(k) を用いて表せ。実数の信号の DFT の実部は偶関数、虚部は奇関数となる。このことを利用して、 x[n]+j y[n] の DFT である S(k) を用いて、 x[n] の DFTである X(k) と y[n] の DFT である Y(k) を表せ。


Recommended