Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
数字信号处理
周治国
2015.10
第四章 快速傅里叶变换
§4-8 线性调频 Z变换(Chirp-Z Transform)
3 / 30
1,...,1,0 ),( −=∀ Nnnx
一、问题的提出
)]([)( nxDFTkX∆
= ∑−
=
−=
1
0
2
)(N
n
knN
jenx
π
kN
jk ezkzX π2)(
==
1,...,1,0 −= Nki) N=ML,2ν → FFT算法(基-2,统一,分裂基)
1,...,1,0 ,)( 2 −=→=
NkzXFFT kN
jk ezk
πii)(X(z)在 |z|=1上等间隔取样值)
问题:? 1,...,1,0 , )( )1
1−=∃
≠MkzX
kzk
? ,1,...,1,0 , )( )2 NMMkkX <−=∃
? 1,...,1,0 , )( )3 −=∃≠ MkkXMLN (质数),Chirp-Z 变换
§4-8 线性调频 Z变换(Chirp-Z Transform)
4 / 30
↔−≤≤∀ 10 ),( Nnnx
∑−
=
−=1
0)()(
N
n
nznxzX
1,...,1,0 , −== −∆
MkAWz kk
二、算法原理
令
00
θjeAA∆
=
1,...,1,0 ,00 −== −
∆
MkeWW jφ
0000
φθ jkkjk eWeAz ⋅⋅= − 1,...,1,0 −= Mk
图4-26(P.152)
图4-26(P.152)
00000 θθ ∠==
∆
AeAz j
)(1001
00 φθ +−= jeWAz
)(00
00 φθ kjkk eWAz +−=
])1([)1(001
00 φθ −+−−− = MjM
M eWAz
z1
6 / 30
取样起始点的矢量长度: ),1( , )1 00 ≤AzA
参数几何意义
{ } 频率)取样起始点的相角(角: ),0/0( ,arg )2 00 <>zθ
间的角频率差取样点: 10 , )3 +kk zzφ
的路径为逆时针旋转kz ,00 >φ
的路径为顺时针旋转kz ,00 <φ
外盘旋的路径是向内取值决定: / )4 0 kzW的路径是向外弯曲kzW ,10 <
的路径是向内弯曲kzW ,10 >
的一段圆弧的路径是半径为 00 ,1 AzW k=
即单位圆上的一部分时 ,10 =A
7 / 30
0 ,1 )1 00 == θA
)]([)()( 2 ,1 )2 00 nxDFTkXzXN
W k ==→==π
φ
N )3 =M 1,...,1,0 −= Nk∴DFT也可视为CZT的一种特例
一般情况:
∑−
=
−=1
0)()(
N
n
nknk WAnxzX 10 −≤≤ Mk (4-62)
利用公式:
])([21 222 nkknnk −−+=
2 2211 ( )
2 2 2
0
( )n kN k nn
nx n A W W W
− − −−
=
= ∑
式(4-62)变为:
∑−
=
−−−=1
0
)(21
222
22
])([N
n
nknn
k
WWAnxW
∑−
=
−=1
0
2 )()(2 N
n
k
nkhnfW 1,...,1,0 −= Mk
(4-65)式中:
2
2
)()(n
nWAnxnf −∆
=
( ) 22
2
0
2
)(n
Wnh e jn
Φ==−∆
1,...,1,0 −= Nn
2
00n
2
n
Chirp Signal CZT
n
→ →
Φ Φ角位移 对时间序数 的微分值为
瞬时频率随时间成线性变化
?=n W0=1时
∑−
=
−=1
0)()(
N
n
nknk WAnxzX
])([21 222 nkknnk −−+=
h(n) X(zk),k=0,1,…,M-1
x(n),n=0,1,…,N-1
2
2nnWA− 2
2k
W
f(n)
图4-27 CZT的运算流程图
g(k)
2
2
)()(n
nWAnxnf −∆
=
( ) 22
2
0
2
)(n
Wnh e jn
Φ==−∆
∑−
=
−=1
0
2 )()(2 N
n
k
nkhnfW
∑−
=
−=1
0)()(
N
n
nknk WAnxzX
1,...,1,0 −= Mk
10 / 30
1,...,1,0 ,,,, 20000
2
−=→ − NnWAWAn
nφθ
三、运算/实现步骤:
),(nx 10 −≤≤ Nn
),(nf 10 −≤≤ Nn
(1)要求[X(zk)]
2
2n
W−
nnh ∀ ),(
(2)计算 f(n)*h(n), n=0,1,…,M-1
1)1(),( −≤≤−− MnNnh
10),( −≤≤ Nnnf
ν2 1
=
−+>
LMNL
点补零至L )(nf ′
)(nh′)()( nhnf ∗
LL l +× 2log2
3—
N—×
(3)计算 F(r)H(r)
h(n) X(zk),k=0,1,…,M-1
x(n),n=0,1,…,N-1
2
2nnWA− 2
2k
W
f(n) g(k)
14 / 30
MLNL L +++2log23 *:
四、运算量估算
(M,N>50→CZT优于直接计算)
15 / 30
0000 ≠→≠ θAz
五、CZT算法的特点
10 ),( )1 −≤≤∀ Nnnx
10 ),( −≤≤∃ MkzX k1 , ≠≠ kzNM
2) N,M均可为质数→ 任意情况
3) 取样起始点z0任选:
1,...,1,0 ),( −= MkzX k
4) 可任意取值0φ
1, +kk zz 的角间隔(频率)任意
频率分辨率可变
进行窄带高分辨分析
pqMWANM
M
≠==>
≠=
1,1,
0,2
00
00 θπ
φ
16 / 30
NeWA Nj
∀== ,,1 )52π
MnxDFTzXCZT k ∀=→ )],([)(
DFT的推广0,1,..., 1k M= −( )N pl≠
§4-10 FFT的应用
17 / 30
10 )( 10 )(
2
1
−≤≤−≤≤∀
NnnhNnnx
一、利用FFT求卷积——快速卷积
=∗∃ )()( nhnx
21 .1 NN ≈
∑ ∑−
=
−
=
−=−1
0
1
0
1 2
)()()()(N
l
N
llnxlhlnhlx
)()(
nhnx
)()(
nhnx
′′
)()( kHkX ′′FFT IFFT
21 .2 NN >>
)()( ),()( .3 ** nhnhnxnx ==
运算量比较:
1.直接卷积:N2
2.快速卷积:3Nlog2N
思考:补零会造成卷积计算误差吗?
补零
分段卷积
1 2
1 2
1
0
1
0
(1) ( ) ( )( ) ( ) ( )
(2) 1 2'( ) '( )
'( ) '( ) '( ) '( ) '(( )) ( )
(3) : '( ) '( ) '( ) '( )(4) '( ) '( ) '( )
1 1(5) : '( ) [ '( )] [ ' ( )]
v
N
N Nk
Nnk nk
N Nk
x n N h n Ny n x n h n
N N N Nx n h n
y n x n h n x k h n k R n
FFT x n X k h n H kY k X k H k
IFFT y n Y k W Y k WN N
−
=
−− ∗
=
= ∗
≥ + − =
= ⊗ = −
→ →=
= =
∑
∑
补零
1
0
(6) ( )
N
k
y n
∗−
=
∑
一、利用FFT求卷积——快速卷积计算步骤
( ),s( ), ( ) 0 1 ( ), ( ), ( ) 0 1
g n n h n n NG k S k H k k N
∀ ≤ ≤ −≤ ≤ −
实序列
一、利用FFT求卷积——高效的FFT卷积
1
2
1
2
FFT( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( )[ ( )] ( ) ( ) ( )
( ) ( ) ( )( ) [ ( )] ( ) ( )[ ( ) ( )] ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) Re[ ( )]
y n g n h ny n s n h n
p n g n js nDFT p n P k G k jS kY k H k P k
y n IFFT Y k p n h ng n js n h n g n h n js n h n
y n g n h n y ny
= ⊗ = ⊗
= +
= = +
== = ⊗
= + ⊗ = ⊗ + ⊗
= ⊗ =
用一次 实现两个卷积运算
合成:
则:
令:
因此:( ) ( ) ( ) Im[ ( )]n s n h n y n
= ⊗ =
§4-10 FFT的应用
(1)(2)(3)
应用:
一个系统同时通过两种输入信号
一个系统同时处理长序列分段过滤中的两个片段
一个信号同时通过两个系统
一、利用FFT求卷积——高效的FFT卷积
21 / 30
二、利用FFT求相关——快速相关
10 )( 10 )(
2
1
−≤≤−≤≤∀
NnnyNnnx
∑−
=
+=∃1
0
*1
)()()( N
llnylxnz ∑
−
=
+=1
0
*2
)()(N
llnxly
)()(
nynx
)()(
nynx
′′
' ( ) ( )X k Y k∗ ′ )(nzFFT IFFT补零
)()( .3 .2)()( .1
*21
21
nxnxNNnynx
NN
=
>>→=≈
自相关
21 .1 NN ≈
21 .2 NN >>
)()( ),()( .3 ** nynynxnx ==
1
1 2
0
1 2
1 1
0 0
(1) ( ) ( )
( ) ( ) ( )
(2) 1 2'( ) '( )
(3) : '( ) '( ) '( ) '( )(4) ( ) ' ( ) '( )
1 1(5) : '( ) [ ( )] [ ( )]
(6) ( )
N
kv
N Nnk nk
N Nk k
x n N y n N
z n x k y n k
N N N Nx n y nFFT x n X k y n Y kZ k X k Y k
IFFT z n Z k W Z k WN N
z n
∗
=
∗
∗− −− ∗
= =
= +
≥ + − =
→ →
=
= =
∑
∑ ∑
补零
二、利用FFT求相关——快速相关计算步骤
往年真题:
4、设有两个有限长实序列,试给出用基-2 FFT计算其线性卷积的方法步骤(要求尽量减少乘法运算次数),并与用线性卷积定义直接计算时的运算量做以比较。
往年真题:
5、已知实序列x(n)和y(n),长度分别为N和M,试给出仅用基-2 FFT正变换快速计算其线性卷积的方法步骤,要求尽量减少乘法运算次数。
§4-11 2-D DFT/FFT 算法
25 / 30
),( nmx∀
一、2-D DFT
12 10
ν=
−≤≤
MMm
22 10
ν=
−≤≤
NNn
)],([),( nmxDFTlkX∆
=
∑∑−
=
−
=
=1
0
1
0),(
M
m
N
n
lnN
kmM WWnmx
1010
−≤≤−≤≤
NlMk
∑∑−
=
−
=
−−∆
=1
0
1
0),(1),(
M
k
N
l
lnN
kmM WWlkX
MNnmx
1010
−≤≤−≤≤
NnMm
26 / 30
1,...,1,0 , .2 −=∀ Mkk
1,...,1,0 ,),(),(1
0−== ∑
−
=
NlWnkAlkXN
n
lnN
NNM 2log2
×∗—
二、2-D FFT
1,...,1,0 , .1 −=∀ Nnn
1,...,1,0 ,),(),(1
0−== ∑
−
=
MkWnmxnkAM
m
kmM
MMN 2log2
×∗—
列
行
222 )(MNMN =2、2-D DFT
三、运算量估算
1、2-D FFT
MN MNNM 22 log2
log2
×+× )log(log2 22
MNMN+= MNMN
2log2
=
§4-12 FFT的其它形式
28 / 30
—2Winograd Fourier Transform Algorithm (WFTA):
—3—4—5
—7—8—9—16
DFTN— 10 ),( N-kkXDFT ≤≤→
DFT−=××× 504057916 例:
8 4 2 3 3算法步骤:1.利用下标映射,把大N点的DFT化成互素的小N点的DFT;2.把小N点的DFT化成循环卷积;3.找出计算小N点卷积的快速算法,从而得到小N点的DFT的快速算法;4.由小N点的DFT求出大N点的DFT。
维络格勒德
x(n)= {x(0), x(1), x(2)…x(14)} = {0,1,2,…,14}
X(k)= {
}
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
x(n)= {
}
X(k)= {
}
1.0e+002 *
1.0500 -0.0750 + 0.1032i -0.0750 + 0.0244i -0.0750 - 0.0244i -0.0750 - 0.1032i
-0.3750 + 0.2165i 0 0 0 0
-0.3750 - 0.2165i 0 0 0 0
1.0e+002 *
1.0500 -0.0750 + 0.3528i -0.0750 + 0.1685i -0.0750 + 0.1032i -0.0750 + 0.0675i
-0.0750 + 0.0433i -0.0750 + 0.0244i -0.0750 + 0.0079i -0.0750 - 0.0079i -0.0750 - 0.0244i
-0.0750 - 0.0433i -0.0750 - 0.0675i -0.0750 - 0.1032i -0.0750 - 0.1685i -0.0750 - 0.3528i
2D-FFT
FFT
x(n)= {x(0), x(1), x(2)…x(14)} = {0,1,2,…,14}
x(0) x(3) x(6) x(9) x(12)x(5) x(8) x(11) x(14) x(2)x(10) x(13) x(1) x(4) x(7)
X(k)= {
}
x(n)= {
}X(k)= {
}
1.0e+002 *
1.0500 -0.0750 + 0.3528i -0.0750 + 0.1685i -0.0750 + 0.1032i -0.0750 + 0.0675i
-0.0750 + 0.0433i -0.0750 + 0.0244i -0.0750 + 0.0079i -0.0750 - 0.0079i -0.0750 - 0.0244i
-0.0750 - 0.0433i -0.0750 - 0.0675i -0.0750 - 0.1032i -0.0750 - 0.1685i -0.0750 - 0.3528i
1.0e+002 *
1.0500 -0.0750 + 0.0244i -0.0750 - 0.1032i -0.0750 + 0.1032i -0.0750 - 0.0244i
-0.0750 - 0.0433i -0.0750 + 0.3528i -0.0750 + 0.0079i -0.0750 - 0.1685i -0.0750 + 0.0675i
-0.0750 + 0.0433i -0.0750 - 0.0675i -0.0750 + 0.1685i -0.0750 - 0.0079i -0.0750 - 0.3528i
X(0) X(6) X(12) X(3) X(9)X(10) X(1) X(7) X(13) X(4)X(5) X(11) X(2) X(8) X(14)
X(k)= {
}
FFT
2D-FFT
本章回顾:
1.基-2 DIT2.基-2 DIF3.统一复合数4.基-4 DIF/DIT5.分裂基6.实序列FFT7.Chirp Z变换
算法原理时抽频抽蝶形流图复乘复加算法特点变换卷积