第五章 快速傅立叶变换 ( FFT )
description
Transcript of 第五章 快速傅立叶变换 ( FFT )
![Page 1: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/1.jpg)
第五章快速傅立叶变换( FFT )
![Page 2: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/2.jpg)
傅立叶变换
![Page 3: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/3.jpg)
傅立叶变换 时域 <——> 频域 离散信号 周期谱 周期信号 离散谱 离散周期信号 离散周期谱
![Page 4: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/4.jpg)
)()(00 tT
![Page 5: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/5.jpg)
DFT 的定义
)1,...,1,0(
)(1][
][)(
/21
0
1
0
/2
Nk
ekXN
nx
enxkX
NnkjN
k
N
n
Nnkj
![Page 6: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/6.jpg)
DFT 的定义
Nj
N
N
n
nkN
eW
WnxkX
2
1
0
][)(
![Page 7: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/7.jpg)
DFT 的定义
,...2,1,0,
))((
lm
WW nkN
lNkmNnN
![Page 8: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/8.jpg)
FFT
![Page 9: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/9.jpg)
将 N 点的序列分为两个 N/2 点的序列
x1[n] = x[2n]x2[n] = x[2n+1]
![Page 10: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/10.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
)(2)(1
][2][1
]12[]2[
][][)(
12/
02/
12/
02/
12/
0
)12(12/
0
2
1
0
1
0
kXWkX
WnxWWnx
WnxWnx
nn
WnxWnxkX
kN
N
n
nkN
kN
N
n
nkN
N
n
knN
N
n
nkN
nkN
N
n
N
n
nkN
为奇数为偶数
![Page 11: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/11.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
上式的最后一步是因为
2/
)2/
2(
2)2
(2 ][
N
Nj
Nj
N
We
eW
![Page 12: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/12.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
我们已经将一个 N 点的 DFT 分解成为两个 N/2 点的 DFT 。但是, X ( k )有 N 点,但 X1( k )和 X2 ( k )都只有 N/2 点,因此,前面计算的只是 X ( k )的前一半项的结果。
![Page 13: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/13.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
对于后一半 X ( k ),有
)(2)(1
)2/(2)2/(1)(
kXWkX
NkXWNkXkXkN
kN
kN
kN
NN
kNN WWWW )2/()2/(
这是因为
![Page 14: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/14.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
这样,只要计算出( 0 , N/2-1 )区间的 X1 ( k )和 X2( k ),也就可以很方便地计算整个( 0 , N-1 )区间的全部 X( k ),从而大大地节省了运算量。
![Page 15: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/15.jpg)
将 N 点 DFT 分为两个 N/2 点 DFT
![Page 16: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/16.jpg)
将 N/2 点 DFT 分为两个 N/4 点 DFT
![Page 17: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/17.jpg)
2 点 DFT
![Page 18: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/18.jpg)
8 点蝶 2FFT
![Page 19: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/19.jpg)
按频率抽取( DIF ) x1[n] = x[n]
x2[n] = x[n+N/2]
n=0 , 1 ,……, N/2-1
![Page 20: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/20.jpg)
按频率抽取( DIF )
12/
0
1
2/
12/
0
])[2][1(
][][)(
N
n
nkN
kj
N
Nn
nkN
N
n
nkN
Wnxenx
WnxWnxkX
![Page 21: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/21.jpg)
按频率抽取( DIF )
12/
02/
12/
0
12/
02/
12/
0
2
])[2][1(
])[2][1()12(
])[2][1(
)])([2][1()2(
)12(
N
nN
nN
N
nN
N
n
nkN
nkN
nN
nk
kn
WnxnxW
WnxnxkX
Wnxnx
WnxnxkX
![Page 22: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/22.jpg)
DIT 与 DIF
DIT 输入是混序的,频域的输出是顺序的 DIF 输入是顺序的,频域的输出是混序的
DIT 的复数乘法出现在加减之前 DIF 的复数乘法出现在加减之后
![Page 23: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/23.jpg)
![Page 24: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/24.jpg)
定点 DSP 计算 1024 点 FFT 的时间 DSP 时间( ms )TMS320C25 10.9TMS320C6201 0.067DSP56001 1.65
![Page 25: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/25.jpg)
浮点 DSP 计算 1024 点 FFT 的时间 DSP 时间( ms )TMS320C30 3.87TMS320C40 1.02ADSP21060 0.46DSP96001 0.6ADSP21160 0.45s
![Page 26: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/26.jpg)
顺序、混序与位倒序DIT 与 DIF 总有一边是混序的绝大多数 DSP 都提供了位倒序( bit r
everse )寻址指令
![Page 27: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/27.jpg)
溢出问题
在多级运算中,要充分注意溢出的问题,尤其是用定点 DSP时
![Page 28: 第五章 快速傅立叶变换 ( FFT )](https://reader033.fdocument.pub/reader033/viewer/2022061403/56813b21550346895da3d705/html5/thumbnails/28.jpg)
无论是 C 语言,还是 DSP汇编语言的 FFT 程序都有现成的程序可用