语音信号的线性预测分析贺前华目录•为什么要进行特征提取•线性预测分析的基本思想•线性预测分析的信号模型•线性预测系数求解•线性预测方程组的求解方法及比较1.自相关法2.协方差法3.格型法为什么要进行特征提取提取出反应信号特征的关键特征参数,以降低维数并便于后续处理。采样序列分帧提取特征说话人特性说话人情绪信道特征环境噪音文本内容针对不同的应用场景,感兴趣的信号特征不同。1.语种特征2.方言特征3.说话风格4.语速5.心境•幅度、能量、过零率、基音周期•短时频谱共振峰频率(formant)线谱对参数(LSP,linearspectrumpair)线性预测系数(LPC,linearpredictioncoefficients)线性预测倒谱系数(LPCC,linearpredictioncepstralcoefficients)梅尔频率倒谱系数(MFCC,Melfrequencycepstralcoefficients)常用特征反应声道特性反应人耳听觉特性WhyLPC?GoodmodelforspeechsignalLeadtoareasonablesource-vocaltractseparationIsaanalyticallytractablemodelWorkwellinspeechrecognition,speechcodingLPC--History1947年,线性预测这一术语由维纳首次提出,此后,线性预测应用于许多领域中1967年,板仓(Itakura)等人最先将线性预测技术直接应用到语音分析和合成中LPC的应用用作语音识别的特征参数用作语音编码进行共振峰的谱包络估计进行语音合成(TTS)与LPC相关的语音编码算法MPLPCMulti-pulseLPCRPE-LPCRegularpulseexcitedLPCCELPCodeexcitedlinearpredictionMELPMixexcitedLPVSELPVectorsumexcitedLPQCELPQualcommCELPACELPAlgebraicCELP线性预测分析的基本思想1.一个语音的抽样能够用过去若干个语音抽样的线性组合来逼近2.这个线性预测的抽样和实际语音抽样之间存在着误差3.通过实现预测采样在最小均方误差意义上逼近实际采样,可以求取一组唯一的预测系数。1()(1)piixnxna()()()enxnxn22()[()()]nnEnxnxne预测系数:线性组合中所用的加权系数,ia线性预测分析的信号模型冲激序列发生器随机噪声发生器时变数字滤波器H(Z)声道参数振幅AN振幅Av基音周期TLPC线性预测的信号模型浊/清音开关线性预测分析的信号模型LPC信号模型将辐射、声道以及声门激励的全部谱效应简化为一个时变的数字滤波器来等效,这个时变数字滤波器的系统函数为:这是一个p阶的AR全极点模型。线性预测分析要做的就是通过语音信号x(n)求出这个模型的参数,即线性预测系数。1()()()1piiiXzGHzUzaz3.LPCModel:DomainnGuinsanspii1piiinsans1zGUzSazSpii1zAzazGUzSzHpiii1111PredictivefunctionExcitationtermZ-domainTransferfunctionLPC阶数确定预测误差与阶数的关系选择12阶对绝大多数语音信号的声道模型可以取得足够的近似逼近一般取8~12阶阶数过高的副作用加大计算量增加一些不必要的细节清音与浊音的逼近效果不同:清音明显高(2)通过预加重对高频部分的提升由于声门脉冲形状和口唇辐射的影响,语音信号的频谱在总趋势上会有高频衰落的现象。为抵消这一影响,通常在做LPC分析之前采用一阶FIR滤波器进行预加重,以进行高频提升。传递函数为需要考虑的问题1()1Hzz为预加重系数,通常取0.9375。LPCprocessorforspeech1.Preemphasis2.FrameBlocking:M=(1/3)N3.Windowing:Hammingwindow4.Autocorrelationanalysis:porder5.LPCAnalysis:Durbinalgorithm6.LPCparameterconversiontoCepstralCoefficients7.ParameterWeighting8.TemporalCepstralDerivative1~~nsansns12cos46.054.0NnnwLPCprocessorforspeechLPC求解Criterion:Minimizethemean-squaredpredictionerror由于语音信号的时变特性,线性预测分析应该在短时的语音段上进行,即按帧进行。在每一帧信号内,当前的样本可以用该帧信号的前p个样本来预测,得到如下预测值:1()()piixnaxni当前样本的预测误差e(n)为:1()()()()()piienxnxnxnaxni对单个样本:LPC求解为了使En达到最小,必须满足式中k=1,2…..p.则得到:LPC求解/0nkEa为了在最小均方误差意义上计算一组最佳预测系数,定义短时预测均方误差为:对一帧样本:2221()[()()][()()]pninnniEenxnxnxnaxni1(2()()2()())0pnininkExnxnkaxnkxniaiaLPC求解这样就可以得到以为变量的线性方程组为:定义这是一个由p个方程组成的有p个未知数的线性预测方程组,求解方程组就可得到线性预测系数的估计值:则上式子可写为:12,,...paaa1()()()()1,2,,pininxnxnkaxnkxnikp(,)()()1,2,,0,1,2,,nkixnkxnikpip,1(,)(,0)1,2,,piiakikkpiaLPC求解-线性方程组求解线性预测方程组的求解方法有:自相关法协方差法格型法中,定义求和范围n的一种比较直接的方法是,认为语音段外的数据全为零,只计算范围[0,N-1]内N个点的语音数据,这相当于先将语音加窗,然后再进行处理.此时可以表示为或者为:其中,为加窗后的语音数据(,)ki()wxn1(,)()()1,2,,0,1,2,,Niwwnkkixnkxnikpip,1()0(,)()()1,2,,0,1,2,,Nkiwwnkixnxnkikpip,LPC求解-线性方程组求解-自相关法(,)()()1,2,,0,1,2,,nkixnkxnikpip,由于假定窗外的语音数据为零,显然存在误差.为了减少这种误差的影响,在线性预测分析中,一般不采用突变的矩形窗,而使用两端具有平滑过渡特性的窗函数,如汉明窗。加窗处理后的自相关函数可以表示为:其中,为短时自相关函数,它仍然保留了自相关函数的特性,即满足偶函数的特性,有。()nRk()()nnRkRk10()()(),1,,NknwwmRkxmxmkkpLPC求解-线性方程组求解-自相关法这是自相关方程组,将其转化为矩阵形式,即为:于是原方程组可表示为:可以表示为:(,)ki(,)()()1,2,,0,1,2,,nnkiRkiRkikpip,1ˆ()()1,2,,pniniRkiaRkkpLPC求解-线性方程组求解-自相关法123ˆ(0)(1)(2)(1)(1)ˆ(1)(0)(1)(2)(2)ˆ(2)(1)(0)(3)(3)ˆ(1)(2)(3)(0)()nnnnnnnnnnnnnnnpnnnnnaRRRRpRaRRRRpRaRRRRpRaRpRpRpRRpYule-Walker方程:其系数矩阵为托布里兹(Toeplitz)矩阵。托布里兹(Toeplitz)矩阵:p×p阶的对称阵,且沿着主对角线及任何一条与主对角线平行的斜线上的所有元素都相等.托布里兹矩阵的方程组可用特殊的递推算法来求解:其指导思想为:第i阶方程的解可以用第i-1阶方程组的解来表示,第i-1阶方程组的解又可以用第i-2阶方程组的解来表示,以此类推.因此只需解出一阶方程的解,就可以一步一步地递推解出任意阶方程组的解.典型的算法:Durbin算法LPC求解-线性方程组求解-自相关法(1)计算自相关系数Rn(j),j=0,1,…,p;(2)E(0)=Rn(0);(3)i=1;(4)开始按如下公式进行递推运算:1(1)1(1)()()(1)(1)()2(1)()();;1,,1(1)iinjnjiiiiiiiijjiijiiiRiaRijkEakaakajiEkELPC求解-线性方程组求解-自相关法Durbin算法(),1,2,,pjjaajp(5)使i=i+1,若ip,则算法结束退出,否则返回第(4)步{即为p阶预测系数用协方差求解线性预测系数,不需要对语音信号进行加窗处理重新定义为:设(n-i)=m,则上式可写为:可以看出,此处的不仅取决于k和i的差值,还取决于i本身。因此,这里的就不再是自相关函数。虽然仍有但是不能满足这样,线性方程组可写成下面的形式:(,)ki(,)ki(,)ki(,)(,)kiik(1,1)(,)ikik10(,)()(),1,2,,0,1,2,,Nnkixnkxnikpip,1(,)(())(),1,2,,0,1,2,,Nimikixmikxmkpip,LPC求解-线性方程组求解-协方差法此方程组的系数不再是一个托布里兹炬阵,虽然它仍是对称阵,但主对角线和各个副对角线上的元素并不相等.这种线性方程组也有多种解法,其中最常用的解法是乔里斯基(Choleskey)分解法,其基本思想是将系数矩阵采用消元法化成主对角线元素为1的上三角矩阵,然后再对变量逐个递推求解.123ˆ(1,1)(1,2)(1,3)(1,)(1,0)ˆ(2,1)(2,2)(2,3)(2,)(2,0)ˆ(3,1)(3,2)(3,3)(3,)(3,0)ˆ(,1)(,2)(,3)(,)(,0)papapapappppppLPC求解-线性方程组求解-协方差法正向预测:用i个过去的样本值x(n-1),x(n-2),…x(n-i)来预测x(n)反向预测:用时间上延迟时刻的样本值x(n-i+1),x(n-i+2),…x(n)来预测x(n-i)正向预测误差:用i个过去的样本值x(n-1),x(n-2),…x(n-i)来预测x(n)时产生的误差反向预测误差:时间上延迟时刻的样本值x(n-i+1),x(n-i+2),…x(n)来预测x(n-i)时的误差反向预测正向预测x(n-i)x(n-i+2)x(n-i+1)x(n-i+3)x(n-3)x(n-1)x(n-2)x(n)()()1()()()iiijjenxnaxnj()()1()()()iiijjbnxniaxnijLPC求解-线性方程组求解-格型法经过推导,可以得到:当i=0时得到:当i=p时得到:式中e(n)为p阶线性预测误差滤波器所输出的预测误差信号:通过推导可以得到适合于线性预测分析的格型滤波器结构形式()(1)(1)()(1)(1)(0)(0)()