课程设计(论文)_基于matlab的fft算法设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《课程设计(论文)_基于matlab的fft算法设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)_基于matlab的fft算法设计.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录1 引言12课程设计内容及要求2课程设计内容2课程设计要求22.3课程设计目的2课程设计平台23 基于MATLAB的FFT算法设计原理3总体设计流程图3语音信号的采集3语音信号的时频分析3快速傅里叶变换63 fft的运算规律8基于MATLAB的FFT所编写程序的框图12自编算法与机带算法仿真波形比拟134设计总结16参考文献17附录181 引言随着信息时代,数字时代的到来,数字信号处理已经成为一门极其重要的学科和技术领域。以DSP为核心芯片的处理系统日益变成了数字信号处理系统的主流。它广泛用于电子信息、通信、图像处理、语音处理、生物医学、自动控制、地质探测等领域,受到工程设计和使用人员的
2、青睐。MATLAB,它是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件。它以矩阵运算为根底,把计算、可视化、程序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程适用软件。通过本次实习我们学会了分析和处理音频信号,首先要对声音信号进行采集,MATLAB的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Window自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。MATLAB语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以
3、将声音文件变换位离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数据滤波、傅立叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱位语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便的完成语音信号的处理和分析以及信号的可视化,是人机交互更加便捷。信号处理是MATLAB重要应用的领域之一。语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前开展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。语音信号的处理与滤波的设计主要是用MATLAB作为工具平台,
4、设计中涉及到声音的录制、播放、存储和读取,语音信号的抽样、频谱分析,滤波器的设计及语音信号的滤波,通过数字信号处理课程的理论知识的综合运用。从实践上初步实现对数字信号的处理。 2 课程设计内容及要求录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在Matlab环境下编写基2 DIT-FFT算法;利用自己编写的算法对已采集的语音信号进行频谱分析,并画出语音信号的时域与频谱图,并与Matlab数字信号处理工具箱中的fft函数进行比照研究,验证自编算法的正确性。1.完成语音信号的采集,利用windows自带的录音机或其他软件,录制一段语音,时间在1s以内;2
5、.在Matlab中编写程序,实现输入信号的倒序;3.编写程序,实现蝶形运算;4.画出语音信号的频谱图,与Matlab数字信号处理工具箱中的fft函数进行比照研究,并对设计结果进行独立思考和分析;1.学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 2.掌握在 Windows 环境下语音信号采集的方法。3.掌握数字信号处理的根本概念、根本理论和根本方法。 4.掌握 MATLAB 设计 FIR 和IIR 数字滤波器的方法。5.学会用 MATLAB 对信号进行分析和处理。MATLAB软件MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技
6、计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言如C、Fortran的编辑模式,代表了当今国际科学计算软件的先进水平。3 基于MATLAB的FFT算法设计原理3.1 总体设计流程图 在一个相对较安静的环境下,录下1s左右的wav声音信号,然后对声音进行采样,画出其时域波形和频谱图,其流程图如图1所示:开始输入声音信号对声音信号采样蝶形运算原信号fft运算结束 图1设计流程图在实际工作中,我们可
7、以利用windows自带的录音机录制语音文件。采集到语音信号之后,需要对语音信号进行分析,如语音信号的时域分析、频谱分析、语谱图分析。在MATLAB中,我们可以通过y,fs,bits=wavread(语音信号路径,N1 N2)语句。用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值假设只有一个N的点那么表示读取前N点的采样值。向量y那么就代表了一个信号也即一个复杂的“函数表达式也就是说可以像处理一个信号表达式一样处理这个声音信号。利用MATLAB中的“wavread命令来读入采集语音信号,将它赋值给某一向量。再对其进行采样,
8、记住采样频率和采样点数。下面介绍Wavread 函数几种调用格式。1.y=wavreadfile功能说明:读取file所规定的wav文件,返回采样值放在向量y中。2.y,fs,nbits=wavread(file) 功能说明:采样值放在向量y中,fs表示采样频率hz,nbits表示采样位数。3.y=wavreadfile,N功能说明:读取钱N点的采样值放在向量y中。4.y=wavreadfile,N1,N2功能说明:读取从N1到N2点的采样值放在向量y中。接下来,对语音信号speech off.wav进行采样。其程序如下:y,fs,nbits=wavered (speech off.wav);
9、功能说明:把语音信号加载入Matlab 仿真软件平台中然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。原始信号的时域波形图如图3所示:图 3 原始信号的时域波形图 原始信号的频域特性图如图4所示:图 4 原始信号的频域特性图3.4 快速傅里叶变换快速傅里叶变换FFT是为提高DFT运算速度而采用的一种算法
10、。对一个有限长度序列x(n)的N点的DFT为:Xk=xnWknN (k=0,1,,N-1;n=0,1,,N-1;W=e-j2/N)当N=4时,Xk可展开为:X0= x0W0*4+ x1W0*4 +x2W0*4+ x3W0*4X1= x0W0*4+ x1W1*4 +x2W2*4+ x3W3*4X2= x0W0*4+ x1W2*4 +x2W4*4+ x3W6*4X3= x0W0*4+ x1W3*4 +x2W6*4+ x3W9*4从上式可以看出,要求4点的DFT,需要16次的复数乘法运算,12次复数乘法运算算。由此类推,要求出N点的DFT,需要N2次复数乘法运算,N*(N-1)次复数加法运算。当N值
11、较大时,要完成的复数乘法运算和复数加法运算得次数都非常多,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间,不适合于对实时处理要求高的场合。为了能实时处理DFT,要想减少DFT的运算量可以有两个途径:第一是降N,N的值减小了,运算量就减少了;第二是利用旋转因子的周期性和对称性,可约性。利用这两个途径实现DFT的快速傅里叶变换FFT,FFT算法根本上可分为时域抽取法和频域抽取法。W=e-j2/N的性质:1周期性 2共轭对称性 3可约性 本程序是用基2的按时间抽取的FFT算法DIT-FFT,设序列x(n)的长度为N,且N满足N=2M,M为正整数。假设N不能满足上述关系,可以将序列x(n)补
12、零实现,那么x(n)的N点DFT为:Xk=xnWknN (k=0,1,,N-1;n=0,1,,N-1;W=e-j2/N)将n分为奇数与偶数两局部。按时间抽取基2-FFT算法的根本思路是将N点序列按时间下标的奇偶分为两个N/2点序列,计算这两个N/2点序列的N/2点DFT,计算量可减小约一半;每一个N/2点序列按照同样的划分原那么,可以划分为两个N/4点序列,最后,将原序列划分为多个2点序列,将计算量大大降低。1. 按时间下标的奇偶将N点x(n)分别抽取组成两个N/2点序列,分别记为x1(n)和x2(n),将x(n)的DFT转化为x1(n)和x2(n)的DFT的计算。用蝶形运算可表式为:以此类推
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 matlab fft 算法 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内