ディジタル信号処理
-
Upload
kane-burton -
Category
Documents
-
view
24 -
download
2
description
Transcript of ディジタル信号処理
2002.6.27 ディジタル信号処理 1
ディジタル信号処理
デザイン情報学科 メディア情報設計河原英紀
2002.6.27 ディジタル信号処理 2
本日の予定
レポートから課題の解答高速 Fourier 変換FFT(Fast Fourier Transform) なぜ FFT は重要か FFT でどれだけ早くなるか どうして FFT で早くなるのか
2002.6.27 ディジタル信号処理 3
レポートから
今日の授業は資料に書き込めたので理解しやすかった窓関数が良く理解できなかった窓関数は分かったが DFT の性質が分らない窓関数はなぜ『窓』というのか?授業の資料をダウンロードせずに見ることができるようにして欲しいようやくデモで見たアニメーションの意味が分かった
2002.6.27 ディジタル信号処理 4
レポートから以前のテストの解答を忘れないうちに見たい課題の解答に時間を割いたのが良かった全くついて行けなくなった。分らないところも分らない授業のスピードがまだ早い授業のスピードはちょうど良く、内容もちょうど良かった授業の資料を学科事務に置いて欲しい講義室が寒すぎたFFT が早い理由が分らない
2002.6.27 ディジタル信号処理 5
レポートから
課題の前に例題で具体的に解いて欲しい最近は何となく授業の内容が分るようになって来たPowerPoint の授業は見やすくて分かりやすい。しかし、ノートが取れないのでプリント配付が理想 ←??プリントは配付していますが??
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)
回転子
2002.6.27 ディジタル信号処理 7
DFT の性質
循環畳込みと DFT
€
y[n]= h[l]x[n−l]l=0
N−1
∑
DFT← → ⏐ ⏐ Y(k)=H(k)X(k)
2002.6.27 ディジタル信号処理 8
窓関数の必要性
€
x[n]=cosαn( )
の DFT はどうなるか?
€
α ≠2kπN
の場合には、複数の成分が非零になる
周期が不一致の場合、不連続が発生
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
2002.6.27 ディジタル信号処理 10
課題周期を M=N-1 として、前のページで定義されたHamming 窓、 hanning 窓、 Blackman 窓の DFT を求めよ。また、以下の信号を hanning 窓によって切り出した信号の DFT を求めよ。(ヒント:窓の DFT は、絶対値と位相を用いて表した方が容易に解ける。推移定理を利用して簡単化すること。)
€
x[n]=cos6πnM
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
∑
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
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{ }
⎧
⎨ ⎪
⎩ ⎪
失礼!配付プリントに誤りがありました。
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 窓の場合は、係数が異なるだけで同形であるので、ただちに次が得られる。
失礼!配付プリントに誤りがありました。
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{ }
⎧
⎨ ⎪
⎩ ⎪
2002.6.27 ディジタル信号処理 16
課題の解答例
€
x[n]=cos6πnM
€
w[n]=0.5−0.5cos2πnM
これらの積の DFT を求める
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 を法とする剰余の略記法(一般的ではない)
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{ }
⎧
⎨ ⎪
⎩ ⎪
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{ }
⎧
⎨ ⎪
⎩ ⎪
畳込み法則に代入すると直ちに次を得る
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 のオーダーに積和が減少する
2002.6.27 ディジタル信号処理 21
FFT でどれだけ早くなるか
N=2000付近でDFT は約 140ms
N
計算時間
N が素数の場合
N が 2 個の素数の積の場合
2002.6.27 ディジタル信号処理 22
FFT でどれだけ早くなるか
前のページの拡大図
N=2048の場合には1.4ms
100倍早くなる
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
この積和の回数を組織的に削減する
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 の形に類似している
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
∑
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)
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)
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回に減少
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
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) を表せ。