- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数字信号处理课件第四章FFT
第四章 快速傅里叶变换 本章目录 直接计算DFT的问题及改进的途径 4.1 引言 DFT在实际应用中很重要: 可以计算信号的频谱、功率谱和线性卷积等。 直接按DFT变换进行计算,当序列长度N很大时,计算量非常大,所需时间会很长。 FFT并不是一种与DFT不同的变换,而是DFT的一种快速计算的算法。 4.2 直接计算DFT的问题及改进的途径 DFT的运算量 4.2.1 DFT的运算量 DFT运算量的结论 4.2.2 减少运算工作量的途径 把长序列分解成短序列计算,然后再组合出结果。 根据这两点提高计算效率的方法,提出了多种不同的算法。 1965年,库利(J.W.Cooley)和图基(J.W.Tukey)在Mathematics of Computation杂志发表论文《机器计算傅立叶级数的一种算法》,首先提出FFT算法,这就是库利——图基算法(时间抽取基2FFT算法)。对于N点DFT,仅需(N/2)log2N 次复数乘法运算.例如N=1024=210 时,需要(1024/2)log2 210 =512*10=5120次。5120/1048576=4.88% ,速度提高20倍 在此基础上又发展出许多改进算法如:桑德——图基算法(频率抽取基2FFT算法);WFTA算法(小N素数组合算法);CZT算法(线性调频Z变换算法);ZFFT算法(局部频谱细化算法)等等。 4.3 按时间抽取的基2-FFT算法 算法原理 按时间抽取基-2FFT算法与直接计算DFT运算量的比较 按时间抽取的FFT算法的特点 按时间抽取FFT算法的其它形式流程图 FFT算法分类: 时间抽选法 DIT: Decimation-In-Time 频率抽选法 DIF: Decimation-In-Frequency 1、算法原理 设序列点数 N = 2L,L 为整数。 若不满足,则补零 则x(n)的DFT: 蝶形运算 以8点为例第一次按奇偶分解 蝶形运算量比较 进一步按奇偶分解 以8点为例第二次按奇偶分解 算法原理 以8点为例第三次按奇偶分解 4.3.2 按时间抽取基2-FFT算法与直接计算DFT运算量的比较 FFT算法与直接DFT算法运算量的比较 4.3.3 按时间抽取的FFT算法的特点 序列的逆序排列 倒位序的变址处理(N=8) 码位的倒位序(N=8) 2. 同址运算(原位运算) 观察原位运算规律 3. 蝶形运算两节点间的距离 4. 的确定 FFT(IFFT)算法的实现: 1.纯软件实现 2.硬件实现 3.DSP(软硬件结合) 顺序、混序与位倒序 DIT与DIF总有一边是混序的 绝大多数DSP都提供了位倒序(bit reverse)寻址指令可直接对输入序列进行码位倒序寻址 4.4 按频率抽取的基2-FFT算法 算法原理 按频率抽取(DIF) x1[n] = x[n] x2[n] = x[n+N/2] n=0,1,……,N/2-1 按频率抽取(DIF) 按频率抽取(DIF) DIT与DIF DIT输入是混序的,频域的输出是顺序的 DIF输入是顺序的,频域的输出是混序的 DIT的复数乘法出现在加减之前 DIF的复数乘法出现在加减之后 4.5 快速傅里叶逆变换(IFFT)算法 1.比较DFT与IDFT的计算公式 比较两式可知只要将FFT中的旋转因子 为 , 再乘以1/N即可得到IDFT的快速算法 IFFT 。 另外,可将常数1/N分配到每级运算中, 因为 ,也就是每级蝶形运算均乘以1/2 快速傅里叶逆变换另一种算法 FFT of sin(x) fft in MATLAB fft and ifft, for one dimension fft2, ifft2, fftn, two and multi-dimensions, fftshift, ifftshift, shift the DC component to the middle of the spectrum, 4.实序列的FFT算法(作业完成) 用N/2点FFT计算N点实序列的DFT。 设 为N点实序列,则有 所以有 对 做N/2点FFT,输出 ,则 根据DIT-FFT算法,可得到 由于 为实序列,所以
文档评论(0)