数字信号处理基于MATLAB的FFT算法设计课设说明书.doc

数字信号处理基于MATLAB的FFT算法设计课设说明书.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 1引言 1 2课设要求 2 2.1课设题目 2 2.2设计内容及要求 2 2.3要求的设计成果 2 3基于MATLAB的FFT算法实现 3 3.1系统总体流程图 3 3.2 DIT-FFT算法的基本原理 3 3.3 DIT-FFT算法的运算规律及编程思想 5 4 MATLAB实现程序 8 5用GUI界面实现运算 10 5.1 GUI简介 10 5.2界面设计 10 5.3 GUI实现程序 12 5.4运行调试 13 6自编算法与内置算法结果比较 14 7总结 15 参考文献 16 附录Ⅰ 17 附录Ⅱ 21 1引言 MATLAB是矩阵实验室Matrix Laboratory)的简称,是美国MathWorks公司出品的商数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB 的应用范围非常广包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱单独提供的专用 MATLAB 函数集扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。MATLAB重要应用的领域之一。 对于有限长序列x(n)若要求其N点的需要经过次复数乘法运算和N*(N-1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。因此,研究作为DSP的快速算法的FFT是相当必要的,而且目前仍在改进和提高,它是根据离散变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。MATLAB的学习和使用,本课设要求在MATLAB环境下编写基2 DIT-FFT算法实现对离散信号的快速傅里叶变换,再与MATLAB软件自带的FFT函数实现对离散信号的傅里叶变换进行比较,如果得到的频谱相同,那么我们编写的程序就是正确的。如果有能力可以选做系统人机对话界面,用GUI界面完成人机交互方便使用的。本课程设计主要是对数字信号的分析。 2课设要求 2.1课设题目 基于MATLAB的FFT算法的设计 2.2设计内容及要求 1.设计内容: 所设计的FFT算法应完成以下功能: (1) 在MATLAB环境下编写FFT算法(不调用系统现有函数); (2) 实现对选定图片进行FFT计算、还原(IFFT计算),并与系统FFT函数做对比,进行分析; (3) 设计GUI界面。 2.设计要求: (1) 根据题目要求进行算法GUI总体设计; (2) 完成算法具体部分的设计,即算法原理图和算法原理说明; (3) 算法程序的设计,即对选定图片进行自编FFT计算与还原,并与自带函数进行对比与完整源程序; (4) 书写设计说明书。 2.3要求的设计成果 (1) 设计结果能正确仿真演示; (2) 设计说明书一份(包括总体设计、算法原理图及说明、系统GUI演示、源程序清单等)。 3基于MATLAB的FFT算法实现 3.1系统总体流程图 3-1系统总体流程图 3.2 DIT-FFT算法的基本原理 快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法。 对一个有限长度序列x(n)的N点的DFT为: 所以,要求N点的DFT,需要N2次的复数乘法运算,N*(N-1)次复数乘法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间,不能满足实时的要求1) 周期性 (2) 共轭对称性 (3) 可约性 本次课设要求用基2的按时间抽取的FFT算法(DIT-FFT)实现FFT功能,设序列x(n)的长度为N,且N满足N=2M,M为正整数。若N不能满足上述关系,可以将序列x(n)补零实现。按时间抽取基2-FFT算法的基本思路是将N点序列按时间下标的奇偶分为两个N/2点序列,计算这两个N/2点序列的N/2点DFT,计算量可减小约一半;每一个N/2点序列按照同样的划分原则,可以划分为两个N/4点序列,最后,将原序列划分为多个2点序列,将计算量大大降低。 按时间下标的奇偶将N点x(n)分别抽取组成两个N/2点序列,分别记为x1(n)和x2(n),将x(n)的DFT转化为x1(n)和x2(n)的DFT的计算。 图3-2 DIT-FFT蝶形运算流图符号 以此类推,还可以把x1(n)和x2(n)按n值得奇偶分为两个序列,这样就达到了降N得目的,从而减少了运算量。FFT对DFT的数学运算量改进: 直接采用DF

文档评论(0)

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

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

1亿VIP精品文档

相关文档