77范文网 - 专业文章范例文档资料分享平台

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

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

目录

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点的傅里叶变换(DFT)需要经过N次复数乘法运算和N*(N-1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间和机器内存,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。因此,研究作为DSP的快速算法的FFT是相当必要的,快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法,快速算法的种类很多,而且目前仍在改进和提高,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。基于本学期所学的DIT-FFT的运算规律和编程思想以及MATLAB的学习和使用,本课设要求在MATLAB环境下编写基2 DIT-FFT算法实现对离散信号的快速傅里叶变换,再与MATLAB软件自带的FFT函数实现对离散信号的傅里叶变换进行比较,如果得到的频谱相同,那么我们编写的程序就是正确的。如果有能力可以选做系统人机对话界面,用GUI界面完成人机交互方便使用的。本课程设计主要是对数字信号的分析。

21

课程设计说明书

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演示、源程序清单等)。

2

课程设计说明书

3基于MATLAB的FFT算法实现

3.1系统总体流程图

本设计要求对一选定的图片进行FFT算法和IFFT算法分析。在MATLAB环境下编写基2 DIT-FFT算法,利用自己编写的算法对图片进行频谱分析,并与MATLAB数字信号处理工具箱中的FFT函数进行对比研究,验证自编算法的正确性。所以得到系统总体流程图如图3-1所示。

完成信号时域图 完成信号频率响应 实现输入信号的倒序 实现一级中不同种蝶形算运 实现一级中相同种蝶形运算 与Ma t l a b自带的F FT图片信号采集 编写FFT程序图 图3-1系统总体流程图

3.2 DIT-FFT算法的基本原理

快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法。 对一个有限长度序列x(n)的N点的DFT为: nkX?k???x?n?WN,k?0,1,2,...,N?1n?0N?11x?n??N ?X?k?Wk?0N?1?nkN,n?0,1,2,...,N?1所以,要求N点的DFT,需要N2次的复数乘法运算,N*(N-1)次复数乘法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间,不能满足实时的要求,不适合于对实时处理要求高的场合。为了能实时处理DFT,要想减少DFT的运算量可以有两个途径:第一是降N,N的值减小了,运算量就减少了;第二是利用

3

课程设计说明书

旋转因子的周期性,对称性和可约性。利用这两个途径实现DFT的快速傅里叶变换(FFT),FFT算法基本上可分为按时间抽取的FFT算法(DIT-FFT)和按频率抽取的FFT算法(DIF-FFT)。

旋转因子的性质:

kn(k?N)nk(n?N)WN?WN?WN(1) 周期性 (2) 共轭对称性 (3) 可约性

kn(?k)n*k(?n)*WN?[WN]?[WN]mknWNkn?WmN,/mWNkn?WNkn/m本次课设要求用基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的计算。

2rkWN?e2??j2rkN?jx(2r)?x1(r)??,x(2r?1)?x2(r)?nkX?k???x?n?WNn?0N?2N?1r?0,1,??,N?12?n?0,2,4...N?12?x?n?WnkN?n?1,3,5...N?12?x?n?WN?1nkN?r?0,1N?12?x?2r?W?x?r?W12rkN?r?0,1N?12?x?2r?1?W?22r?1?kN?2rkN?r?0,1r?0,1?x?r?W?2r?1?kN利用旋转因子的可约性,即:

2?rkN2?erk?WN2rkkX?k???x1?r?WN?WN?x2?r?WNrkr?02r?0k?X(?WNX(k),0?k?N?11k)2N?12N?122用蝶形运算可表示为如图3-2所示:

4

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字信号处理基于MATLAB的FFT算法设计课设说明书在线全文阅读。

数字信号处理基于MATLAB的FFT算法设计课设说明书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/528465.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: