- 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变换讲解
自然顺序n 二进制码表示 码位倒读 码位倒置顺序n’ 以N=8为例: 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 000 100 010 110 001 101 011 111 0 4 2 6 1 5 3 7 看出:码位倒读后的顺序刚好是数据送入计算机内的顺序。 倒序规律 000 100 010 110 001 101 011 111 规律:若已知某位置反序号二进制数J,则下一个反序号为J的高位加1,逢2向右进位。 如上所述,N点DIT―FFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WNP,称其为旋转因子,p称为旋转因子的指数。 3)旋转因子的变化规律 观察FFT运算流图发现,第L级共有2L-1个不同的旋转因子。N=23=8时的各级旋转因子表示如下: L=1时,WNp=WN/4J, N/4 =21 =2L, J=0 L=2时, WNp =WN/2J, N/2 =22 =2L, J=0,1 L=3时, WNp =WNJ, N =23 =2L, J=0,1,2,3 对N=2M的一般情况,第L级的旋转因子为: 设序列x(n)经时域抽选(倒序)后,存入数组X中。如果蝶形运算的两个输入数据相距B个点,应用原位计算,则蝶形运算可表示成如下形式: 下标L表示第L级运算,XL(k)则表示第L级运算后数组元素X(k)的值。 4) 编程思想及流程图 开始 送入x(n)和N=2M 调整输入x(n)的顺序 for(L=1; L=M; L++) B = 2L-1 for(J=0; J=B-1; J++) p = J·2M-L for(k = J; k= N-1; k=k+2L) 输出结果 结束 第四节 按频率抽选的基2-FFT算法 在基2快速算法中,频域抽取法FFT也是一种常用的快速算法,简称DIF―FFT。 设序列x(n)长度为N=2M,首先将x(n)前后对半分开,得到两个子序列,其DFT可表示为如下形式 DIF―FFT一次分解运算流图(N=8) 4点DFT 4点DFT x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) X(0) X(2) X(4) X(6) X(1) X(3) X(5) X(7) x1(0) x1(1) x1(2) x1(3) x2(0) x2(1) x2(2) x2(3) DIF―FFT二次分解运算流图(N=8) DIF―FFT运算流图(N=8) 时间抽取算法与频率抽取算法的比较 1) 频率抽选法和时间抽选法总的计算量是相同的 复乘: 复加: 2) 频率抽取法和时间抽取法一样,都适用于原位运 算, 即蝶形的输入和输出占用同一个存储单元。 3) 均存在码位倒序问题。 4) 频率抽选法和时间抽选法一样,基本运算也是蝶形 运算。但两者的蝶形形式略有不同。 第五节 IDFT的快速算法-IFFT 上述FFT算法流图也可以用于离散傅里叶逆变换(Inverse Discrete Fourier Transform,简称IDFT)。 比较DFT和IDFT的运算公式: 1) 旋转因子: 2) 系数: DIT―IFFT运算流图 DIT―IFFT运算流图(防止溢出) 如果希望直接调用FFT子程序计算IFFT,则可用下面的方法: 对上式两边同时取共轭,得: 例1、如果通用计算机的速度为平均每次复乘需要 5?s,每次复加需要0.5?s,用它来计算512点 的DFT[x(n)],问: 1)直接计算需要多少时间? 2)用FFT需要多少时间? 解:1)用DFT进行运算: 复乘:T1=N2×5×10-6=1.31072秒 复加:T2=N(N-1)×0.5×10-6=0.130816秒 总共:T=T1+T2=1.441536秒 2)用FFT进行运算: 复乘:T1’=(N/2)log2N×5×10-6=0.01152秒 复加:T2’= Nlog2N ×0.5×10-6=0.002304秒 总共:T’=T1’+T2’=0.013824秒 例2、长度为240点的序列x(n)与长度为N点的h(n)卷 积。当N=10和240时,直接进行卷积 x(n)*h(n) 和用 IFFT[X(K)·H(K)] 的方法相比,那种方法求 解y(n)的效率更高? x(n) h(n) y(n)=x(n)*h(n) L≥N1+N2-1 X(k) 补L-N1个零 x(n) L点DFT 补L-N2个零 h(n) L点DFT L点IDFT y(n) = x(n)*h(n
文档评论(0)