基于MATLAB的语音信号分析和处理Word文档格式.docx
《基于MATLAB的语音信号分析和处理Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音信号分析和处理Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
。
ANALYSISANDPROSESSINGOFTHESPEECHSIGNALBASEDMATLAB
ABSTRACT
Thevoicesignalprocessingisaveryimportantdisciplinewithawideuserange,forexampletelephonecommunications,hearingaidsandsoon.ThepurposeofmypaperistoprocessapollutedsoundsignalbyusingtheMatlabsoftware.Thisprocessmayinvolvethesamplingtheorem,thefastFouriertransformtheoryandpracticalapplicationoftheusedalgorithm.Inthispaper,wefocusonselectingtheappropriatefilter,andfullycomparingtheadvantagesanddisadvantagesofthevariousfilters,andthenusingtheappropriatefiltertofilteroutthenoisepollutingthevoicesignal.Bycomparingthefrequencyspectrumofthesoundsignals,wecanunderstandtheworknatureofthefilter,andobtainourresults.
KeywordVoicesignal;
Fouriertransform;
Filter
目录
摘要I
ABSTRACTII
目录III
1.绪论1
1.1国内外研究状况1
1.2课题的背景及意义1
2.语音信号处理的基本理论知识2
2.1语音信号采样频率和采样位数的选择2
2.2语音信号的合成2
2.3时域信号的FFT分析3
2.4数字滤波器3
2.4.1IIR数字滤波器3
2.4.2FIR数字滤波器4
2.4.3FIR数字滤波器和IIR数字滤波器的比较5
2.5倒谱6
3.语音处理信号的理论方案论证6
3.1语音信号的采集6
3.2语音信号的处理6
3.3系统框图7
4.语音信号处理的实例分析8
4.1语音信号的录入8
4.2语音信号的提取8
4.3语音信号的时域和频谱图8
4.4语音信号的“污染”10
4.5IIR滤波器的设计及滤波11
4.6设计FIR滤器波并滤波13
4.7回放语言信号15
总结15
参考文献16
附录17
致谢21
1.绪论
本次设计是为了综合运用数字信号处理的理论知识对语音信号进行时频分析和滤波器设计,根据理论知识,设计实验步骤,再利用计算机上的Matlab软件进行编程实现,得到需要的结果。
通过本次毕业设计:
第一,要学会如何使用Matlab软件,能够独自完成MATLAB的程序设计方法;
第二,掌握在Window环境下语音信号采集的方法;
第三,掌握在MATLAB环境下设计FIR和IIR数字滤波器的方法。
1.1国内外研究状况
60年代,语音信号处理的技术就取得了新的进展,其主要有数字滤波器、快速傅里叶等理论和算法的广泛应用,这些理论和算法为语音信号处理奠定了坚实的基础,为以后快速的发展埋下了伏笔。
另外一个方面,就是因为数字计算机得到了推广,计算机普遍应用在科研的各个方面,计算的速率比以前老式的计算方式快了许多。
而且由于计算机软件的出现,可以使得用软件模拟代替硬件模拟,有效的降低了科研的成本,更可以从多方面来观察研究进展,使得人们可以更加全面、详细的了解试验过程,更容易找出实验中的问题,不断加快各种研究和发明的出现。
70年代,日本学者板仓(Itakura)等人最先在语音分析和合成中用到了线性预测技术。
线性预测技术是将一个信号看做是一个模型的输出,这样信号的描述就可以用模型来代替。
在语音信号处理中,线性预测技术最主要的是提供了一个声道模型,这个模型对于语音信号处理的研究具有非常积极的作用,通过这个模型,我们可以做各种理论方面的研究。
线性预测技术对于语音编码也非常适合,不仅如此,线性预测系数对于语音识别也是很重要的信息来源。
80年代,矢量量化技术(VQ,即VectorQuantization)的出现,使得在语音信号压缩方面取得突破性进展。
它在语音信号处理中有十分重要的地位,广泛应用于语音编码、语音识别与语音合成等领域。
另外,用隐马尔可夫模型描述语音信号产生过程代表了语音信号处理技术的重大突破。
近年来,许多人在研究如何把人工神经网络应用到语音信号方面,并且取得了一定的成就,尤其语音识别。
人们把生物的神经网络的特征应用到人工神经网络上,特别是生物的听觉系统的模拟,让人们建立了一个有类似能力的模型,因而语音的识别效率得到了显著的提高。
目前,人机交流是一种热点的研究项目,而其中要用到语音识别和语音合成两种重要技术。
在语音信号处理中有很多新兴与前沿技术,主要包括混沌理论在该技术中的应用,分形理论的应用和语音信号的非线性预测编码等。
1.2课题的背景及意义
语音信号处理是一门非常实用的学科。
语言在人类历史的发展上起到了十分重要的作用,它是人们交流沟通的重要手段。
小到平时生活中买卖的讨价还价,大到国际上的外交谈判,都是同过语言进行的,通过语言人们进行信息上的交流与沟通,在交流与沟通的过程中,人们得到了长足的发展。
语音处理技术的被用到了生活中的方方面面,如公交车上的自动报站设备,汽车上的喇叭,给耳朵不好的人使用的助听器,工业中的自动报警设备等。
目前,语音处理技术的研究与实际应用方面结合的很好,充分做到了产研一体化,我们有理由相信在今后语音技术会发展更好,给大家的生活带来更多的帮助。
语音信号处理早已经给人类的社会带来了巨大的经济和社会效益,以后它在理论上有更为广泛的发展,在应用方面也会成为社会各个方面的非常有用的工具,它是我们发展不可缺少的一部分,不论是民用还是军用,不论是社会生产还是科学研究,它都将发挥出巨大的作用。
目前,科学家们正在研究如何进行人机对话。
这个课题具有非常实际的意义,如口呼打字机(即语音输入,文字输出的机器),如语音翻译机(戴在耳朵上,可实现实时中英文翻译),还有用语音指挥机器自动化生产等,这些都是目前的研究焦点,它们并不是科幻中的产物,而是马上就要实现的科学产品。
语音信号处理技术的日益发展,体现在我们生活中的方方面面,90年的电话到2000年的手机,都充分说明了语音信号处理技术的重要性及其意义。
2.语音信号处理的基本理论知识
2.1语音信号采样频率和采样位数的选择
采样频率指的是1秒内计算机所采集到的声音样本,如20.1KHZ表示的是1秒的时间计算机采集20100次声音样本。
一般来说采样频率越大,就与原信号越接近,采样频率越小,就会偏离原信号,造成信号失真。
采样位数所表示的是一段声音进行分析的精确度,10位则代表2的10次即1024个精度单位进行分析。
如此,采样位数越大则表示这段声音越精准。
想要把未处理的模拟信号转换成数字信号,就必须要对语音信号进行采样,从而得到离散的信号。
可以把原始的语音信号看作是一条曲线,曲线是有无数的点组成的,采样过程就是在这无数的点中选取一定数量的点,以这些点来构成一条新曲线,这就是采样的具体过程。
但是采样不当会造成严重的问题,若是采样频率太小会造成信号的失真,让信号变的不完整;
若是采样频率太大会浪费机器上的存储资源。
根据奈奎斯特采样定理,采样频率最好选择信号带宽的两倍,这样即不会造成信号失真,又不会造成资源浪费。
取样之后要对信号进行采样位数的选择,采样位数是指将取样后得到的样本序列的幅度再离散化,即将时间上离散而幅度仍连续的波形再离散化。
同样拿一段曲线来表示信号,采样位数就是对这段曲线的幅度值进行分割,若采样位数是1500,那么表示将这段曲线的幅度值平均分成1500份,每一份算做一个新的幅度值。
2.2语音信号的合成
本次设计要求对一段语音进行加载一段噪声,使其受到“污染”。
在Matlab软件中要实现这一个要求,一般是给这段语音信号叠加加一个随即函数w*randn(a,b),这样就可以模拟一段被噪声“污染”的语音信号,并可通过参数w来设置噪声的功率,也就是说,我们可以通过改变w的大小来调节信噪比。
2.3时域信号的FFT分析
FFT是快速傅里叶的英文缩写,它与傅里叶变换相比,没有什么理论上的重大突破,只是对傅里叶变换进行了总结和整理,使它能够在计算机上使用时减小计算量,以适应在计算机上使用。
它可以使DFT的运算速度提高一到两个数量级,使得语音信号处理技术应用与各个方面的实时处理创造了条件。
在Matlab中,可以直接调用FFT函数与IFFT函数进行快速傅里叶的运算与逆运算,具体的调用格式为y=fft(x),其中x是序列,而y则是序列的傅里叶变换。
当然,这里的x不止可以是序列,还可以是向量或矩阵,那么y则是对应的快速傅里叶变换。
快速傅里叶变换算法是信号处理领域的重要研究领域。
快速傅里叶变换有许多算法,其中最简单和最容易的是基2FFT算法,在Matlab中,y=fft(x)这个函数中的x的长度若是2的幂次方,则进行FFT函数运算时,进行的运算是基2FFT运算,否则进行的是混合基的离散傅里叶变换算法,而且运算速度会相对减慢。
2.4数字滤波器
所谓的数字滤波器,就是指通过数值运算的方式,改变输入信号的频率,使之达到预定的信号的数字器件或程序。
因为数字滤波器是通过数字器件,进行数字运算来实现滤波,所以数字滤波器有着精度高、小巧、稳定等的作用,可以实现模拟滤波器所无法实现的工作,所以在信号处理方面有着巨大的作用。
只有先对模拟信号进行模数转换,才可以进行在数字滤波器上进行滤波。
数字滤波器从滤波特性上来讲,一般可以分成4类,分别是低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
数字滤波器若从实现的网络结构抑或从单位脉冲相应长度这方面来分类,可以分为无限长的单位脉冲相应(IIR)滤波器和有限长的单位脉冲响应(FIR)滤波器。
但是IIR滤波器和FIR滤波器之间的设计方法是不相同的。
2.4.1IIR数字滤波器
设计IIR数字滤波器的最常用的方法是间接设计法。
间接设计法是借助于模拟滤波器的设计方法进行的。
并且模拟滤波器的发展已经非常成熟,有现成的方法、数据、公式,可以拿来就用,不用进行多余的实验。
不仅如此,模拟滤波器还有很多已经非常成熟的经典设计,可以供我们选择使用。
用间接设计法来设计数字滤波器,非常具有实用性。
用间接法设计IIR数字滤波器的具体过程如下:
首先,在设计之前要先考虑自己想要的是怎么样的滤波器,设计目标的滤波器频率特性,包括相位特性和幅频