快速傅里叶变换-基4时间抽取FFT算法matlab实现.doc

快速傅里叶变换-基4时间抽取FFT算法matlab实现.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 快速傅里叶变换-基4时间抽取FFT算法matlab实现 作者姓名:李林 摘要: ( 快速傅里叶变换) 算法与 (离散傅里叶变换) 算法比较, 其运算量显著减少, 用计算机实现时速度大为提高。但过程所需的运算量仍较可观, 常给数字信号的实时处理带来困难,理论和实践表明, 若要加快 算法在计算机上的实现, 关键是得设法减少 过程在乘法运算上的时间开销。若改进算法, 减少过程中的乘法次数, 则无疑能加快 的实现 。 通常的 幂法都是“基 分解法” , 即长度为 的 序列由两个长度为 的序列的组合表示; 而这两个长度为 的 序列各自又分别由两个长度为 的序列的组合表示 , 按照这一做法对序列进行反复分解, 直到每个序列的长度等于为止。这个分解、组合过程如同一棵标准二叉树。按分解的逆过程进行组合运算便得到所要求的频谱序列 , , ) 整个变换过程共需要进行次复数乘法运算。参考上述的分解、组合方法, 对序列进行“ 基 分解” , 即长度为 的 序列由四个长度为的 序列组合表示。 关键词: 基分解法 基分解 运算时间和精度 目录 一,前言 1,实验目的 2,题目要求 3,考查要求 二,基—4FFT算法原理 1,基—4FFT定义: 2,举例 3,旋转因子 的性质 4,16点基4时间抽取FFT算法流图 三,基—4FFT运算的实现 1,算法分析 2.算法流程图 3.Matlab程序执行结果 四,两种程序运算量分析和比较 1,matlab自带函数运算量分析 2,基四FFT的运算量 3,运算结果比较 4,结果分析 五,设计总结 六,参考文献 七,附录: 一,前言 1,实验目的:检查学生的综合应用能力。 2,题目要求:已知 输入信号x(t)=0.6sin(200πt)+sin(400πt) +0.3sin(800πt) 。实现基4时间抽取的FFT算法的1024点,4096点变换,并与matlab自带函数进行比较,包括运算时间和精度 3,考查要求 (1)给出快速傅里叶变换程序; (2)对给定信号进行频谱分析; (3)给出与matlab自带函数比较结果 二,基—4FFT算法原理 1,基—4FFT定义: 在的特殊情况下,即当时,混合基算法变成基—4FFT算法。 2,举例 以 则有 因而 整序后可得 综上得它的基本运算有三部: (1)做X(n)的 (2)将乘旋转因子后做4点的(变量为),得到 (3)由于的变量是在前,在后,是基4倒位序的序列,因此,将其变量整序后得到正常顺序输出的序列。 3,旋转因子 的性质 (1) 周期性 对称性 (3) 可约性 4,16点基4时间抽取FFT算法流图 三,基—4FFT运算的实现 算法分析 (1)实现输入数据的比特反转 输入数据的比特反转实际上就是将输入数据进行码位倒置,以便在整个运算后输出序列是一个自然序列。在用汇编指令进行码位倒置时,使用位码倒置寻址可以大大提高程序执行速度和使用存储器的效率。在这种寻址方式下,AR0存放的整数N的FFT点的一半,一个辅助寄存器指向一个数据存放单元。当使用位码倒置寻址将AR0加到辅助寄存器时,地址将以位码倒置的方式产生。 (2)实现N点复数FFT N点复数FFT算法的实现可分为三个功能块,即第一级蝶形运算、第二级蝶形运算、第三级至级蝶形运算。队以任何一个4的整数幂N=4^M,总可以通过M次分解后最后成为四点的DFT运算。通过这样的M次分解,可以构成M级迭代计算,每级由N/4个蝶形运算完成。 2.算法流程图如下 for(L=1; L=M; L++) for(L=1; L=M; L++) for(J=0; J=B-1; J++) · for(k = J; k= N-1; k=k+2L) 3.Matlab程序执行结果如下 基四FFT自编函数1024点的频谱图,程序见附录 基四FFT自编函数1024点的频谱图,程序见附录 四,两种程序运算量分析和比较 1,matlab自带函数运算量分析 计算机运算是计算方式如下 由以上表达是知计算一个 N点DFT ,共需次复乘,对于本题的点计算的次数为:,对于4096点计算的次数为 2,基四FFT的运算量 由于计算量大,且要求相当大的内存,难以实现实时处理,限制了DFT的应用。长期以来,人们一直在寻求一种能提高DFT运算速度的方法 FFT便是 Cooley Tukey 在1965 年提出的的快速算法,它可以使运算速度提高几百倍,从而使数字信号处理学科成为一个新兴的应用学科。 1)、DIT―FFT算法与直接计算DF

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档