光学仪器  2015, Vol. 37 Issue (1): 71-74   PDF    
基于LPC的语音信号预测仿真分析
张明1,2, 刘祥楼1,2 ,姜峥嵘3    
1. 东北石油大学 电子科学学院, 黑龙江 大庆 163318;
2. 东北石油大学 黑龙江省高校校企业共建测试计量技术及仪器仪表研发中心, 黑龙江 大庆 163318;
3. 大庆油田有限责任公司储运销售分公司, 黑龙江 大庆 163415
摘要:参数编码是针对提取的语音信号特征参数进行编码,主要目的是使重建的语音信号具有尽可能高的可懂度。线性预测编码(LPC)是一种有实用价值的经典方法。通过对线性预测编码地原理分析,选择自相关算法中的莱文逊-杜宾算法求得预测系数;在确定预测阶数和增益后,对一段实际的语音信号进行了预测仿真分析。实验结果表明,预测波形最大残差小于0.3%。
关键词语音信号     参数编码     线性预测编码     仿真分析    
Simulation analysis of speech signal prediction based on LPC
ZHANG Ming1,2 , LIU Xianglou1,2 , JIANG Zhengrong3    
1. College of Electronic Science, Northeast Petroleum University, Daqing 163318, China;
2. The University-Enterprise R&D Center of Measuring and Testing Technology & Instrument and Meters Engineering in Heilongjiang Province, Northeast Petroleum University, Daqing 163318, China;
3. Storage & Transportation Subcompany, Daqing Oilfield Co., Ltd., Daqing 163300, China
Abstract: Parameter coding is to extract the characteristic of speech signal. The main purpose is to improve the intelligibility of the reconstruction of speech signal. Linear prediction coding(LPC)is a valuable method. By analyzing the principle of LPC, we choose Levinson-Durbin algorithm for prediction coefficient. After determining the forecast order number and gain, we carry out the prediction simulation of a real speech signal. The experimental results show that maximum residual error of the predicted waveform is less than 0.3%.
Key words: speech signal     parameter coding     linear prediction coding(LPC)     simulation analysis    
引 言

语言是人类交换信息最为方便快捷的方式,语音信号处理是信号处理当中的重要内容之一[1]。语音信号的线性预测编码(linear prediction coding,LPC)是在语音信号处理的基础上,对语音信号线性预测模拟的一种分析方法。线性预测分析的重要性在于它提供了一种十分简洁的语音信号参数模型,这一组参数较精确地表征了语音信号的频谱幅度,而且分析这些参数所需要的运算量适中[2]。应用这种模型参数可以降低编码语音信号的数码率,将LPC参数形成模板储存在语音识别中既可以提高识别率又可以降低计算时间。

1 线性预测分析的基本原理

根据线性预测编码原理,一个语音采样序列的当前值能够通过对过去若干个语音采样值的线性组合来逼近,若经过优化处理可以使预测值在最小均方误差意义上逼近实际采样值。若语音信号的取样值序列设为s(n),n,=1,2,…,p,…,信号当前取样值s(n)可以通过提取信号序列的前p个取样值进行加权预测得出,其预测值记为。为了实现线性预测编码,首先用系数{ak}定义一个p阶预测器F(z)其数学描述为:

式中,a1,a2,…,ap为浅性预测系数。然后,在p阶预测器中求解预测值,具体计算为:

最后,计算线性预测误差e(n),它是指信号s(n)与其线性预测值之差,具体计算式为:

由此可见,预测误差e(n)是信号s(n)通过特定变换后的系统输出,可表示为:

式中,A(z)称为LPC误差滤波器,具体系统构成见图 1
图 1 LPC误差滤波器

Fig. 1 BLPC error filter

设置LPC误差滤波器的目的是求解预测系数a1,a2,…,ap,,为了在最小均方误差意义上计算一组最佳预测系数,定义短时预测均方误差E[e2(n)]其数学描述为:

E[e2(n)]可以对短时语音波形进行预测,理论上遵从均方误差最小准则[3,4,5]。若想得到E[e2(n)]最小时的ak,应将E[e2(n)]分别对每个系数求偏导之后再取极值,具体计算式为:

式(6)中,i=1,2,…,p,k=1,2,…,p。由此得出:

该式表述是以{ak}为变量的线性方程组,为简化表达,定义如下函数:

由式(8)可得:

式(9)是LPC的标准方程式。它表明只要语音信号是已知的,则p个预测系数a1,a2,…,ap通过求解该方程即可得到。

为了解线性方程组,必须计算ψ(k,i)。在此,采用自相关法求解方程组,该方法假定语音段外的数据为零,由此n的求和范围应设定为0≤n≤N,此时ψ(k,i)可以表示为:

s(n)序列自相关函数为Rn(k)具体表述为:

因为自相关序列是偶对称,所以,式(11)也可表示为:

式(10)也可表示为:

根据公式(9)和公式(13)得:

进而得到:

通过求解式(15)即可求得p个线性预测系数。

2 语音信号线性预测仿真分析

语音信号的线性预测分析可以根据之前的信号预测,仿真出现在的语音信号。由上面的计算可知,在选定合适的预测系数阶数和增益G的情况下,可以得到理想的预测结果。为此,针对一段实际语音信号进行线性预测验证分析。图 2所示为语音信号原始波形图,图中语音波形是由五个汉语单字组成的,本段语音的取样点数很高,有几万个取样点,图 3是线性预测的结果。

图 2 语音信号原始波形 Fig. 2 Waveform of original speech signal

图 3 语音信号预测波形 Fig. 3 Waveform of speech signal prediction

图 4为两个波形的残差。可以看到线性预测的效果较好,由于实际语音中所用到的抽样点很多,无法直观的看出各个点数的预测情况。从上面的语音信号中截取480个语音点来进行同样的预测分析,得到图 5所示的曲线图。其中,深色的曲线代表原始语音波形,浅色的曲线代表估计语音波形,较为平直的线代表原始语音波形和估计语音波形之间的残差。由图 5可以看出,线性预测的效果很好,估计波形已经基本接近原始波形,其最大残差小于0.3%。

图 4 语音信号原始波形与预测波形残差 Fig. 4 Waveform of residuals of original speech signal and prediction

图 5 语音信号线性预测及其残差 Fig. 5 Waveform of residuals of original speech signal and linear prediction
3 结 论

在语音编码算法中,如果对语音进行直接编码,则会导致编码所需的比特数较大,编码所需的速率较高。为此,采用了线性预测这一编码方法。本文在分析线性预测编码器原理基础上,利用Levinson-Durbin算法求解预测系数。通过对实际语音波形的线性预测实验证明:LPC线性预测效果比较理想,不仅大大减少量化比特数,而且降低了对编码速率的需求。

参考文献
[1] 刘云,沈连丰,朱惠芬.语音编码技术及其实验研究[J].电气电子教学学报,2004,26(3):11-16.
[2] 周波,许萌.数字语音编码技术研究[J].科技情报开发与经济,2008,18(3):165-167.
[3] 叶蕾,杨震,郭海燕.基于小波变换和压缩感知的低速率语音编码方案[J].仪器仪表学报,2010,31(7):1569-1574.
[4] 潘丽娜,庄紫云,王戈,等.运用半导体激光器进行监听以及音源定位的研究[J].光学仪器,2013,35(1):37-43.
[5] 杨会彩,樊延虎.几种低速率语音编码算法分析[J].延安大学学报,2009,28(1):44-46.
[6] 陈立伟,赵春晖,孙玲,等.一种语音信号线性预测系数的求解新方法[J].应用科技,2005,32(8):12-13.