ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:129.85KB ,
资源ID:2353240      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2353240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(按时间抽取的基2FFT算法分析及MATLAB实现.docx)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

按时间抽取的基2FFT算法分析及MATLAB实现.docx

1、按时间抽取的基 2FFT 算法分析及 MATLAB 实现一、DIT-FFT 算法的基本原理基 2FFT 算法的基本思想是把原始的 N 点序列依次分解成一系列短序列,充分利用旋转因子的周期性和对称性,分别求出这些短序列对应的 DFT,再进行适当的组合,得到原 N 点序列的 DFT,最终达到减少运算次数,提高运算速度的目的。按时间抽取的基 2FFT 算法,先是将 N 点输入序列 x(n)在时域按奇偶次序分解成 2 个 N/2 点序列 x1(n)和 x2(n),再分别进行 DFT 运算,求出与之对应的 X1(k)和 X2(k),然后利用图 1 所示的运算流程进行蝶形运算,得到原 N 点序列的 DFT

2、。只要 N 是 2 的整数次幂,这种分解就可一直进行下去,直到其 DFT 就是本身的 1 点时域序列。图 1 DIT-FFT 蝶形运算流图2、DIT-FFT 算法的运算规律及编程思想1.原位计算 对 N= 点的 FFT 共进行 M 级运算,每级由 N/2 个蝶形运算组成。在同一级中,每个蝶的M2输入数据只对本蝶有用,且输出节点与输入节点在同一水平线上,这就意味着每算完一个蝶后,所得数据可立即存入原输入数据所占用的数组元素(存储单元) ,经过 M 级运算后,原来存放输入序列数据的 N 个存储单元中可依次存放 X(k)的 N 个值,这种原位(址) 计算的方法可节省大量内存。2.旋转因子的变化规律N

3、 点 DITFFT 运算流图中,每个蝶形都要乘以旋转因子 ,p 称为旋转因子的指数。例WN如 N8 时各级的旋转因子:32第一级:L=1, 有 1 个旋转因子: = = J=0pNJ/4J2L第二级:L=2,有 2 个旋转因子: = = J=0,1pWNJ/2JL第三级:L=3,有 4 个旋转因子: = = J=0,1,2,3pJ2L对于 N 的一般情况,第 L 级共有 个不同的旋转因子:M21-L= J=0,1,2, , 1 pWJ2L-2= = NM-M-L故: 按照上面两式可以确定第 L 级运算的旋转因子3、同一级中,同一旋转因子对应蝶形数目第 L 级 FFT 运算中,同一旋转因子用在

4、个蝶形中;L-M24、 同一级中,蝶形运算使用相同旋转因子之间相隔的“ 距离”第 L 级中,蝶距:D= ;L25、同一蝶形运算两输入数据的距离 在输入倒序,输出原序的 FFT 变换中,第 L 级的每一个蝶形的 2 个输入数据相距:B=。 1-L26、码位颠倒输入序列 x(n)经过 M 级时域奇、偶抽选后,输出序列 X(k)的顺序和输入序列的顺序关系为倒位关系。将十进制顺序数用 I 表示,与之对应的二进制是用 IB 表示,十进制倒序数用 J 表示,与之对应的二进制是用 JB 表示。十进制顺序数 I 增加 1,相当于 IB 最低位加 1 且逢 2 向高位进1,即相当于 JB 最高位加 1 且逢 2

5、 向低位进 1。JB 的变化规律反映到 J 的变化分为两种情况,若 JB 的最高位是 0(J=K; J=J-K;K=K/2; endJ=J+K;end disp(倒序后各存储单元的数据:),disp(xn); % 分级按序依次进行蝶形运算 for L=1:M;%分级计算 disp(运算级次: ),disp(L); B=2(L-1); for R=0:B-1;%各级按序蝶算 P=2(M-L)*R; for K=R:2L:N-2;%每序依次计算 T=xn(K+1)+xn(K+B+1)*WN(P+1); xn(K+B+1)=xn(K+1)-xn(K+B+1)*WN(P+1);xn(K+1)=T;en

6、denddisp(本级运算后各存储单元的数据:),disp(xn);end在主函数中调用 myDitFFT(xn)函数实现 DIT-FFT 并和直接 DFT 运算结果做对比:xn=0,1,2,3,4,5,6,7;myDitFFT(xn);调用 fft 函数运算的结果:1 至 7 列28.0000 + 0.0000i -4.0000 + 9.6569i -4.0000 + 4.0000i -4.0000 + 1.6569i -4.0000 + 0.0000i -4.0000 - 1.6569i -4.0000 - 4.0000i8 列-4.0000 - 9.6569i调用 myDitFFT(xn

7、)函数运行的结果:输入到各存储单元的数据:0 1 2 3 4 5 6 7倒序后各存储单元的数据:0 4 2 6 1 5 3 7运算级次:1本级运算后各存储单元的数据:4 -4 8 -4 6 -4 10 -4运算级次:2本级运算后各存储单元的数据:1 至 7 列12.0000 + 0.0000i -4.0000 + 4.0000i -4.0000 + 0.0000i -4.0000 - 4.0000i 16.0000 + 0.0000i -4.0000 + 4.0000i -4.0000 + 0.0000i8 列-4.0000 - 4.0000i运算级次:3本级运算后各存储单元的数据:1 至 7

8、 列28.0000 + 0.0000i -4.0000 + 9.6569i -4.0000 + 4.0000i -4.0000 + 1.6569i -4.0000 + 0.0000i -4.0000 - 1.6569i -4.0000 - 4.0000i8 列-4.0000 - 9.6569i经对比可知 DIT-FFT 与直接 DFT 的运行结果完全相同。4、总结经过验证可发现 DIT-FFT 较直接 DFT 运算有着明显的优势,我们可以将这个函数运用在多个领域以简化运算,例如计算离散时间序列的卷积或计算 IDFT 时都可以应用到 DIT-FFT 算法,我感受到数字信号处理中科学思想的魅力。由

9、于对设计思路的缺乏,我在设计程序时,在网络上查找了很多有关 DIT-FFT 的资料,经过学习他人的解决思路最后才整理出 DIT-FFT的程序,在有些地方我自己理解的还不是很透彻,比如在实现数据倒序的程序我认为比较困难;当然即使自己想不到能学习一下别人的思路也是很好的,这个程序的代码量并不大,我自身的能力还很低,要在以后的学习中不断进步才能完成更加复杂的任务。这次课程设计让我对快速傅里叶变换有了更多的了解,也认识到了科学计算方法的重要性,我感到很充实。参考文献百度百科;按时间抽取的基 2FFT 算法分析及 MATLAB 实现J.电子技术,2011(2)数字信号处理 (第四版)西安电子科技大学出版社 高希全 丁玉美 编

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。