线性预测及其Matlab实现
线性预测分析是现代语音信号处理中最核心的技术之一,为现代语音信号处理的飞速发展立下了赫赫功劳,在语音分析、合成、编码、识别等方面都有着广泛的应用,至今仍是最有效的语音分析技术之一。如VoIP和H.323网上多媒体通信系统中所使用的G.729 CS-ACELP语音编码算法就是一种以共轭代数码本激励线性预测为基础的高质量的语音编码标准。
1线性预测的基本原理
在语音信号处理中最常用的模型是全极点模型。线性预测所包含的基本概念是,通过使实际语音抽样和线性预测抽样之间差值的平方和达到最小值,即进行最小均方误差的逼近,能够决定惟一的一组预测器系数。如果一个随机过程用一个p阶全极点系统受白噪声激励产生的输出来模拟,设这个系统的传递函数为:
其中:p是预测器阶数;G是声道滤波器增益。由此,语音抽样s(n)和激励信号e(n)之间的关系可用下列差分方程来表示:
即语音样点间有相关性,可以用过去的样点值预测未来样点值。对于浊音,激励e(n)是以基音周期重复的单位冲激;对于清音e(n)是平稳白噪声。
在模型参数估计过程中,把如下系统称为线性预测器:
式中:ai称为线性预测系数。从而,p阶线性预测器的系统函数具有如下形式:
在式(1)中的A(z)称作逆滤波器,基传输函数为:
而线性预测方程可以按如下方法得到:把某一帧内的短时平均预测误差定义为:
由此可计算出预测系数。
由于语音信号的短时平稳性,要分帧处理(10~30 ms),对于一帧从n时刻开窗选取的N个样点的语音段s(n),记为Φn(j,i):
2 G.729中线性预测分析的基本原理
用10阶线性预测(LP)作短时分析,LP合成滤波器定义为:
评论