- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字信号处理及DSP技术(Digital Signal Processing and DSP Technology) 数字信号处理课程组 电子与信息工程学院第3章 快速傅里叶变换 3.1 引言 3.2 直接计算DFT的问题及改进的途径 3.3 按时间抽取(DIT)的基2-FFT算法 3.4 按频率抽取(DIF)的基2-FFT算法 3.5 N为复合数的FFT算法 3.6 线性调频Z变换(Chirp-Z变换)算法 3.7 利用FFT分析时域连续信号频谱 3.8 FFT的其他应用 3.1 引 言 快速傅里叶变换(FFT)并不是一种新的变换,而是DFT的一种快速算法。离散傅里叶变换(DFT)在数字信号处理中是非常有用的。例如,在信号的频谱分析、 系统的分析、 设计和实现中都会用到DFT的计算。 但计算量太大,很难对问题进行实时处理,所以并没有得到真正的运用。直到1965年首次发现了快速傅里叶变换(FFT)的算法。使DFT的运算大大简化,运算时间一般可缩短一二个数量级之多,从而使DFT的运算在实际中真正得到了广泛的应用。 3.2 直接计算DFT的问题及改进的途径 3.2.1 直接计算DFT的运算量问题k=0, 1, …, N-1 (3-1) n=0, 1, …, N-1 (3-2) 二者只是WN的指数符号不同,以及差一个因子1/N,所以IDFT与DFT具有相同的运算工作量。 一般来说,x(n)和WNnk都是复数,X(k)也是复数,因此每计算一个X(k)值,需要N次复数乘法和N-1次复数加法。 X(k)一共有N个点(k从0取到N-1),所以完成整个DFT运算总共需要N2次复数乘法及N(N-1)次复数加法。直接计算DFT的运算量问题完整DFT共需4N2实数乘法+2N2实数加法+2N(N-1)次实数加法一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法需二次实数加法。因而每运算一个X(k)需4N次实数乘法和2N+2(N-1)=2(2N-1)次实数加法。所以,整个DFT运算总共需要4N2次实数乘法和2N(2N-1)次实数加法。 直接计算DFT的运算量问题 上述统计与实际运算次数稍有出入,因为某些WNnk可能是1或j,就不必相乘了,例如WN0=1,WNN/2=-1, WNN/4=-j等就不需乘法。为和其他运算方法作比较,一般都不考虑这些特殊情况,而是把WNnk都看成复数,当N很大时,这种特例的影响很小。 从上面的统计可以看到,直接计算DFT,乘法次数和加法次数都是和N2成正比的,当N很大时,运算量是很可观的,有时是无法忍受的。 例3-1 根据式(3-1),对一幅N×N点的二维图像进行DFT变换,如用每秒可做10万次复数乘法的计算机,当N=1024时,问需要多少时间(不考虑加法运算时间)?解 直接计算DFT所需复乘次数为(N2)2≈1012次,因此用每秒可做10万次复数乘法的计算机,则需要近3000小时。 这对实时性很强的信号处理来说,要么提高计算速度,而这样,对计算速度的要求太高了。另外,只能通过改进对DFT的计算方法,以大大减少运算次数。 --改善途径WNnk的以下固有特性,就可减少运算量: (1) WNnk的对称性 (2) WNnk的周期性 (3) WNnk的可约性 另外 3.3 按时间抽取(DIT)的基 -2 FFT算法 3.3.1 算法原理 设序列x(n)长度为N,且满足N=2M,M为正整数。按n的奇偶把x(n)分解为两个N/2点的子序列: 则可将DFT化为 DIT的基 -2 FFT算法原理 由于 , 故上式可表示成 (3-5) 式中,X1(k)与X2(k)分别是x1(r)及x2(r)的N/2点DFT: (3-6) (3-7) --DIT的基 -2 FFT算法原理 由此,一个N点DFT已分解成两个N/2点的DFT。 X1(k),X2(k)只有N/2个点,即k=0, 1, …, N/2-1。故用式(3-5)计算得到的只是X(k)的前一半的结果。同理--DIT的基 -2 FFT算法原理 这样,就可将X(k)表达为前后两部分: (3-11) (3-12) --图 3-1 时间抽取法蝶形运算流图符号 DIT的基 -2 FFT算法原理 图 3-2 N点DFT分解为两个N/2点DFT(N=8) --DIT的基 -2 FFT算法原理 第一次分解后的运算量:复数乘法复数加法一个N / 2点DFT(N / 2)2N / 2 (N / 2 –1)两个N / 2点DFTN 2 / 2N (N / 2 –1)一个蝶形12N / 2个蝶形N / 2N总计运算量减少了近一半将长序列DFT分解为短序列DFT把N点数据分成二半:其运算量为:+=再分二半:++=+这样一直分下去,剩下两点的变换。DIT的基
文档评论(0)