语音信号处理毕业设计论文Word文件下载.docx
《语音信号处理毕业设计论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《语音信号处理毕业设计论文Word文件下载.docx(53页珍藏版)》请在冰豆网上搜索。
SignalProcessing
绪论
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息的形式。
语言是人类持有的功能。
声音是人类常用的工具,是相互传递信息的最主要的手段。
因此,语音信号是人们思想疏通和感情交流最主要的途径。
并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。
现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。
语音信号的采集与分析,从理论的研究到产品的开发已经走过了几十个春秋并且取得了长远的进步。
它正在与工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。
可见,语音信号采集与分析的研究将是一项极具市场价值和挑战性的工作。
我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走入人们的日常生活当中,并不断朝更高目标而努力。
语音信号采集与分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系,并且一起发展。
语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。
对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。
因为许多处理的新方法的提出,首先是在语音信号处理中获得成功,然后再推广到其他领域。
语音信号的采集与分析作为一个重要的研究领域,已经有很长的研究历史。
但是它的快速发展可以说是从1940年前后Dudley的声码器(vocoder)和potter等人的可见语音(VisibleSpeech)开始的。
1952年贝尔(Bell)实验室的Davis等人首次研制成功能识别十个英语数字的实验装置。
1956年Olson和Belar等人采用8个带通滤波器组提取频谱参数作为语音的特征,研制成功一台简单的语音打字机。
20世纪60年代初由于Faut和Steven的努力,奠定了语音生成理论的基础,在此基础上语音合成的研究得到了扎实的进展。
20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速博里叶变换(FFT)等成为语音信号数字处理的理论和技术基础。
在方法上,随着电子计算机的发展,以往的以硬件为中心的研究逐渐转化为以软件为主的处理研究。
然而,在语音识别领域内,初期有几种语音打字机的研究也很活跃,但后来已全部停了下来,这说明了当时人们对话音识别难度的认识得到了加深。
所以1969年美国贝尔研究所的Pierce感叹地说“语音识别向何处去?
”。
到了1970年,好似反驳Pierce的批评,单词识别装置开始了实用化阶段,其后实用化的进程进一步高涨,实用机的生产销售也上了轨道。
此外社会上所宣传的声纹(VoicePrint)识别,即说话人识别的研究也扎扎实实地开展起来,并很快达到了实用化的阶段。
到了1971年,以美国ARPA(AmericanResearchProjectsAgency)为主导的“语音理解系统”的研究计划也开始起步。
这个研究计划不仅在美国园内,而且对世界各国都产生了很大的影响,它促进了连续语音识别研究的兴起。
历时五年的庞大的ARPA研究计划,虽然在语音理解、语言统计模型等方面的研究积累了一些经验,取得了许多成果,但没能达到巨大投资应得的成果,在1976年停了下来,进入了深刻的反省阶段。
但是,在整个20世纪70年代还是有几项研究成果对语音信号处理技术的进步和发展产生了重大的影响。
这就是20世纪70年代初由板仓(Itakura)提出的动态时间规整(DTW)技术,使语音识别研究在匹配算法方面开辟了新思路;
20世纪70年代中期线性预测技术(LPC)被用于语音信号处理,此后隐马尔可夫模型法(HNMM)也获得初步成功,该技术后来在语音信号处理的多个方面获得巨大成功;
20世纪70年代未,Linda、Buzo、Gray和Markel等人首次解决了矢量量化(VQ)码书生成的方法,并首先将矢量量化技术用于语音编码获得成功。
从此矢量量化技术不仅在语音识别、语音编码和说话人识别等方面发挥了重要作用,而且很快推广到其他许多领域。
因此,20世纪80年代开始出现的语音信号处理技术产品化的热潮,与上述语音信号处理新技术的推动作用是分不开的。
20世纪80年代,由于矢量量化、隐马尔可夫模型和人工神经网络(ANN)等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。
其中,隐马尔可夫模型作为语音信号的一种统计模型,在语音信号处理的各个领域中获得了广泛的应用。
其理论基础是1970年前后,由Baum等人建立起来的,随后,由美国卡内基梅隆大学(CMU)的Baker和美国IBM公司的Jelinek等人将其应用到语音识别中。
由于美国贝尔实验室的Babiner等人在20世纪80年代中期,对隐马尔可夫模型深人浅出的介绍,才使世界各国从事语音信号处理的研究人员了解和熟悉,进而成为一个公认的研究热点,也是目前语音识别等的主流研究途径。
进入20世纪90年代以来,语音信号采集与分析在实用化方面取得了许多实质性的研究进展。
其中,语音识别逐渐由实验室走向实用化。
一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。
另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
1系统的方案论证分析与总体设计
1.1设计目标
设计一个语音信号分析与处理系统,具体要求如下:
a.采集语音信号,画出信号的时域波形图和频谱图;
b.设计IIR低通和高通以及带通数字滤波器;
FIR低通,高通,带通和带阻数字滤波器;
c.分别利用设计的滤波器对采集的信号进行滤波处理;
d.比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析。
1.2总体设计
1.2.1matlab简介
MATLAB是MathWorks公司开发的一种跨平台的用于多种仿真的简单高效的数学语言。
MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力就可以很方便地进行信号分析、处理和设计。
与其它计算机高级语言相比,其语言编程要简洁得多,编程语句更加接近数学描述,可读性好,其强大的图形功能和可视化数据处理能力也是其它高级语言不可比拟的。
与其它高级语言相比较,MATLAB具有独特的优势。
(1)MATLAB是一种跨平台的数学语言。
采用MATLAB编写的程序可在目前所有的操作系统上运行(只要这些系统上安装了MATLAB软件仿真平台)。
MATLAB程序不依赖于计算机类型和操作系统类型。
(2)MATLAB是一种超高级语言。
MATLAB平台本身是用C语言写成的,其中汇集了当前最新的数学库,是许多专业数学家和工程师学者多年的劳动结晶。
使用MATLAB在编程效率、程序的可读性、可靠性和可移植上远远超过了常规的高级语言。
(3)MATLAB具有强大的绘图功能。
利用MATLAB的绘图功能,可以轻易的获得高质量的曲线图。
具有多种形式来表达二维、三维图形。
(4)MATLAB具有串口操作、声音输入输出等逻辑硬件操控能力。
本设计主要是利用MATLAB仿真的声音输出、图形绘制和滤波器设计。
1.2.2图形用户界面设计
图形用户界面或图形用户接口(GraphicalUserInterface,GUI)是指采用图形方式显示的计算机操作环境用户接口。
与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。
GUIDE是Matlab提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。
在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。
MATLAB为GUI设计一共准备了4种模板,分别是BlankGUI(默认)、GUIwithUicontrols(带控件对象的GUI模板)、GUIwithAxesandMenu(带坐标轴与菜单的GUI模板)与ModalQuestionDialog(带模式问话对话框的GUI模板)。
当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。
在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。
选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。
GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。
GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。
在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。
例如,创建一个PushButton对象,并设计该对象的属性值。
1.2.3总体设计方案
1)语音信号的采集
使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。
2)语音信号的处理
语音信号的处理主要包括信号的提取、信号的调整、信号的变换和滤波等。
Ⅰ.语音信号的时域分析
语音信号是一种非平稳的时变信号,它携带着各种信息。
在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。
语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。
语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。
提取:
通过图形用户界面上的菜单功能按键采集电脑设备上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。
调整:
在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。
Ⅱ.语音信号的频域分析
变换:
在用户图形界面下对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和变换后的倒谱图。
滤波:
滤除语音信号中的噪音部分,可采用低通滤波、高通滤波、带通滤波和帯阻滤波,并比较各种滤波后的效果。
3)语音信号的效果显示
通过用户图形界面的输出功能,将处理后的信号的语音进行播放,试听处理后的效果。
图1.1列出了整个语音信号处理系统的工作流程:
图1.1语音信号处理系统的工作流程
其中信号调整包括信号的幅度和频率的任意倍数变化。
如下图1.2
图1.2信号调整
信号的滤波采用了四种滤波方式,来观察各种滤波性能的优缺点:
图1.3语音信号滤波的方式
在以上三图中,可以看到整个语音信号处理系统的流程大概分为三步,首先要读入待处理的语音信号,然后进行语音信号的处理,包括信息的提取、幅度和频率的变换以及语音信号的傅里叶变换、滤波等;
滤波又包括低通滤波、高通滤波、带通滤波和带阻滤波等方式。
最后对处理过的语音信号进行处理后的效果显示。
2语音信号处理的基本知识
2.1语音信号的采样
采样频率指的是1秒内计算机所采集到的声音样本,如20.1KHZ表示的是1秒的时间计算机采集20100次声音样本。
一般来说采样频率越大,就与原信号越接近,采样频率越小,就会偏离原信号,造成信号失真。
采样位数所表示的是一段声音进行分析的精确度,10位则代表2的10次即1024个精度单位进行分析。
如此,采样位数越大则表示这段声音越精准。
想要把未处理的模拟信号转换成数字信号,就必须要对语音信号进行采样,从而得到离散的信号。
可以把原始的语音信号看作是一条曲线,曲线是有无数的点组成的,采样过程就是在这无数的点中选取一定数量的点,以这些点来构成一条新曲线,这就是采样的具体过程。
但是采样不当会造成严重的问题,若是采样频率太小会造成信号的失真,让信号变的不完整;
若是采样频率太大会浪费机器上的存储资源。
根据奈奎斯特采样定理,采样频率最好选择信号带宽的两倍,这样即不会造成信号失真,又不会造成资源浪费。
取样之后要对信号进行采样位数的选择,采样位数是指将取样后得到的样本序列的幅度再离散化,即将时间上离散而幅度仍连续的波形再离散化。
同样拿一段曲线来表示信号,采样位数就是对这段曲线的幅度值进行分割,若采样位数是1500,那么表示将这段曲线的幅度值平均分成1500份,每一份算做一个新的幅度值。
采样器的作用是把连续信号变成脉冲或数字序列。
图中2.1示出了一个连续信号f(t)经采样器采样后变成离散信号的过程。
图2.1连续信号f(t)经采样器采样后变成离散信号
图中f(t)为被采样的连续信号,s(t)为周期性窄脉冲信号,fs(t)为采样后的离散信号,它用下式来表征:
fs(t)=f(t)s(t)
采样信号的频率特性为(2-1):
(2-1)
如果|F*(j
)|中各个波形不重复搭接,相互间有一定的距离(频率)即:
(2-2)
即采样定理可叙述如下:
如果采样周期满足下列条件,即:
(2-3)
式中
为连续信号f(t)的最高次谐波的角频率。
则采样信号f*(t)就可以无失真的再恢复为连续信号f(t)。
需要指出的是,采样定理只是在理论上给出了信号准确复现的条件。
我们可以利用windows自带的录音机录制语音文件,进行数字信号的采集。
(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或其他软件,将话筒输入计算机的语音输入插口上,启动录音机,录制一段自己的话音。
然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用进一步理解采样频率、采样位数等概念。
图2.2是基于PC机的语音信号采集过程:
图2.2声音采集过程
2.2语音信号的分析
语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。
而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分析的准确性和精确性。
因此语音信号分析在语音信号处理应用中具有举足轻重的地位。
贯穿于语音分析全过程的是“短时分析技术”。
因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非平稳态过程,不能用处理平稳信号的数字信号处理技术对其进行分析处理。
但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音信号具有时变特性,但是在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变即相对稳定,因而可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。
所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。
这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。
根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒频域分析等;
时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。
语音是典型的非平稳信号,但是在一个很短的时间内可以认为其近似为平稳信号。
因此计算自相关函数前要对语音进行分段,分段最常用的方法是加窗。
利用短时自相关函数进行基音周期估计的步骤如下:
(1)对所加载的语音加窗;
(2)计算加窗语音的短时自相关函数,选取短时自相关函数的局部最大点;
(3)对局部最大点进行清晰化,以便确认其确实为最大点;
(4)所有清晰点中最左边的点对应的就是语音的基音周期的估计。
2.3数字滤波器
所谓的数字滤波器,就是指通过数值运算的方式,改变输入信号的频率,使之达到预定的信号的数字器件或程序。
因为数字滤波器是通过数字器件,进行数字运算来实现滤波,所以数字滤波器有着精度高、小巧、稳定等的作用,可以实现模拟滤波器所无法实现的工作,所以在信号处理方面有着巨大的作用。
只有先对模拟信号进行模数转换,才可以进行在数字滤波器上进行滤波。
数字滤波器从滤波特性上来讲,一般可以分成4类,分别是低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
数字滤波器若从实现的网络结构抑或从单位脉冲相应长度这方面来分类,可以分为无限长的单位脉冲响应(IIR)滤波器和有限长的单位脉冲响应(FIR)滤波器。
但是IIR滤波器和FIR滤波器之间的设计方法是不相同的。
2.3.1IIR数字滤波器
设计IIR数字滤波器的最常用的方法是间接设计法。
间接设计法是借助于模拟滤波器的设计方法进行的。
并且模拟滤波器的发展已经非常成熟,有现成的方法、数据、公式,可以拿来就用,不用进行多余的实验。
不仅如此,模拟滤波器还有很多已经非常成熟的经典设计,可以供我们选择使用。
用间接设计法来设计数字滤波器,非常具有实用性。
用间接法设计IIR数字滤波器的具体过程如下:
首先,在设计之前要先考虑自己想要的是怎么样的滤波器,设计目标的滤波器频率特性,包括相位特性和幅频特性。
若是滤波器对相位不作要求,可以只考虑滤波器的幅频特性。
再把这些性能数值转换成模拟器的性能数值,具体的是性能包含通带和阻带的截止频率Wp、Ws;
通带和阻带的纹波系数Rp和Rs;
然后,根据转换而来的技术指标来选择低通滤波器的阶数,并选择相应的函数,确定最小的阶数N和固定频率n。
通过N确定模拟滤波器的类型。
通过n把模拟低通滤波器转换成其他类型的滤波器;
最后,运用脉冲相应不变法,把模拟滤波器转化为数字滤波器。
因为用直接法设计滤波器是在时域和频域内直接设计,要用到联立方程组,涉及到的计算比较复杂,要用到计算机来进行计算,所以一般不用直接法。
IIR数字滤波器的系统函数H(z)为公式(2-4):
(2-4)
以上设计步骤中,最重要的就是将模拟低通滤波器转化成系统函数H(z),这其中有两点难关。
第一个难关是根据转化而来的性能数值来计算所选取的模拟滤波器的系统函数,因为模拟滤波器已经有了完备的参数图表,这一步可以通过查表来获得各个阶数相对应的分母多项式;
第二个难关是把模拟滤波器的系统函数转化成数字滤波器的系统函数,这两个系统函数之间虽然已经有了相互转化的函数,但是由于函数比较复杂,计算起来非常有难度,所以这一步通常是通过matlab软件的函数调用来解决的。
Matlab软件有自己的数据库,里面有很多经常要用到的函数,用户可以很方便的调用出来