(新版)第四章快速傅里叶变换(FFT)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FFT算法分类:
时间抽选法 DIT: Decimation-In-Time
频率抽选法 DIF: Decimation-In-Frequency
§4.3 按时间抽取(DIT)的FFT算法
(Decimation In Time)
1、算法原理
设序列点数 N = 2L,L 为整数。 若不满足,则补零
N为2的整数幂的FFT算法称基-2FFT算法。 将序列x(n)按n的奇偶分成两组:
N / 21
x1(r) WNrk/ 2 WNk
x2 (r)WNrk/ 2
r0
r0
X1 (k )
X 2 (k )
(这一步利用: WN2rk WNrk/ 2 ) r, k 0,1,...N / 2 1
记: X (k) X1(k) WNk X 2 (k)
………(1)
再利用周期性求X(k)的后半部分
DFT是信号分析与处理中的一种重要变换。因 直接计算 DFT 的计算量与变换区间长度N的平方成 正比,当N较大时,计算量太大,直接用 DFT 算法 进行谱分析和信号的实时处理是不切实际的。
快速傅里叶变换 (Fast Fourier Transform ,FFT) 并不是一种新的变换形式,它只是离散傅里叶变换 (Discrete Fourier Transform ,DFT) 的一种快速算法。 并且根据对序列分解与选取方法的不同而产生了多 种FFT算法。
X
1
(
N 2
X 2 (k),k k ) WN(N
0,1,2,...N
/
2k
)
X
2
(
N 2
/
2 k
)
1
(2)
X1(k) WNk X 2 (k),k 0,1,2,...N / 2 1
X
X (k
(k) N)
2
X1(k ) WNk X 2 (k ) X1(k ) WNk X 2 (k )
§4.1 引言
• DFT的快速算法——快速傅里叶变换(FFT) • 1965年,Cooley-Turky 发表文章《机器计算傅
里叶级数的一种算法》,提出FFT算法,解决 了DFT运算量太大,在实际使用中受限制的问 题。
• FFT的应用。频谱分析、滤波器实现、实时信 号处理等。
• DSP芯片实现。TI公司的TMS 320c30,10MHz 时钟,基2-FFT1024点FFT时间15ms。
N (N/2 –1)
一个蝶形
1
2
N/2个蝶形
N/2
N
总计
N 2 / 2 N / 2 N N / 2 1 N
N2/2
N2/2
运算量减少了近一半
进一步分解
由于 N 2M ,N 2M 1 仍为偶数,因此,两个
WNNk WNnk
WNnN WNnk
WNnk WN( N n)k WNn( N k )
可约性
WNnk
W mnk mN
WNnk
W nk / m N /m
j 2 mnk
e mN
j 2 N
e N2
e j
1
特殊点: WN0 1
W N/2 N
1
W (kN /2) N
WNk
FFT 算法的基本思想: 利用DFT系数的特性,合并DFT 运算中的某些项, 把长序列DFT 短序列DFT,从而减少其运算量。
W W r( N / 2k )
rk
N /2
N /2
X
1
N 2
k
N / 21
x1
(r
)WNr
( /
N 2
/
2k
)
r0
N / 21
x1(r)WNrk/ 2
r0
X1(k)
X
2
N 2
k
X 2(k)
又WNk
N 2
WNN / 2WNk
WNk
X X
(k) (N
2
X1 k)
(k
) WNk
1965年,Cooley, Tukey 《机器计算傅里叶级数的一种算法》 Cooley J. W., Tukey J. W.. An algorithm for the machine computation of complex Fourier series. Mathematics of Computation, 1965, pp297~301
x(n)
1 N
N 1
X (k )WNkn
k 0
2、DFT与IDFT运算特点
复数乘法 复数加法
N 1
x(n)WNnk
n0
一个X(k) N个X(k)
N
N–1
N 2 N (N – 1)
(N点DFT)
a jbc jd ac bd j ad cb
实数乘法 实数加法
一次复乘 4
2
一次复加
2
第四章学习目标
• 理解按时间抽选的基-2FFT算法的算法原 理、运算流图、所需计算量和算法特点
• 理解按频率抽选的基-2FFT算法的算法原 理、运算流图、所需计算量和算法特点
• 理解IFFT算法
• 了解CZT算法
• 理解线性卷积的FFT算法及分段卷积方法
第四章 快速傅里叶变换
FFT: Fast FouriBiblioteka Baidur Transform
x1 (r ) x2 (r)
x(2r) ,r x(2r 1)
0,1,2,...N/2
1
将N点DFT定义式分解为两个长度为N/2的DFT
X
(k
)
DFT
x(n)
N 1
n0
x(n)WNkn
N / 21
N / 21
x(2r)WN2rk
x(2r
1)
W (2r N
1)
k
r0
r0
n为偶
n为奇
N / 21
一个X (k) 4N
2N+2 (N – 1)=2 (2N – 1)
N个X (k) 4N 2
2N (2N – 1)
(N点DFT)
同理:IDFT运算量与DFT相同。
3、降低DFT运算量的考虑
WNnk的特性
WNnk
j 2 nk
e N
对称性
周期性
(WNnk )* WNnk WN( N n)k WNn( N k )
• 典型应用:信号频谱计算、系统分析等
频谱分析与功率谱计算
x(n) DFT X (k)
系统分析
x(n) h(n) y(n)
x(n) FFT
IFFT y(n)
h(n) FFT
§4.2 直接计算DFT的问题及改进途径
1、 DFT与IDFT
N点有限长序列x(n)
N 1
X (k) x(n)WNkn n0
k
0,1,...,
N
/
2
1
将上式表达的运算用一个专用“蝶形”信流图表示。
注:a. 上支路为加法,下支路为减法; b. 乘法运算的支路标箭头和系数。
用“蝶形结”表示上面运算的分解N: 8 23
分解后的运算量:
复数乘法 复数加法
一个N/2点DFT (N/2)2
N/2 (N/2 –1)
两个N/2点DFT N2/2
相关文档
最新文档