您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于MATLAB的FFT算法的设计
唐山学院数字信号处理课程设计题目基于MATLAB的FFT算法的设计系(部)智能与信息工程学院班级13电信本1班姓名李玉娇学号4130220204指导教师王超张雅静2016年2月29日至3月11日共2周2016年3月11日目录1引言............................................................................................................................12设计任务和原理........................................................................................................22.1设计任务...........................................................................................................22.2设计原理...........................................................................................................23软件介绍.....................................................................................................................53.1软件概述...........................................................................................................53.2界面基本操作...................................................................................................53.3MATLAB主要特点..............................................................................................84MATLAB程序实现...................................................................................................94.1程序流程图.......................................................................................................94.2程序分析...........................................................................................................94.2.1原始图像程序及分析.............................................................................94.2.2灰度图像程序及分析...........................................................................104.2.3自建的FFT程序及分析......................................................................114.2.4自建的IFFT程序及分析....................................................................124.2.5内置的FFT程序及分析......................................................................124.2.6内置的IFFT程序及分析....................................................................134.3程序运行结果.................................................................................................134.4自建FFT与内置FFT图形及比较...............................................................144.5IFFT结果与原灰度图形及比较...................................................................155GUI界面..................................................................................................................165.1GUI简介........................................................................................................165.2界面设计.........................................................................................................165.3运行调试.........................................................................................................196总结体会...................................................................................................................20参考文献......................................................................................................................21附录ⅠFFT算法的程序.............................................................................................22附录ⅡGUI设计的程序............................................................................................26课程设计说明书11引言数字信号处理(DigitalSignalProcessing,DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科,是一种通过使用数学技巧执行转换或提取信息,来处理显示信号的方法,这些信号由数字序列表示。随着信息时代,数字时代的到来,数字信号处理已经成为一门极其重要的学科和技术领域。以DSP为核心芯片的处理系统日益变成了数字信号处理系统的主流。它广泛用于电子信息、通信、图像处理、语音处理、生物医学、自动控制、地质探测等领域,受到工程设计和使用人员的青睐。FFT(FastFourierTransformation),即为快速傅立叶变换,是离散傅立叶变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步,在实际应用中,FFT是最常见的数字信号处理算法,它在各种数字信号处理系统中扮演重要的角色。在信号处理过程中。频域分析往往比时域分析方便和高效,FFT是时域和频域转换的基本运算。正是鉴于DFT极为复杂的时间复杂度,1965年J.W.Cooley和J.W.Tukey巧妙的利用WN因子的周期性和对称性,提出了一个DFT的快速算法,即快速傅立叶变换(FFT),从而使得DFT在信号处理中才得到真正的广泛应用。DFT是一种应用广泛的数学变换工具,MATLAB是一款功能强大的科学计算语言。MATLAB提供的FFT函数解决了DFT的快速计算问题,但由于它是内建函数而不能了解到软件实现的过程。本文以按时间抽取的基2FFT算法为例,根据快速傅立叶变换的原理和规律,绘出了算法实现的程序框图,列出了MATLAB环境下软件实现的程序,建立了从算法理论到程序实现的完整概念。在信号处理中,DFT(离散傅立叶变换)的计算具有举足轻重的地位。但是基于其复杂的计算,直接应用起来十分麻烦,基于此,本文利用MATLAB软件对有限长度信号的DFT进行改进,提出FFT(快速傅立叶变换),并利用FFT对所给连续时间和离散时间信号做了频谱分析。图像信号的处理主要是用MATLAB作为工具平台,设计中涉及到图像的选取、存储和读取、灰度处理、FFT变换、IFFT变换、频谱分析。通过数字信号处理课程的理论知识的综合运用,以及选做系统人机对话界面,用GUI界面完成人机交互使用,从实践上初步实现对数字信号的处理。课程设计说明书22设计任务和原理2.1设计任务所设计的FFT算法应完成以下功能:(1)在MATLAB环境下编写FFT算法(不调用系统现有函数);(2)实现对选定图片进行FFT计算、还原(IFFT计算),并与系统FFT函数做对比,进行分析;(3)设计GUI界面。设计要求:1.根据题目要求进行算法GUI总体设计。2.完成算法具体部分的设计。(1)算法原理图。(2)算法原理说明。3.算法程序的设计。(1)对选定图片进行自编FFT计算与还原,并与自带函数进行对比;(2)完整源程序。2.2设计原理对于有限长序列x(n),若要求其N点的傅里叶变换(DFT)需要经过2N次复数乘法运算和N*(N-1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间和机器内存,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。因此,研究作为DSP的快速算法的FFT是相当必要的,快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法,快速算法的种类很多,而且目前仍在改进和提高,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。基于本学期所学的DIT-FFT的运算规律和编程思想以及MATLAB的学习和使用,本课设要求在MATLAB环境下编写基-2DIT-FFT算法实现对离散信号的快速傅里叶变换,再与MATLAB软件自带的FFT函数实现对离散信号的傅里叶变换进行比较,如果得到的频谱相同,那么我们编写的程序就是正确的。其中离散信号是自己选取的图像信号,用MATLAB处理得到频谱图以及选用系统人机对话界面,用GUI界面完成人机交互。快速傅立叶变换(FFT)是为提高DFT运算速度而采用的一种算法。课程设计说明书3对一个有限长度序列x(n)的N点的DFT为:10Xk(n),0,1,2,...,N1NnkN
本文标题:基于MATLAB的FFT算法的设计
链接地址:https://www.777doc.com/doc-2534350 .html