《语音信号线性预测分析仿真课程设计.doc》由会员分享,可在线阅读,更多相关《语音信号线性预测分析仿真课程设计.doc(21页珍藏版)》请在三一办公上搜索。
1、摘 要作为最有效的语音分析技术之一,线性预测是一种基于全极点模型假定和均方预测误差最小准则下的波形逼近技术,通过对音频信号的时域和频域分析对声道参数进行估值,以少量低信息率的时变参数精确地描述语音波形及其频谱的性质,能够在尽量保持原音质的基础上合成出高质量的语音。本文重点研究了线性预测(LPC)的原理、Levinson-Durbin算法,基于MATLAB进行语音线性预测仿真,并对参数的选取做了比较分析。关键词 语音信号 LPC Levinson-Durbin算法MATLAB仿真AbstractAs one of the most effective speech analysis techni
2、que, linear prediction is a kind of based on the pole model assumption and minimum mean square error criterion of wave approximation technique, based on the audio signal of time domain and frequency domain analysis of track parameters valuations, with a few low information rate of time-varying param
3、eters accurately describe the nature of the speech waveform and spectrum, to be able to try to keep the original sound quality on the basis of the synthesis of high quality speech. This paper mainly studies the linear prediction (LPC), Levinson - from the principle of the algorithm, based on MATLAB
4、speech linear prediction simulation, and the selection of parameters to do a comparative analysis. Keywords voice signal LPC Levinson - Durbin algorithm MATLAB simulation目 录第1章 绪论11.1 语音信号LPC分析技术的基本概念1第2章 线性预测编码的基本原理22.1 语音信号的产生22.2 线性预测的概念与原理22.2.1 线性预测分析的概念22.2.2 LPC和语音信号模型的关系42.3 解线性预测参数方程组的算法52.
5、3.1 Levinson-Durbin自相关解法52.3.2 利用格型法求解线性预测系数6第3章 simulink仿真的分析合成系统103.1 仿真内容103.2 仿真系统模型103.3 仿真工作过程113.3.1 语音信号采样113.3.2 预加重113.3.3 叠接窗分析133.3.4 汉明窗143.3.5 自相关算法143.3.6 数字滤波器163.4 仿真结果分析18参考文献18第1章 绪论1.1 语音信号LPC分析技术的基本概念语音是人们交流思想和进行社会活动的最基本手段, 我们要对语音信号进行测定并将其转变为另一种形式, 以提高我们的通信能力。线性预测(Linear Predict
6、ion)这一术语是维纳1947年首次提出的,此后,线性预测应用于许多领域中。1967年,板仓等人最先将线性预测技术直接应用到语音分析和合成中。线性预测作为一种工具,几乎普遍地应用于语音信号处理的各个方面。这种方法是最有效和最流行的语音分析技术之一。在各种语音分析技术中,它是第一个真正得到实际应用的技术。线性预测技术产生至今,语音处理又有许多突破,但这种技术目前仍然是唯一的最重要的分析技术基础。在估计基本的语音参数(例如基音、共振蜂、谱、声道面积函数,以及用低速率传输或储存语音等)方面,线性预测是一种主要的技术。其重要性在于它能够极为精确地估计语音参数,用极少的参数有效而又正确地表现语音波形及其
7、频谱的性质,而且可以用比较简单的计算和比较快的速度求得参数。线性预测分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识别和说话人识别等语音处理领域中得到了广泛的应用。语音线性预测的基本思想是:一个语音信号的抽样值可以用过去若干个取样值的线性组合来逼近。通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。采用线性预测分析不仅能够得到语音信号的预测波形,而且能够提供一个非常好的声道模型。如果将语音模型看作激励源通过一个线性时不变系统产生的输出,那么可以利用LPC分析对声道参数进行估值,以少量低信息率的时变参数精确地描述语音波形及其频谱的性质。此外,LP
8、C分析还能够对共振峰、功率谱等语音参数进行精确估计,LPC分析得到的参数可以作为语音识别的重要参数之一。第2章 线性预测的基本原理2.1 语音的产生为了用数字信号处理的方法对语音信号进行处理,首先要建立语音信号产生的数字模型,因此,我们必须在对人的发声器官和机理上进行研究的基础上,才能建立精确的模型。空气由肺部排入喉部,经过声带进入声道,最后由嘴辐射出声波,这就形成了语音。在声门以左,称为“声门子系统”,它负责产生激励振动;右边是“声道系统”和“辐射系统”。当发出不同的语音,激励和声道的情况是不同的,它们对应的模型也不同。空气经过声带时,如果声带是紧绷的,则声带将周期性地开启和闭合。声带启开时
9、,空气流从声门喷出,形成一个脉冲,声带闭合时相应于脉冲序列的间隙期。因此,这种情况下在声门处产生一个准周期脉冲的空气流。该空气流经过声道流入声道后从嘴唇辐射出来,从而产生浊音。如果声带是完全舒展的,则空气流将不受影响的通过声门并进入声道。这时,如果声道有某部位收缩成一个狭窄的通道,则空气流到达此处时将被迫高速冲过此收缩区,并在附近形成湍流,这种空气湍流激励声道后便形成清音或摩擦音。这时,如果声道有部位完全闭合,则当空气流到达时将在此处形成空气压力,一旦闭合处突然开启便会让空气压力快速释放,激励声道后便会形成爆破音。语音信号是一种典型的非平稳信号。但是由于语音的形成过程与发音器官的运动密切相关,
10、这种物理运动比起声音振动速度来讲要缓慢得多,因此语音信号常常可假定为短时平稳的,即在1020ms这样的时间段内,其频谱特性和某些物理特征参量可以近似看做不变。这样,我们就可以采用平稳过程的分析处理方法。一般是用一个长度有限的窗序列截取语音信号进行分析,并让这个窗滑动以便分析任一时刻附近的信号。2.2 线性预测的概念与原理2.2.1 线性预测分析的概念线性预测编码原理:利用过去的样值对新样值进行预测,然后将样值的实际值与其预测值相减得到一个误差信号,显然误差信号的动态范围远小于原始语音信号的动态范围,对误差信号进行量化编码,可大大减少量化所需的比特数,使编码速率降低。线性预测分析又称LPC分析,
11、对分析就是用过去P个取样值的加权之和来预测信号当前取样值,如果利用P个取样值来进行预测,则称为P阶线性预测。预测信号为: (2.2.1),称为预测系数,由于语音信号性质变化缓慢,所以对于所分析的帧来说,预测系数是一组恒定的参数。预测误差为:(2.2.2)预测误差e(n)是信号s(n)通过如下系统的输出,A(z)称为LPC误差滤波器.图2.2该方程可以求出预测误差滤波器的传输函数为将(2.2.2)改写成下列形式现在输入信号是,输出信号是,传输函数为这是一个全极点滤波器,称为LPC的语音合成模型。系统A(z)为LPC误差滤波器,设计预测误差滤波器就是求解预测系数,使得预测误差e(n)在某个预定的准
12、则下最小,这个过程就是LPC分析。线性预测的基本问题就是由语音信号直接求出一组线性预数 ,这组预测误差滤波器就被看做语音产生模型中系统函数H(z)的参数,使得在一短段语音波形中均方预测误差最小。将 对各个系数求偏导,并令其结果为零,即(2.2.3)由式(2.2.2)可知(2.2.4)将式(2.2.4)代入(2.2.3)可得(2.2.5)式(2.2.5)表明预测误差与信号的过去p的取样值是正交的,称为正交方程。将式(2.2.2)代入(2.2.5)得(2.2.6)令s(n)的自相关序列为 (2.2.7)由于自相关序列为偶对称,因此 (2.2.8)这表明式(2.2.8)与一般的自相关序列的定义是一样
13、的。这样式(2.2.7)进一步表示为 (2.2.9)上式称为标准方程式,它表明只要语音信号是已知的,则p个预测系数 通过求解该方程即可得到。设 (2.2.10)上式矩阵形式为 或者 (2.2.11)通过求解上式即可求得p个线性预测系数 2.2.2 LPC和语音信号模型的关系如图1所示,为描述语音产生过程的离散时间信号模型。图中,准周期性脉冲序列发生器产生浊音的激励源,浊音的基音频率由脉冲重复的周期决定;随机噪声发生器产生清音的激励源,模拟湍空气湍流;清浊音开关控制清音和浊音的产生;嘴唇的辐射特性可以用一个一阶极点数字滤波器来实现;增益控制来控制语音的强度。模型中所有参数(基音频率,随即噪声的方
14、差,清浊音开关的位置,模型的参数)都是随着时间改变的。声门激励、声道调制和嘴唇辐射的合成贡献,可用如下数字时变滤波器表示上式既有极点又有零点。按其有理式的不同,有如下三种信号模型:(1)自回归滑动平均模型(ARMA模型);(2)自回归信号模型(AR模型);(3)滑动平均模型(MA模型)。 一般都用AR模型作为语音信号处理的常用模型。此时H(z)写为式中,增益G以及数字滤波器系数都可以随时间而变化,p为预测器阶数。当p足够大时,上式几乎可以模拟所有语音信号的声道系统。采用简化模型的主要优点:可以用线性预测分析法对增益G和滤波器系数进行直接而高效的计算。在语音产生的数字模型中,语音抽样信号s(n)
15、和激励信号之间的关系可用下列差分方程来表示:可见,如果语音信号准确服从上式的模型,则 ,所以预测误差滤波器A(z)是H(z)的逆滤波器,故有下式成立: 2.3 线性预测的概念与原理2.3.1 Levinson-Durbin自相关解法由于语音是一种短时平稳信号,因此只能利用一段语音来估计模型参数。将长的语音序列加窗,然后对加窗语音进行LPC分析,只要限定窗的长度就可以保证分析的短时性,这种方案称为自相关法。 )()()()( )()()()(11min2=-=-=piipiipinsneEansneEinsansneEneEE根据线性预测分析的原理可知,求解p个线性预测系数的依据,是预测误差滤波
16、器的输出方均值或输出功率最小。称这一最小方均误差为正向预测误差功率,即 (2.3.1)由式(2.2.5)正交方程知上式第二项为0。再将式(2.2.2)代入可得以上两式组合起来得称为尤勒-沃尔克(Yule-Walker)方程。方程的系数矩阵为托普利兹(Toeplitz)矩阵 可见,为了解得线性预测系数,必须首先计算出自相关序列R(k) ,为了简化计算,可根据语音信号的短时平稳特性将语音信号分帧,这样自相关序列R(k)可用下式估计 (2.3.2)如果将预测误差功率Ep理解为预测误差的能量,则上式中的系数对线性预测方程的求解没有影响,因此可以忽略。利用对称托普利兹(Toeplitz)矩阵的性质,自相
17、关法求解可用Levinson-Durbin(莱文逊-杜宾)递推算法求解。 该方法是目前广泛采用的一种方法。利用Levinson-Durbin算法递推时,从最低阶预测器开始,由低阶到高阶进行逐阶递推计算。自相关法递推过程如下 )(iii-ka=联立上面5式可对i=1、2、p进行递推求解,其最终解为 (2.3.3)2.3.2 利用格型法求解线性预测系数在Levinson-Durbin递推算法中,如果计算出第i阶的线性预测系数为(,jl,2,i),利用这些系数可以计算第i阶逆滤波器(或称为预测误差滤波器)的系统函数为 (2.3.4)这个滤波器的输人信号是s(n),输出信号为预测误差,它们之间的关系为
18、 (2.3.5)经过推导,可知第i阶线性预测逆滤波器输出可分解为两个部分,第一部分足(i1)阶滤波器的输出;第二部分是与(i1)阶有关的输出信号,经过单位移序和加权后的信号。下面讨论这两部分信号的物理意义。将这两部分信号定义为正向预测误差信号和反向预测误差信号 (2.3.6) (2.3.7)式(2.3.6)中的即是通常的线性预测误差,它是用i个过去的样本值:s(n1)、s(n2)、.、s(n-i)来预测s(n)时的误差;而式(2.3.7)中的可看成是用时间上延迟时刻的样本值s(n-i+1),s(n-i+2),s(n)预测s(n-i)样本的误差,所以整个误差称为反向预测误差。这个预测过程称为反向
19、预测过程。在建立了正向预测和反向预测的概念后就可以推出线性预测分析用的格型滤波器结构。根据式(2.3.6)和(2.3.7),当i=0时,有 (2.3.8)而i=p时 (2.3.9)这里是P价线性预测逆滤波器所输出的预测误差信号,如果改用符号表示正向预测误差,则可写成如下递推形式 (2.3.10)图2-2这个滤波器输入为s(n),输出为正向预测误差,亦即预测误差e(n)。另一方面,在图22所示语音信号模型化的框图中,模型即合成波器的H(z)亦可采用格型结构。如果将模型中的增益因子G考虑到输入信号中,则该滤波器输入是Gu(n),输出是合成的语音s(n)。通过线性预测分析求得的A(z)是H(z)的逆
20、滤波器,Gu(n)则由e(n)来逼近,因此合成滤波器H(z)的结构形式应该满足输入e(n)时输出语音信号s(n)。将式(2.3.10)进行整理,可得 (2.3.11)图2-3反射系数是语音处理中至关重要的参数,它的计算是一个重要问题。在自相关法和协方差法中,用预测误差最小为条件求出线性预测系数。格型法的特点之一是能够在格型的每一级进行合适的本级反射系数计算。显然,格型法的结构与前面讨论的自相关法和协方差法的结构之间存在若干差异。格型滤波器的优点为:反射系数可被直接用于计算预测系数,格型滤波器的级数等于预测系数的个数。格型滤波器的稳定性可由其反射系数的值来判定。可以证明,格型滤波器稳定的充要条件
21、是:1。下面,我们进行格型法的求解式(2.3.6)的Z变换可以表示为 (2.3.12)将代入到(2.3.4)式,可以从递推求解,式可得 (2.3.13)取(2.3.7)式的Z变换得 (2.3.14)利用(2.3.14)式球得(2.3.45)式的Z反变换形式为 (2.3.15)同理可推得 (2.3.16)伯格(Burg)提出了一种算法,它是基于使正反向预测误差的平方和为最小,可以表示为 (2.3.17)将(2.3.15)式和(2.3.16)式代入(2.3.17)式,可得 (2.3.18)令 (2.3.19)可求出为 (2.3.20)上式说明,将正向与反向预测误差联系起来了,它表示正向与反向预测误
22、差的相关度,故称参数为部分相关系数(PARCOR系数)。的取值范围为 (2.3.21)格型算法的步骤可以归纳如下:(1) 确定初始值:(2) 由(2.3.20)式可以求得(3) 由(2.3.15)式和(2.3.16)式计算正向和反向预测误差:(4) 设i=2。(5) 由(2.3.20)式求ki(6) 决定,(j=1,2,i-1),(7) 同(3)。(8) 设i=i+1。(9) 若ip,重复(5)(6)(7),否则(10)。(10) 结束。由于格型算法不需要计算自相关函数,可以直接从语音取样中求得预测系数,因而避免了语音端点处具有比较大的相关函数误差的缺点。第3章 simulink仿真的分析合成
23、系统3.1 仿真内容对音频信号进行分析,实现对语音采样、线性编码,使语音在传输时失真最小。3.2 仿真系统模型通过在MATLAB 命令栏中输入dsplpc,打开语音信号线性预测分析仿真模型:显示仿真模型如下图:图3-1 仿真系统框图图3-1是线性预测语音信号的分析合成系统,本仿真图由两大部分构成,分别是语音信号的分析合成部分。由上图可知对于因信号进行采样,采样频率为8KHz的语音信号“MATLAB”,首先进行预加重,提升语音信号的高频部分,提高信噪比,然后通过叠阶窗分析将语音信号的频谱图连接起来,达到淡入淡出的效果,防止语音信号在连接点的跳变,避免刺耳的噪声。而后通过汉明窗对语音信号频谱进行截
24、取,分析一段语音信号。进行自相关函数的计算,得到LPC方程组,通过莱文森杜宾算法计算出预测系数。预测系数作为逆滤波系数,并将残差信号送到声道滤波器中进行滤波,合成的语音信号进行去加重,便得到与原始信号相似的语音波形。3.3 仿真工作过程3.3.1语音信号采样图3-2 输入语音信号模型双击出现如下对话框,输入一个8kHZ的语音信号“matlab”。图3-3 输入语音信号参数设定参数分析:采样周期为1/8000,每帧采样点为80,并分帧处理。3.3.2预加重图3-4 预加重模型图3-5 预加重参数设定参数分析:传递函数类型:全极点,即全零点FIR数字滤波器。这类滤波器对于无限长脉冲响应最终趋于0,
25、由于无限长脉冲响应滤波器中存在反馈电路,因此对于脉冲输入信号的响应是无限延续的。有限脉冲响应滤波器的优点:FIR有线性相位,不会导致信号的包络失真,各个频率成分传输速度同样快,同步到达输入端。而IIR滤波器则可能导致包络失真,部分频率成分传输速度快就会先到达接收端,速度慢色频率成分则会后到达接收端,在输出端叠加,造成失真。并且FIR滤波器是稳定的,在Z域转换后的所有极点都在单位圆内。滤波器结构:直接型无反馈。分子系数:1,0.95 起始值:在语音信号的A/D转换过程中,为了防止频谱混叠,通常在对模拟语音信号取样之前先进行低通滤波器,但滤波的同时也降低了高频趋于信号的能量,这对线性预测分析是相当
26、不利的。由于高频区域能量的降低可能会影响到自相关矩阵的正确性,导致自相关矩阵病态甚至可逆,因而通常在计算LPC系数之前利用只有一个零点的滤波器对语音进行处理,预加重的目的就是增强语音的高频分辨率。使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分子或声道参数分析。通俗的说,预加重就是设计滤波器,常采用的是传递函数为H(z)=1-u/z的一阶FIR高通滤波器来实现预加重。预加重系数取接近于1的值,常取0.91。设n时刻的语音采样信号x(n),经过预加重处理后的结果为y(n)=x(n)-ux(n-1),这里取u=0.98。3.3.3叠阶窗分析图3-6 叠接窗模
27、型如图3-1所示,通过预加重处理后,接下来进行加窗分帧处理。语音信号是一种随时间变化的信号,主要分为浊音和清音两大类。浊音的基音周期、清音周期信号幅度和声道参数等都随时间而缓慢变化。由于发声器官的惯性运动,可以认为在一小段时间里(一般为1030ms)语音信号近似不变,即语音信号具有短时平稳性。这样,可以把语音信号分为一些短帧(称为分析帧)逐帧进行处理。正是因为逐帧分析,所以在帧与帧之间,即波形相接的地方不够平滑,在听觉上会有严重的失真,所以我们要建立淡入淡出的概念,通过交叠分段的方法,使帧和帧之间平滑过渡,使其保持连续性。语音信号的分帧是采用可移动的有限长度窗口进行加权的方法实现的。一般每秒3
28、3100帧,视情况而定。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为01/2。 双击该图标将出现图3-7:图3-7 叠接窗参数设定参数分析:由上图可知,帧长:160bit; 帧移动:80bit; 帧移与帧长的比值为1/2,即一帧160个样点,缓冲80个样点。3.3.4汉明窗图3-8 汉明窗模型如图3-8所示,语音信号的分帧是采用可移动的有限长度窗口进行加权的方法来实现的。常用的窗有两种,一种是矩形窗,一种是汉明窗,在这里我们用的是汉明窗。下图是汉明窗的参数设定:图3-9 汉明窗参数设定参数分析:由图可知采用汉明窗口输入,采用对称采样。3.3.5自相关算法图3-10 自相关和莱文森
29、-杜宾算法模型由前面的讨论可知,清音和浊音的发生机理不同,因此在波形上也存在着较大差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,杂乱无章,样点间的相似性较差。这样,可以用自相关函数测定语音的相似特性,之后运用莱文森-杜宾算法进行快速简便的运算,计算出预测系数。在这个过程中即可用前n-1个值来预测第n个值,用来取消冗余,实际与现实有误差,来计算误差。计算得出的值作为预测系数进行傅里叶等计算得到LPC的频谱。而通过莱文森算法得出的预测系数作为滤波器系数,使预测语音信号和原始信号进行相减滤波得出残差,这里 即为预测系数。图3-11为LPC频谱。如图3
30、-12为通过格形算法算出的反射系数样点波形图。图3-11 LPC频谱图图3-12 反射系数样点波形图3-11为莱文森-杜宾算法计算得出的预测系数经添零后作傅里叶变换,再求其倒数得到的LPC频谱,图3-12为格形算法计算得出的反射系数样点波形图。通过杜宾算法算出的预测系数与通过格形算法算出的预测系数其实没有本质的区别,只是相比较而言,格形算法较为简洁,更易于保证语音合成器的稳定性。此外,格形结构对于算法中的有限字长带来的误差比较不敏感,因此特别适宜于只能采取定点的硬件系统来实现,基于以上原因,大部分用语音合成器的系统都采用格形结构。通过图3-11也可以清晰地看到第一共振峰,第二共振峰以及第三共振
31、峰。在语音科学及语音学中,共振峰描述的是人类声道中的共振情形。常用的测量方法是由频谱分析或声谱图中,寻找频谱中的峰值。但假如如说话者,用比较高的基频发出元音,例如小孩或女性的声音,则频谱上看起来比较像是宽带状,比较无法看出明显的峰值。3.3.6数字滤波器从仿真框图中可以看到,分析滤波器有两个输入端,经格形运算后的预测系数作为分析滤波器的系数,并对预加重后的原始语音信号滤波,输出残渣。这个过程其实就是取新样本的实际数值,和预测值进行比较,得到差值后,仅把预测值与现实样值之差(预测误差)进行传输。接下来在接收端通过一个合成滤波器,将经格形算法得出的预测系数作为合成滤波器的预测系数,对残差进行滤波,
32、得到新的语音信号,最后经加重滤波器,便可恢复与原信号近似的波形。图3-13为分析滤波器的参数设定图。图3-13 分析滤波器参数设定由图3-13可知,分析滤波器采用FIR数字滤波器。图3-14 LPC误差滤波器参数设定由图3-14可知,合成滤波器采用的是IIR型数字滤波器。图3-15 零时刻残差时域波形图图3-16 中间时刻残差时域波形如图3-15,3-16所示为LPC误差滤波器输出的残差系数在不同时刻的时域波形图。由图3-15和图3-16可以知道,由于我们输入的语音信号为matlab,最开始频谱没有明显波动,当将时间轴调到中间的部分,可以看到频谱变化十分明显,很像噪声的频谱,那是因为发出t这样
33、的清音,类似于噪声,导致频谱变化幅度非常明显。3.4 仿真结果分析实验结果通过双击Original Signal 模块来听原始语音,与双击Processed Signal 模块,采用LPC法合成的语音信号来听量化的语音,发现两者听起来几乎没有差别。参考文献 1 易克初,田斌,付强. 语音信号处理 M. 国防工业出版社,2000,6. 951062 张雪英. 数字语音处理M. 电子工业出版社,2010,7.951003 薛定宇,陈阳泉. 基于MATLAB/Simulink的系统仿真技术与应用,2011,2.4 李贺冰. Simulink通信仿真教程M. 国防工业出版社,2006,5. 27355 杨行峻,迟惠生,等. 语音信号数字处理M.北京:电子工业出版社,1995,8.3063