欢迎来到天天文库
浏览记录
ID:34199300
大小:498.30 KB
页数:28页
时间:2019-03-04
《数字信号处理基于matlab的fft算法设计课设说明书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录1引言12课设要求22.1课设题目22.2设计内容及要求22.3要求的设计成果23基于MATLAB的FFT算法实现33.1系统总体流程图33.2DIT-FFT算法的基本原理33.3DIT-FFT算法的运算规律及编程思想54MATLAB实现程序85用GUI界面实现运算105.1GUI简介105.2界面设计105.3GUI实现程序125.4运行调试136自编算法与内置算法结果比较147总结15参考文献16附录I17附录II211引言随着信息时代,数字时代的到来,数字信号处理已经成为一门极其重要的学科
2、和技术领域。以DSP为核心芯片的处理系统日益变成了数字信号处理系统的主流。它广泛用于电子信息、通信、图像处理、语音处理、牛物医学、自动控制、地质探测等领域,受到工程设计和使用人员的青睐。MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测
3、量、财务建模和分析以及计算牛物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。它以矩阵运算为基础,把计算、可视化、程序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程适用软件。它可以将图片文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数据滤波、傅立叶变换、时域和频域分析以及各种图的呈现等,它的信号处理与分析工具箱为图片分析提供了十分丰富的功能函数,利用这些功能函数可以快
4、捷而乂方便的完成图片信号的处理和分析以及信号的可视化。数字信号处理是MATLAB重要应用的领域之一。对于有限长序列x(n),若要求其N点的傅里叶变换(DFT)需要经过山次复数乘法运算和N*(N・1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间和机器内存,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。
5、因此,研究作为DSP的快速算法的FFT是相当必要的,快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法,快速算法的种类很多,而且目前仍在改进和提高,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。2课设要求2.1课设题目基于MATLAB的FFT算法的设计2.2设计内容及要求1•设计内容:所设计的FFT算法应完成以下功能:(1)在MATLAB环境下编写FFT算法(不调用系统现有函数);(2)实现对选定图片进行FFT计算、还原(IFFT计算),并与系统FF
6、T函数做对比,进行分析;(3)设计GUI界面。2.设计要求:(1)根据题目要求进行算法GUI总体设计;(2)完成算法具体部分的设计,即算法原理图和算法原理说明;(3)算法程序的设计,即对选定图片进行自编FFT计算与述原,并与自带函数进行对比与完整源程序;(4)书写设计说明书。2.3要求的设计成果(1)设计结果能正确仿真演示;(2)设计说明书一份(包括总体设计、算法原理图及说明、系统GUI演示、源程序清单等)。3基于MATLAB的FFT算法实现3.1系统总体流程图本设计要求对一选定的图片进行FFT算法
7、和IFFT算法分析。在MATLAB环境下编写基2DIT-FFT算法,利用自己编写的算法对图片进行频谱分析,并与MATLAB数字信号处理工具箱屮的FFT函数进行对比研究,验证自编算法的正确性。所以得到系统总体流程图如图3・1所示。图3-1系统总体流程图3.2DIT-FFT算法的基本原理快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法。对一个有限长度序列x(n)的N点的DFT为:N-1X(R)二工,丘=0,1,2,…,N-1n=01N-1兀(町二R工e=1,2,…,NNk=o所以,要求N点
8、的DFT,需要N2次的复数乘法运算,N*(N-1)次复数乘法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当NR024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间,不能满足实时的要求,不适合于对实时处理要求高的场合。为了能实时处理DFT,要想减少DFT的运算量可以有两个途径:第一是降N,N的值减小了,运算量就减少了;第二是利用旋转因子的周期性,对称性和可约性。利用这两个途径实现DFT
此文档下载收益归作者所有