LPC 线性预测编码16邹维韬一、LPC基本原理基本原理: 线性预测编码就是利用过去的样值对新样值进行预测,然后将样值的实际值与其预测值相减得到一个误差信号,显然误差信号的动态范围远小于原始语音信号的动态范围, 对误差信号进行量化编码,可大大减少量化所需的比特数,使编码速率降低。设语音信号的样值序列为s(n),n=1,2,⋯,n,其中语音信号的当前取样值,即第n 时刻的取样值s(n)。而 p 阶线性预测, 是根据信号过去p 个取样值的加权和来预测信号当前取样值 s(n),此时的预测器称为p 阶预测器。设?s(n)为 s(n)的预测值,则有1?( )()piis na s ni(1) 式中, a1,a2,⋯,ap,称为线性预测系数,式(1)称为线性预测器,预测器的阶数为p阶。 p 阶线性预测器的传递函数为1( )piiiP za z(2)信号 s(n)与其线性预测值?s(n)之差称为线性预测误差,用e(n)表示。则 e(n)为1?( )( )( )( )()piie ns ns ns na s ni(3)可见,预测误差e(n)是信号 s(n)通过具有如下传递函数的系统输出1( )1piiiA na z(4)图一LPC误差滤波器如图一所示。 称系统 A(z)为 LPC误差滤波器, 设计预测误差滤波器A (z)就是求解预测系数 a1,a2,⋯,ap,使得预测器的误差e(n)在某个预定的准则下最小,这个过程称为LPC分析。Levinson-Durbin 算法递推求解自相关法求解式据线性预测分析的原理可知,求解 p 个线性预测系数的依据,是预测误差滤波器的输出方均值或输出功率最小。可称这一最小方均误差为正向预测误差功率Ep,即2min11( )[ ( )]{ ( )[ ( )()]}[ ( ) ( )][ ( ) ()]ppiiiiE pE e nE e n s nas n iE e n s naE e n s n i(17)已知上式的第二项为0。再将式( 3)代入上式可得11[ ( ) ( )][ ( ) ( )][ ( ) ()](0)( )pppiiiiEE e n s nE s n s na E s n s niRa R i(18)将式( 18)与式( 12)组合起来可得121(0)(1)()(1)(0)(1)0(2)(1)(2)0( )(1)(0)0ppRRR pEaRRR paRRR paR pR pRLLLMMMMML(19)式( 19)方程的系数矩阵是对称的,且沿着任一与主对角线平行的斜对角线上的所有元素相等, 系数矩阵大小为p×p,这样的矩阵称为Toeplitz(特普利茨 )矩阵。式(19)称为 Yule-Walker 方程,其中R(p)为根据式( 9)确定的待分析语音信号s(n)的自相关序列。可见,为了解得线性预测系数,必须先计算出R(k),然后解式( 19)即可。经典的线性预测求解方法之自相关法...