好文档 - 专业文书写作范文服务资料分享网站

DSP课程设计基于MATLAB的FFT算法实现

天下 分享 时间: 加入收藏 我要投稿 点赞

目 录

1 引言 .............................................................. 1 2 基于MATLAB的FFT算法实现 ......................................... 2

2.1系统总体流程图 ............................................... 2 2.2 FFT运算规律及编程思想 ....................................... 3

2.2.1语音信号的采集 ......................................... 3 2.2.2 DIT-FFT算法的基本原理 ................................. 3 2.2.3 DIT-FFT算法的运算规律及编程思想 ....................... 5

3 Matlab程序实现 .................................................. 10 4 系统人机对话界面 ................................................. 13

4.1 GUI简介 .................................................... 13 4.2 界面设计 ................................................... 13 4.3 运行调试 ................................................... 14 5 心得体会 ......................................................... 16 参考文献 ........................................................... 17 附录Ⅰ ............................................................. 18 附录Ⅱ ............................................................. 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函数实现对离散信号的傅里叶变换进行比较,如果得到的频谱相同,那么我们编写的程序就是正确的。其中离散信号是通过PC自带的录音机录制一段wav语音信号,用Matlab采样得到离散序列x1。如果有能力可以选做系统人机对话界面。用GUI界面完成人机交互方便使用的。本课程设计主要是对数字信号的分析。

22 基于MATLAB的FFT算法实现

2.1系统总体流程图

本设计要求录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在Matlab环境下编写基2 DIT-FFT算法;利用自己编写的算法对已采集的语音信号进行频谱分析,并画出语音信号的时域与频谱图,并与Matlab数字信号处理工具箱中的fft函数进行对比研究,验证自编算法的正确性。所以得到系统总体流程图如图1所示。

语音信号采集 编写fft程序,画出信号频谱图 完完实实实与 成成现现现M 信信输一一a 号号入级级t 时频l 信中中a 域率号不相b 图 响的同同自应 倒种种带序 蝶蝶的 形形F 算运FT 运 算 比 较 图1 系统总体流程图

DSP课程设计基于MATLAB的FFT算法实现

目录1引言..............................................................12基于MATLAB的FFT算法实现.........................................22.1系统总体流程图..................................
推荐度:
点击下载文档文档为doc格式
419zu9eb0825ui718xfz9x6b742rz501dsp
领取福利

微信扫码领取福利

微信扫码分享