最详细的快速傅里叶变换的.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最详细的快速傅里叶变换的

FFT算法与直接计算DFT所需乘法次数的比较曲线 4、DIT―FFT的运算规律及编程思想 FFT的每级(列)计算都是由N个复数数据(输入)两两构成一个蝶型(共N/2个蝶形)运算而得到另外N个复数数据(输出)。 当数据输入到存储器以后,每一组运算的结果,仍然存放在这同一组存储器中直到最后输出。 例:将x(0)放在单元A(0)中,将x(4)放在单元A(1)中,W80 放在一个暂存器中。 将x(0) + W80x(4) → 送回A(0)单元 将x(0) - W80x(4) → 送回A(1)单元 X3(0) X3(1) x(0) x(4) 1) 原位运算 (亦称同址计算) x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) 回顾:N点DIT―FFT运算流图(N=8) 如上所述,N点DIT―FFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WNP,称其为旋转因子,p称为旋转因子的指数。 2)旋转因子的变化规律 观察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个点(B=2L-1),应用原位计算,则蝶形运算可表示成如下形式: 下标L表示第L级运算,XL(J)则表示第L级运算后数组元素X(J)的值。 3) 编程思想及流程图 开始 送入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) 输出结果 结束 4)码位倒序 由N=8蝶形图看出:原位计算时,FFT输出的X(k)的次序正好是顺序排列的,即X(0)…X(7),但输入x(n)都不能按自然顺序存入到存储单元中,而是按x(0),x(4),x(2),x(6) ,x(1),x(5),x(3),x(7)的顺序存入存储单元,即为乱序输入,顺序输出。 这种顺序看起来相当杂乱,然而它是有规律的。即码位倒读规则。 自然顺序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 看出:码位倒读后的顺序刚好是数据送入计算机内的顺序。 倒序规律 对于数N,在其二进制最高位加1,等于加N/2。 若已知某个反序号为J,为求下一个反序号,可先判J的最高位: 1) 若为0,则把该位变成1(即加N/2)就得到下 一个反序号, 2) 若为1,则需判断次高位: ① 若次高位为0,则把最高位变0(相当减去 N/2)后,再把次高位变1(即加N/4)。 ② 若次高位为1,则需判断次次高位…… 分析: 倒 序 排 列 算 法 的 流 程 图 正序序列已在数组A[ ] 中,输 入 N LH= N/2 , j=LH , N1 = N-2 j=j-k k=k/2 k=LH jk j=j+k T = A(j) A(i) = A(j) A(j) = T for(i=1; i=N1; i++) i ≥ j N Y Y N 第四节 按频率抽选的基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

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档