基于MATLAB的FFT算法的设计.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计说明书 PAGE PAGE 11 目 录 TOC \o "1-3" \h \z \u 1前言 1 2FFT算法的基本原理 2 2.1系统总体流程图 2 2.2 FFT运算规律及编程思想 2 2.2.1对图片的选择 2 2.2.2 FFT算法的基本原理 3 2.2.3 FFT算法的运算规律及编程思想 4 3 软件简介 5 3.1 Matlab简介 5 3.1.1 Matlab软件概况 5 3.1.2 Matlab的特点 5 3.2 GUI简介 6 3.2.1界面设计 6 3.3对比结果与分析 8 4心得体会 10 参考文献 11 附录Ⅰ Matlab源程序 12 附录Ⅱ GUI源程序 16 1前言 随着信息时代,数字时代的到来,数字信号处理已经成为一门极其重要的学科和技术领域。以DSP为核心芯片的处理系统日益变成了数字信号处理系统的主流。它广泛用于电子信息、通信、图像处理、语音处理、生物医学、自动控制、地质探测等领域,受到工程设计和使用人员的青睐。 MATLAB,它是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件。它以矩阵运算为基础,把计算、可视化、程序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程适用软件。通过本次课设我们学会了分析和处理音频信号,首先要对图片信息进行采集,MATLAB的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制图像进行数据采集。Window自带的程序也可驱动采集图片信息,并能保存该文件,供MATLAB相关函数直接读取写入。 MATLAB语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将图像文件变换位离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数据滤波、傅立叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱位语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便的完成图像信号的处理和分析以及信号的可视化,是人机交互更加便捷。信号处理是MATLAB重要应用的领域之一。 对于有限长序列x(n),若要求其N点的傅里叶变换DFT需要经过次复数乘法运算和N*(N-1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间和机器内存,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。因此,研究作为DSP的快速算法的FFT是相当必要的,快速傅里叶变换FFT是为提高DFT运算速度而采用的一种算法,快速算法的种类很多,而且目前仍在改进和提高,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。基于本学期所学的DIT-FFT的运算规律和编程思想以及Matlab的学习和使用,本课设要求在Matlab环境下编写基2 DIT-FFT算法实现对离散信号的快速傅里叶变换,再与Matlab软件自带的FFT函数实现对离散信号的傅里叶变换进行比较,如果得到的频谱相同,那么我们编写的程序就是正确的。用GUI界面完成人机交互方便使用的。本课程设计主要是对数字信号的分析。 2FFT算法的基本原理 2.1系统总体流程图 本设计要求选择一个图片,并对该图像进行FFT变换。在Matlab环境下编写基2 DIT-FFT算法;利用自己编写的算法对选取的图片进行分析,并与Matlab数字信号处理工具箱中的fft函数进行对比研究,验证自编算法的正确性。所以得到系统总体流程图如下图所示。 图片选择 图片选择 编写FFT程序,得到所需的图片 对图片的路径选择 对图片进行灰度变换 实现选择图片的倒序 一级中不同蝶形运算 一级中相同蝶形运算 与M A T L A B 自带的 比较 图2-1 系统总体流程图 2.2 FFT运算规律及编程思想 2.2.1对图片的选择 保存一张图片,格式为bmp,jpg或者是gif中的任何一种。并将该图片文件保存在电脑的某个盘中。 [filename, pathname]=uigetfile({'*.jpg;*.tif;*.bmp;*.gif' },'File Selector'); image=imread(strcat(pathname,filename)); 这些代码实现了对图片的路径进行的选择,只要找到保存图片的位置即可打开图片。 if ndims(image)==3 image=rgb2gray(image); end 这些代码

文档评论(0)

潮起潮落 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档