Professional Documents
Culture Documents
问题的提出
解决问题的思路与方法
基 2 时间抽取 FFT 算法
基 2 时间抽取 FFT 算法的计算复杂度
基 2 时间抽取 FFT 算法流图规律
基 2 频率抽取 FFT 算法
FFT 算法的实际应用
问题的提出
DFT
0 1 2 3
?
X [1] 2W N 3W N 3W N 2W N 1 j
0 2 4 6
的
X [2] 2W N 3W N 3W N 2W N 0 运
0 3 6 9 算
X [3] 2W N 3W N 3W N 2W N 1 j
效
复数加法 N(N-1) 复数乘法 N 2 率
解决问题的思路
1) 周期性
W N( k N ) m W Nk ( m N ) W Nkm
2) 对称性
N
mk km
WN 2 W Nmk WN W N mk
3) 可约性
W Nmk W nN
nmk
将时域序列逐次分解为一组子序列,利用旋转因子
的特性,由子序列的 DFT 来实现整个序列的 DFT 。
x[0] X [0]
W20
x[1] X [1]
-1
X [m] X 1[m] W4m X 2 [m], m 0,1
4 [点基
X m 2]2时间抽取
X 1[m] WFFT
m 算法流图
4 X 2 [ m], m 0,1
X1[0]
x[0] X [0]
W20 2 点 DF X1[1]
x[2] T X [1]
1
X2[0] W40
x[1] X [2]
1
2 点 DF 1
0
W2 T X2[1] W4
x[3] X [3]
1 1
4 点基 2 时间抽取 FFT 算法流图
X1[0]
x[0] X[0]
W40 X1[1]
x[2] X[1]
1
X2[0] W40
x[1] X[2]
1
XX [0]
[0] X1[0]
x[0]
x[0] 1111
X [0]
W 0 2点DFT
8 XX [1]
[1] X1[1]
x[4]
x[2] 1
1111
X [1]
0 0
4XX12点 DFT
WW
[0]
[0] X1[2]
x[2]
x[4] 12 8 4
1 X [2]
W80 2点DFT
XX [1]WW
[1] 8 4
21
X1[3]
x[6]
x[6] 1
1212
1 X [3]
XX2121[0]
[0] X2[0] W80
x[1]
x[1] 0 1 X [4]
W 2点DFT W 1
8 XX2121[1]
[1] X2[1] 8
x[5]
x[3] 1 0 0 1
X [5]
4XX22点 DFT
W W
[0] 8 4
[0] W
X2[2] 8
2
x[5]
x[3] 22
X [6]
0 2 1 1 1
W 8
2点DFT XX [1][1]WW X2[3] W83
x[7]
x[7] 2222 8 4
X [7]
1 1 1
基 2 时间抽取 FFT 算法
N
复乘次数 log 2 N
2
复乘次数
N2
N
log2 N
2
N
基 2 时间抽取 FFT 算法流图
0
W
第一级的蝶形系数均为 N ,蝶形节点的距离
为1。
第二级的蝶形系数为 W N0 , W NN / 4 ,蝶形节点
的距离为 2 。
第三级的蝶形系数为 W N0 , W NN / 8 , W N2 N / 8 , W N3 N / 8
,蝶形节点的距离为 4 。
W N0 , W N1 , , W N( N / 21)
第 M 级 的蝶形系数为
,蝶形节点的距离为 N /2 。
k0 k1 k2
0 x[000]
0
1 x[100]
倒序 0
x[k2 k10] 0 x[010]
1
1 x[110]
x[k2 k1k0] 0
x[001]
0
1 x[101]
1
x[k2 k11] 0 x[011]
1
1 x[111]
基 2 频率抽取 FFT
算法
N / 2 1 N 1
X [m ] k 0
x[k ]W mk
N
kN / 2
x[k ]W mk
N
N / 2 1 N / 2 1
k 0
x[k ]W Nmk
k 0
x[k N / 2]W Nm ( k N / 2 )
N / 2 1
x[k ] (1)
k 0
m
x[k N / 2] W Nmk
N / 2 1
X [ 2r ] x[k ] x[k N / 2]W
k 0
rk
N /2
N / 2 1
X [2r 1] x[ k ] x[ k N / 2]W k
N W rk
N /2
k 0
N / 21
X [ 2r ] x[ k ] x[ k N / 2]W rk
N /2
r 0,1 N / 2 1
k 0
N / 2 1
X [2r 1] x[ k ] x[ k N / 2]W k
N W rk
N /2
k 0
x[0] X[0]
x[1] X[2]
4点
x[2] DFT X[4]
x[3] X[6]
x[4] WN0
-1 X[1]
x[5] WN1
-1 4点 X[3]
x[6]
WN2 DFT
-1 X[5]
3
x[7]
WN
-1 X[7]
x[0] X[0]
2点
x[1] DFT X[4]
0
W N
x[2] -1
X[2]
2
2点
W DFT
x[3] -1
N X[6]
0
x[4]
W
N X[1]
-1 2点
1
x[5] W
N DFT X[5]
-1
2 0
x[6] W
N WN X[3]
-1 -1 2点
3 2
x[7] W
N WN DFT X[7]
-1 -1
x[0] X[0]
x[1] WN0
-1
X[4]
x[2] WN0
-1
X[2]
利用 FFT 计算 IFFT
利用 N 点复序列的 FFT 算法计算
两个 N 点实序列 FFT
1
DFT x1[k ] YR [m] YR [(m) N ] j (YI [m] YI [(m) N ])
2
1
DFT x 2 [k ] YR [m] YR [(m) N ] j (YI [m] YI [(m) N ])
2j
利用 N 点复序列的 FFT ,计算 2N 点序列的 FFT
y[k] 是一个长度为 2N 的序
列
x1[k ] y[2k ]
y[k ] k 0,1, N 1
x 2 [k ] y[2k 1]
1 N 1 mk
x[k ] X [m]W N
N m 0