基于matlab的语音信号滤波处理毕设毕业论文.doc
《基于matlab的语音信号滤波处理毕设毕业论文.doc》由会员分享,可在线阅读,更多相关《基于matlab的语音信号滤波处理毕设毕业论文.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 学号14112220266 毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作 者 夏杰 届 别 2015届 院 别 信息与通信工程学院 专 业 电子信息工程 指导教师 罗朝明 职 称 副教授 完成时间 2015年5月17日 摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个
2、信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image
3、 processing, communication, bio-medical engineering and many other fields. This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice s
4、ignal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;Voice signal;Filter;Simulation;目 录摘要IAbstractII第一章 绪论11.1
5、语音信号滤波处理的简介11.2 数字滤波器的概念11.3 MATLAB软件的介绍31.4 论文各章节的安排4第二章 语音信号的频谱分析52.1 快速傅里叶算法的原理52.2语音信号的采集及频谱分析102.3 语音信号的加噪处理及频谱分析12第三章 数字滤波器的设计153.1数字滤波器的设计原理153.2 用窗函数法设计FIR数字滤波器183.3 用双线性法设计IIR数字滤波器21第四章 语音信号的滤波244.1 语音信号的滤波测试244.2 加噪语音信号的滤波处理27第五章 总结和展望295.1 课题总结295.2 课题展望29参考文献30致谢31II第一章 绪论1.1 语音信号滤波处理的简介
6、语音信号的基本组成单位是“音素”。音素主要由“浊音”和“清音”这两大类组成。如果将语音只有背景噪声称为“无声”,那么可以将音素分成“清音”、“浊音”、“无声”这三类。一个音节由辅音和元音两部分组成。因为元音都是浊音,所以元音在音节中占据着主要的部分。在普通话中,“辅音元音”构成了每个音节。语音信号的滤波处理是数字信号处理领域目前发展最为迅速的信息科学研究领域的核心技术之一,通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。语音信号处理是现代信息处理的基本内容,数字信号的处理更是重中之重。数字信号处理的研究内容主要是语音信号和图像信号,而研究语音信号对于现代语音通信有着积极的意
7、义。研究语音信号又分为时域和频域两个方面。(1) 语音信号的时域分析处理:对语音信号进行时域分析的本质就是分析和提取语音信号的时域参数。当进行语音分析时,它的时域波形图是很直观的。其实语音信号的实质就是时域信号,所以使用时域分析是最早也是最广泛的一种分析方法。时域分析一般用于参数的分析和应用,如语音的大分类、分割、预处理等。这种分析方法有以下特点:第一,比较直观的语音信号和明确其物理意义。第二,可以简单的实现并且运算少。第三,获得语音信号的重要参数。最后,它的实现用到了示波器等常规设备,所以应用起来较简单。(2)语音信号的频谱分析处理:语音信号的频域分析就是对语音信号的频域持征进行分析。语音信
8、号的频域分析包括语音信号的功率谱、倒频谱、频谱、频谱包络分析等,而一般常用的频域分析方法包括带傅里叶变换法、通滤波器组法等几种。本文介绍的是语音信号的傅里叶分析法。1.2 数字滤波器的概念数字信号处理是一门发展迅速、应用广泛的前沿性学科,其理论和实践性都很强。为了系统的掌握和理解信号的收集、处理、传输、显示和储存,本课题介绍了用MATLAB来处理语音信号。在21世纪这个信息技术高速发展的时代,信号处理逐渐趋向于数字化、软件化这方面发展。数字信号处理主要是对语音信号和图像信号的研究,其中,语音信号的研究可以分为从时域和频域这两个方面来进行。时域的分析处理有以下两种方法:一种是对语音信号进行分析,
9、这一分析方法属于线性处理的范畴,其原理主要是通过信号的卷积、倍乘、时移、加减、以及求相关函数等来实现;另外一种是通过处理生成和变换成各种调制信号,这一分析方法属于非线性的范畴,其原理是压缩和扩张信号平均累加器的动态范围,用门限法对噪音进行抑制。通过对信号的频域分析处理,可以对信号的频率特性在频谱中加以分析研究,这是对不确定信号分析的主要方法,主要是扩展了信号分析的范围。通常在世纪应用中,信号的时、频域分析经常同时进行。数字滤波是数字信号处理理论的一部分。具体来说,凡是用数字方式对信号进行滤波、变换、调制、压缩、增强、均衡、解调、估值、识别、产生等加工处理,都可以纳入数字信号处理的领域。 数字信
10、号处理这门学科主要是对数字滤波器设计方法进行研究。对于数字滤波器,早在49年代末期,就有人对其可能性进行过研究讨论,在50年代的时候,也有人研究讨论过数字滤波这个具有跨时代意义的问题。但可惜的是直到60年代中期,人们才是开始慢慢形成关于数字滤波器的一套完整的理论,在这一时期,通过不同形式的数字滤波结构(有的以最小运算误差为特点,有的以最快运算速度为特点,而有的则囊括以上两者)。在数字滤波器领域中,有限冲激响应(FIR)和无限冲激响应(IIR)的关系认识转化是一个重大的发现。在初期,人们一般认为IIR滤波器的运算效率比FIR滤波器更高,所以明显青睐于前者,但当有人提出可以用快速傅里叶变换(FFT
11、)来实现其卷积运算的理念后,发现高阶FIR滤波器统一可以用比较高的运算效率来实现,这就激励人们大量的研究和探索数字滤波器的FIR高性能滤波器的设计方法和频域设计方法,从而有了数字滤波器设计中频域方法和时域方法的出世。然而,这些数字滤波器都是一些人们的早期研究。早期的数字滤波器尽管在声纳、语音、地震和医学和的信号处理中曾经起过非常大的作用,但是出于当时计算机主机的价格比较昂贵,在一定程度上阻碍了个别专门用途数字滤波器的发展。在科学技术蓬勃发展的70年代,引进了计算机辅助的设计方法,这使数字滤波器的设计以及实现仅仅是逼近响应模拟滤波器。通常来说,变换模拟滤波器函数来设计数字滤波器,几乎很难逼近任意
12、冲激响应或频率响应,然而采用计算机辅助设计这一方法则可能实现时域或频域的最佳逼近,或时域频域的联合最佳逼近,这样,不但可以使数字滤波器的分析和设计内容变的丰富起来,而且各种新的数字信号处理系统也都可以用专用数字硬件加以实现。1.3 MATLAB软件的介绍MATLAB是由美国MathWorks公司推出的用于图形处理和数值计算的数学计算环境。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、输入输出、图形绘制、文件管理等各项操作。所以相比其他同类软件,它卓越的数据可视化和优秀的数字计算能力使其脱颖而出。最初的MATLAB系统是由Cleve Moler公司用FORTRAN语言设计的,现在M
13、ATLAB程序是基于MathWorks公司在C语言环境下开发的。1984年开始发行它的第一版(DOS版本1.0),而后经过10多年的不断完善和改进,版本不断升级 ,其功能越来越丰富,工具也越来越丰富,因此它应用的范围也越来越广发。MATLAB语言是一种对数据分析和处理功能十分强大的据算计应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、时域和频域分析、傅立叶变换、声音回放以及各种图的呈现等,信号处理是MATLAB的最重要的应用领域之一。MATLAB语言之所以能如此迅速地普及是由于它有着不同于其他语言的特点:1.简洁紧凑的语言使用非常方便,并且库函
14、数非常丰富。MATLAB程序书写形式自由,利用其丰富的库函数巧妙的避开了子程序编程任务的复杂,压缩了一切不必要的编程工作。2.运算符丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3.MATLAB既具有结构化的控制语句,又有面向对象编程的特性。4.语法限制不严格,程序设计自由度大。5.程序的可移植性很好,基本上不做什么修改就可以运行在各种型号的计算机和操作系统上。6.MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都不是很容易,但是在MATLAB里通过数据的可视化则显得非常简单。此外,MAT
15、LAB编辑图形界面的能力非常强。7.MATLAB的一项特色是拥有功能强大的工具箱。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分有数百个核心内部函数。本设计只使用了上面的部分功能,就是用MATLAB对含噪的语音信号同时在时域和频域进行滤波处理和分析。1.4 论文各章节的安排第一章 介绍了数字信号处理的发展趋势和所用的的开发软件MATLB。第二章 介绍了语音信号的采集和频谱分析的方法和原理。第三章 介绍了数字滤波器的设计方法。第四章 介绍了用不同的数字滤波器对语音信号进行滤波处理。第五章 介绍了本人对这次毕业设计的总结和展望未来数字滤波器的发展。第二章 语音信号的频谱分析2.1
16、快速傅里叶算法的原理DFT是信号分析与处理中的一种重要变换。因为DFT直接计算的计算量与变换区间长度(N的平方)成正比,当N较大时,造成计算量太大,因而在快速傅里叶变换(简称FFT)出现以前,直接用DFT算法对信号进行频谱分析和它的实时处理是不切实际的。直到1965年发现了DFT这种快速算法,这种情况才发生了逆转。自1965年图基(J.W.Tuky)和库力(T.W.Coody)在书名为计算机数学(Math.Computation,Vol,19.1965)杂志上发表了著名的一篇机器计算傅里叶级数的一种算法论文后,桑德(G.Sand)-图基等快速傅里叶算法的相继出现,在人们的不断进行改进和不断完善
17、,便很快形成了一套高效运算方法,从而才有了我们现在的快速傅里叶变换,简称为FFT(Fast Fourier Transform)。DFT的运算效率在这种算法的基础上可以提高12个数量级,这为数字信号处理技术应用于各种信号的实时处理创造了良好的条件,极大的推动了数字信号处理技术在当今社会的发展。FFT算法的概念:(1)“级”概念:将N 点DFT先分成两个N/2点DFT,再是四个N/4点DFT直至N/2个两点DFT每分一次称为“一”级运算。因为N=2M所以N点DFT可分成M级。(2)“组”概念:每一级都有N/2个蝶形单元,例如:N=16,则每级都有8个蝶形单元。每一级的N/2个蝶形单元可以分成若干
18、组,每一组具有相同的结构,相同的 因子分布,第m级的组数为: N/2M+1 N=16=24,分4级。(3)因子的分布: 每由后向前(m由M-1-0级)推进一级,则此系数为后级系数中偶数序号的那一半。(4)按时间抽取法:由于每一步分解都是基于在每级按输入时间序列的次序是属于偶数还是奇数来分解为两个更短的序列,所以称为“按时间抽取法”。如图2.1所示FFT算法基本上分为两大类:时域抽取法FFT(Decimation-In-Time FFT,简称DIT-FFT)和频域抽取法FFT(Decimation-In-Frequency FFT,简称DIF-FFT)。下面就介绍DIF-FFT算法。设序列长度为
19、,且满足 (为正整数)按的奇偶性把分解成为两个点的子序列:2点2点2点2点2点2点2点2点两个2点DFT两个2点DFT两个2点DFT两个2点DFT两个4点DTF两个4点DFT两个N/2点的DFT2.1按时间抽取法 (2.1)则可将DFT化为 (2.2)由于故式2.2可表示成 (2.3)与分别是及的点DFT: (2.4) (2.5)由此,我们可以看到,一个点DFT已分解成两个的DFT。这两个点的DFT再按照2.4和2.5式组合成一个点DFT。 (2.6)这里应该看到,只有个点,即。而X(k)却有个点,即,故用上式计算得到的只是的前一半结果,要用,来表达全部的值,还必须应用系数的周期性,即这样可得
20、到 (2.7)同理可得 (2.8)前两式说明了后半部分值()所对应的,分别等于前半部分值()所对应的,。再考虑的以下性质: 这样,把上述各式带入,就可以将表达为前后两部分: k=0,1, (2.9)因此,只要求出0到区间的所有,值,即可求出0到区间内的所有值,显然节省了运算量。可以用蝶形信号流图表示。 一个点DFT可以分解为两个点DFT,每一个点DFT只需次复数乘法以及次复数加法。两个点DFT共需次复数乘法和次复数加法。把两个点DFT和成为点DFT时,其中有个蝶形运算还需要次复数乘法及次复数加法。因而通过第一次分解后,总共还需要次复数乘法以及次复数加法。由因此,通过这样分解后,它的运算工作量至
21、少节省了一半。既然这样分解是有效的,由于,因而仍是偶数,所以可以再一次把每个点子序列再其奇偶部分分解为两个点的子序列。 (2.10) (2.11)且: 式中: (2.12) (2.13)根据上面同样的分析可以得出:利用四个点的DFT及两级蝶形组合运算来计算点DFT,相比只用一次分解蝶形组合方式的计算量又减少了一大半。它的算法步骤如下:(1)分组,变量置换:DFT变换: 先将按的奇偶分为两组,作变量置换:n=偶数时,令n=2r;得到:则其DFT可化为两部分:前半部分: 后半部分:代入DFT中 (2)代入DFT变换式:(3)求出子序列的DFT: (2.14)(4)由上面的公式我们可以知道:一个点的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 语音 信号 滤波 处理 毕业论文
限制150内