1、毕业论文题 目:基于 MATLAB 的语音信号预处理 学 号: 06111001014姓 名: 刘 代 龙 教 学 院: 理 学 院专业班级: 物 理 学指导教师: 王晓丽(讲师)完成时间: 2014 年 4 月 20 日 毕节学院教务处制毕节学院本科毕业论文目 录摘 要: .iAbstract: ii引言 11.MATLAB 的简介及语音信号处理的概述 .11.1. MATLAB 的简介 .11.2. 语音信号处理的概述 .12.对模拟信号进行处理 .22.1 常用的信号调理环节 .22.2 调制与调解 .32.2.1 测试信号的调制 .32.2.2 测试信号的调解 43.对语音信号进行预加
2、重处理及加窗处理 .43.1.语音信号的预加重处理 .43.2 语音信号的加窗处理 .5小结 9参考文献 10致 谢 11毕节学院本科毕业论文基于 MATLAB 的语音信号预处理作者:刘代龙 专业班级:物理学 2010 级(一)班学号:06111001014 指导教师:王晓丽摘 要:本文主要讨论运用 MATLANB 软件对于因信号进行预处理。简单介绍了MATLAB 的基本操作和应用,概括介绍了语音信号的预处理方法,即运用 MATLAB对语音信号进行预加重处理和分桢加窗处理。一般而言语音处理有两种目的:一种是对语音信号进行分析,提取特征参数,用于后续处理;另一种是加工语音信号,滤除语音中的噪音,
3、获得“干净”的语音。总而言之,用 MATLAB 对语音信号进行的预处理的目的在于方便更进一步的语音信号处理。关键词:MATLAB 预加重 分桢加窗 预处理毕节学院本科毕业论文MATLAB-based speech signal preprocessingCandidate: Liu Dai-long Major: physicsStudent No.: 06111001014 Advisor: Wang Xiao-liAbstract:This paper discusses the use of MATLANB software for signal preprocessing result
4、. Introducing the basic operation and application of MATLAB, an overview of the speech signal preprocessing methods that use MATLAB speech signal pre-emphasis and sub-frame window treatment. Purposing speech processing have two sides: one is the speech signal analysis, feature extraction parameters
5、for subsequent processing; other is a voice signal processing, speech in noise filtering, access to “clean“ the voice . In a word, the purpose of the pretreatment of the speech signal using MATLAB is convenient to further speech signal processing. Key words: MATLAB pre-emphasis Windowed sub-Lo prepr
6、ocessing毕节学院本科毕业论文第 11 页 共 11 页引言随着近年来信息技术的迅猛发展,特别是在美国 Mathworks 公司推出 MATLAB 这款用于算法开发、数据可视化、数据分析及数值计算的商业软件后,许多领域都得到了一个黄金发展时机,特别是语音信号处理领域更是凸显出这种优势。MATLAB 在语音信号的处理方面更是倍受青睐。由于语音信号是一种非平稳的时变信号,他携带着各种信息,而在语音的传输过程中要将语音信号进行处理。在语音信号的处理之前进行预处理则是语音信号处理的前提。一方面,数学软件 MATLAB 的不断升级和改进更加促进人们对语音信号在现实生活中的应用普遍化。另一方面,为了
7、语音信号实用化的需要,人们自适用、听觉模型、快速搜索、识别算法以及进一步的语言模型的研究等课题更受关注。基于此,用 MATLAB 来对语音信号进行处理就显得至关重要了 。5本文内容分三部分:第一部分是对 MATLAB 进行简介及语音信号处理的概述;第二部分对模拟信号进行处理;第三部分则是对语音信号进行预加重处理和加窗处理。1.MATLAB 的简介及语音信号处理的概述1.1. MATLAB的简介MATLAB 是由矩阵(Matrix)和实验室(laboratory)两个英文单词的前三个字母组成,意为“矩阵实验室” 。它是以矩阵作为基本数据单元的一种程序设计语言,提供了数据分析、算法实现与应用开发的
8、交互式开发环境 2。MATLAB 是有着非常强大的功能一个软件,单是基本的 MATLAB 产品就有 1000 多个内部函数可供调用,这比其他任何工具提供的函数都要多。再者,由于 MATLAB 具有良好的开放性,它吸收了符号运算功能最强大的功能软件 Maple 的优点,在新的版本中也加入了对C,FORTRAN,C+,JAVA 的支持,可以对其直接调用。用户还可以将自己编写的程序导入到 MATLAB 函数库中方便自己今后调用。此外,有许多 MATLAB 爱好者编写的一些经典的程序,用户也可以直接下载使用。这样,MATLAB 在数值计算、符号运算及图形处理等方面在同类产品中占尽了优势,可以说,由于
9、MATLAB 的强大功能,再加上它比较简单易学,MATLAB 已成为高校师生、科研人员和工程技术人员的最佳选择3。1.2. 语音信号处理的概述语音信号处理是基于语音学和数字信号处理为基础而形成的一门综合性学科,简称语音处理。语音处理的目的是为了得到一些语音参数以方便其高效的传输或存储,或者通过处理某种运算以达到某种用途的要求。它包括语音编码、合成、识别和说话毕节学院本科毕业论文第 11 页 共 11 页人识别四个大分支。语音是人的发音器官发出的能起社会交际作用的声音。它具有一定的意义,这也是是语言的声音同自然界其他一切声音的本质区别。人体外的声音自不必说,就是人的发声器官发出的声音,也并非都是
10、语言,如打哈欠、打喷嚏等,虽然也传递了某种信息,但声音的发出不是为了交际,而是人体本能的生理反应;又比如口技演员的表演、吹口哨、哭、笑等,这些声音的发出是有目的的,不是单纯的生理现象,但是声音与意义之间没有固定的结合关系,不能代表意义的声音符号,只能展示技巧,代表情绪。以上这些声音都不是语言 。3语言的声音离不开它所代表的意义,它们是一个相互依存的统一。一方面发音器官发出的声音要成为该意义的代表,这就要求它必须同意义紧密结合,才能成为语音;另一方面,意义必须借助声音方能被人感知、被人接受,没有声音,意义将无法表达。综上所述,对语音信号的处理就更显得意义非凡了。实际的语音信号是模拟信号,因此在对
11、它进行数字处理之前,首先要对该模拟信号 S(t)以采样周期 T 采样并将它离散化为 S(n),采样周期的选取应根据语音信号的带宽(依奈奎斯特采样定理)来确定,以避免信号混叠失真。接下来,在对离散的语音信号进行量化处理的过程中会带来一定的失真和量化噪音。实际操作中,数字语音的获得途径一般有正式的和非正式的两种。正式的是指语音研究机构或大公司发布的被大家认可的语音数据库,非正式的是研究者个人自己随时随地用录音软件录制的一些发音和语句。2.对模拟信号进行处理模拟信号处理,是运用一定的数学模型所组成的运算网络来实现的直接对连续信号进行分析和处理的过程。绝大多数传感器输出的电信号非常微弱,需要进一步放大
12、;有的传感器输出的是电容、电感等电参量,需要把它们转化为后续设备能够识别的电压量;若仅针对部分频段的信号进行测试,则可以把输出信号进行分离并得到所需的频率成分,由后续环节进行更进一步的分析和处理;而对于计算机、数字式仪器和数字式仪表来说,模拟信号的处理也是必不可少的。可见,模拟信号只有经过预处理,才能与 A/D 等转换设备相匹配。采用模拟信号处理技术对传感器的输出信号进行处理,是传感器到显示、记录或数字化分析的前向通道终必不可少的重要环节,通常称之为信号调理。2.1 常用的信号调理环节常用的信号调理环节有电桥、放大器、滤波器和调制与调解。欲使信号放大,就毕节学院本科毕业论文第 11 页 共 1
13、1 页需要用到放大器,足够的放大倍数、高输入低输出的阻抗及高共模抑制能力和低漂移、低噪声、低失调电压和电压和电流是对放大器的要求。这样的放大器将传感器输出的微弱信号进行放大,以达到后续处理的要求。常用的放大器类型有直流放大器、交流放大器和电荷放大器三种。放大器的放大倍数是关键参数(1).直流放大器的工作点随温度等的变化而波动导致了电路的稳定性成为设计的重点。(2).交流放大器的工作点保持在 0V 不变时,信号上下波动变化受温漂影响较小且电路稳定性好,结构简单。(3).电荷放大器是一种特殊的放大器,设计中让输出电压随传感器电荷变化而变化,主要应用在压电式传感器中。2.2调制与调解有些被测物理量,
14、如力、位移、温度等,经过传感器检测输出后多数是低频缓变的微弱信号。对这类信号若直接采用直流放大传输,容易受低频干扰、放大器零漂源等的影响。目前较常用的调制方法是先调制成高频交流信号后,再进行交流放大和传输。所以,调制解决微弱缓变信号放大机传输问题的是一种调理方法。2.2.1 测试信号的调制使一个信号的某些参数在另一个信号的控制下发生变化的过程就叫做调制。在信号调制的过程中,一般将控制高频震荡的缓变信号称为调制波;载送缓变信号的高频震荡波称为载波;经过调制的高频震荡波称为已调波。已调波相应地有调幅波、调频波和调相波三种,测试技术中常用调幅和调频两种。调幅、调频、调相的图解过程如图 2.2.1 所
15、示:图 2.2.1 中被测信号是正弦波,载波是三角波。被测信号可以决定调幅波的包络线形状,载波的相位和频率都不改变。调频波的载波信号的振幅与相位不变,频率改变。而对已调波进行鉴别以恢复缓变的测量信号则是解调。毕节学院本科毕业论文第 11 页 共 11 页2.2.2 测试信号的调解调制利用缓变信号来控制或改变高频荡的参数(频率、幅值或相位) ,使之随被测信号作有规律的变化,以利于信号的放大与传输。调制过程有三种:调幅:高频振荡的幅值受缓变信号控制,以 AM 表示。调频:高频振荡的频率受缓变信号控制,以 FM 表示。调相:高频振荡的相位受缓变信号控制,以 PM 表示。3.对语音信号进行预加重处理及
16、加窗处理3.1.语音信号的预加重处理对语音的的高频部分进行加重以去除口唇部分的影响,就必须要对输入的数字语音信号进行预加重处理,以此来增加语音的高频分辨率。通常通过传递函数为的一阶 FIR 高通数字滤波器来实现预加重,其中 为预加重系数,0.9 1.0。设1Hya aan 时刻的语音采样值为 X (n), 经过预加重处理的结果为 ,这里取(n)X(n1)Y=0.98。图 3.1 为该高通滤波器的幅频特性及相频特性。图 3.2 中分别给出了预加重前和预加重后的一段浊音信号及频谱,可以看出预加重后的频谱在高频部分的幅度有了提升。实现高频提升的MATLAB 程序如下。fid=fopen(voice2
17、.txt,rt);e=fscanf(fid,% f);ee=e(200:455);r=fft(ee,1024);r1=abs(r);pinlv=(0:1:255)* 8000/512yuanlai=20* log10(r1)signal(1:256);图 2.2.1毕节学院本科毕业论文第 11 页 共 11 页h1,f1=freqz(1,-0.98,1,256,4000);Pha=angle(h1);H1=abs(h1);r2(1:256)u=r2.* h1u2=abs(u)u3=20* log10(u2)un=filter(1,-0.98,1,ee)figure(1);subplot(211
18、);plot(f1,H1);title(高通滤波器的幅频特性 );xlabel( 频率/Hz);ylabel(幅度);subplot(212);plot(pha);title(高通滤波器的相频特性);xlabel(频率/Hz/);ylabel(角度 /rad);figure(2);subplot(211);plot(ee);title(原始语音信号);xlabel(样点数);ylabel( 幅度);axis(0 256-3*104 2*104);subplot(212);plot(real(un);title(经高通滤波后的语音信号);axis(0 256-1* 1041*104);xlabe
19、l(样点数);ylabel( 幅度);figure(3);subplot(211);plot(pinlv,signal); title(原始语音信号频谱);xlabel(频率/Hz);ylabel(幅度/dB);subplot(212);plot(pinlv,u3);title(经高通滤波后的信号频谱 );xlabel(频率/HZ);ylabel(幅度/dB);3.2语音信号的加窗处理在对语音信号进行预加重处理后,接下来要进行加窗分帧处理。语音信号主要分为浊音和清音两类,是一种随时间变化的信号。浊音的基音周期、清浊音信号幅度以及声道参数等都随时间而缓慢变化。由于发音器官的惯性运动,可以认为在一
20、个很小的时间段里(一般在 1030ms)语音信号近似不变,即语音信号具有短时平稳性。如此,便可以把语音信号分为一些短段(称为分析帧)来进行处理。语音信号的分帧是采用可移动的有限长度窗口进行加权的方法来实现的。每秒的帧数一般为 33100 帧,看实际情况而定。分帧虽然可以采用连续分段的方法,但一般要采用图 3.2.1 所示的交叠分段的方法,这样做是为了使帧与帧之间能平滑过渡,保持较好的连续性。帧与帧之间的交叠部分称为帧移,帧移与帧长的比值一般取为 00.5,图 3.2.1 给出了帧移与帧长示意图。毕节学院本科毕业论文第 11 页 共 11 页图3.2.1常用的窗有两种,一种是矩形窗,窗函数如下:
21、(3.1) 1,0mM() 其 他另一种是汉明(Hamming)窗,窗函数如下:(3.2)0.54.6cos2/(M1),()mmM, 0 其 他这两种窗的时域和频域波形用 MATLAB 程序来实现,下面分别叙述。1 矩形窗时域和频域波形,窗长 N=65【程序 3.2】 juxing.mx=linspace(0,90,1000); %在 0-90 的横坐标间取 1000 个y=zeros(1000,1); %为矩阵 h 赋 0 值 y(1:191)=0; %前 190 个值取为 0 值y(192:800)=1; %窗长,窗内值取为 1y(801:1000)=0; %后 200 个值取为 0 值
22、figure(1); %定义图号subplot(1,2,1) %画第一个图plot(x,y,k); %画波形,横坐标为 x,纵坐标为 y,k 表示黑色title(矩形窗时域波形); %图标题xlabel(样点数); %横坐标名称ylabel(振幅); %纵坐标名称axis(0,100,-0.5,1.5) %限定横、纵坐标范围line(0,100,0,0) %画出 x 轴w1=linspace(0,65,65); %取窗长内的 65 个点毕节学院本科毕业论文第 11 页 共 11 页w1(1:65)=1; %赋值 1,相当于矩形窗w2=fft(w1,512); %对时域信号进行 512 点的傅里
23、叶变换w3=w2/w2(1) %幅度归一化w4=20*log10(abs(w3); %对归一化幅度去对数w=2*(0:511)/512; %频率归一化subplot(1,2,2); %画第二个子图plot(w,w4,k); %画幅度特性图axis(0,1,-100,0); %限定横、纵坐标范围title(矩形窗幅度特性); %图标题xlabel(归一化频率、f/fs); %横坐标名称ylabel(振幅;/dB); %纵坐标名称 a图 3.2.1 是程序运行后对应的矩形窗时域波形和频谱特性图。2 汉明(Hamming)窗时域和频域波形,窗长 N=65【程序 3.3】hanming.mx=lins
24、pace(20,90,65);图 3.2.2 矩形窗及其频谱毕节学院本科毕业论文第 11 页 共 11 页h=hamming(65);figure(1);subplot(1,2,1);plot(x,h,k);title(汉明窗食欲波形);xlabel(样点数 );ylabel(幅度);w1=linspace(0,65,65);w1(1:65)=hamming(65);w2=fft(w1,1224);w3=w2/w2(1);w4=20*log10(abs(w3)w=2*0:1223/1224;subplot(1,2,2)plot(w,w4,k)axis(0,1,-100,0)title(汉明窗幅
25、度特性);xlabel(归一化频率 );ylabel(幅度/dB);图 3.2.3 是程序运行以后相应的汉明窗时域波形和幅频特性。毕节学院本科毕业论文第 11 页 共 11 页对比图 3.2.2 和图 3.2.3 容易看出,汉明窗的主瓣宽度大于矩形窗,频谱分辨率较矩形窗低,矩形窗旁瓣峰值比汉明窗大,故其频谱泄露较严重。相比较,虽然矩形窗主瓣宽度较窄,约为汉明窗的一半,但是它的旁瓣衰减较小。而汉明窗旁瓣衰减较大,具有非常平滑的低通特性,能够在相当高的程度上反映短时信号的频率特性。图 3.2.3 汉明窗及其频谱毕节学院本科毕业论文第 11 页 共 11 页小结经过九十个日日夜夜的努力在老师,在老师
26、指导下同学的帮助下,基于 MATLAB 的语音信号预处理终于顺利成文。通过数学软件 MATLAB 的辅助,把以往听起来冰冷生硬的语音信号处理做成自己的毕业设计,并且能对自己的语音进行预处理。再者,在写毕业论文的过程中,我也发现了自己在很多方面的欠缺,对 MATLAB 的操作不熟悉,对语音信号的处理掌握不到位这些都让我走了不少弯路。然而,通过这次论文的撰写,我不断认识自己的不足,不断去充实自己、完善自己,不断地成长。毕节学院本科毕业论文第 11 页 共 11 页参考文献1 胡航.语音信号处理M.哈尔滨:哈尔滨工业大学出版社, 2000.2 徐靖涛,王金根.基于MATLAB的语音信号分析和处理J.
27、 重庆科技学院学报(自然科学版),2008,(03):132-1353 赵力.语音信号处理M.机械工程出版社,2003,5:4 张雪英. 数字语音处理及MATLAB仿真M. 北京市:电子工业出版社 ,2010, 075 张志涌. MATLAB教程R2010aM. 北京市:北京航空航天大学出版社 ,2010,086 王彬. MATLAB数字信号处理M. 北京市:机械工业出版社 , 2010.067 韩纪庆,张磊,郑铁然. 语音信号处理M. 北京市:清华大徐出版社 , 2013.048 王震宇.张培珍.数字信号处理M. 北京市:北京大学出版社, 2010.039 阴艳丽,基于 MATLAB 语音信
28、号处理的研究J.中国新技术新产品,2012, (12):2810 童诗白,华成英. 模拟电子技术基础M. 北京市:高等教育出版社 , 1980.09, 3.毕节学院本科毕业论文第 11 页 共 11 页致 谢六月如约而至,毕业论文也暂告收尾,这意味着我在毕节学院四年的学习生活即将结束。回首过往,自己一生最宝贵的时光能在这样的校园之中,能在众多学富五车、才华横溢的师长们的熏陶下度过,我为自己作为一名流仓学子的身份而自豪在这四年的时光里,无论是学习上还是思想上我都受益匪浅,除了自身努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。论文的写作是枯燥艰辛而又富有挑战的,运用 MATLAB 对
29、语音信号进行处理由原来的实验化走向实用化近年来备受关注。老师的谆谆诱导、同学的出谋划策和朋友的支持鼓励,是我坚持完成论文的动力源泉。在此,我特别要感谢我的导师王晓丽老师和高慧昀老师。从论文的选题、文献的采集、框架的设计和结构的布局以及最终的论文定稿,从格式到内容、从标题到标点,他们都费尽心力。没有王老师和高老师的辛勤栽培、孜孜教诲,我的论文就不会这么快、这么顺利的完成。感谢我最亲爱的同学们,与他们的交流使我受益颇多。最后要感谢我的朋友对我的理解、支持、鼓励和帮助。老师们、同学们、朋友们,正是因为你们,我所做的一切才那么有意义。时间的仓促及自身知识水平的不足,我的论文肯定存在尚未发现的缺点和错误。恳请阅读此文的老师和同学予以指正,不胜感激。