一种基于LMS自适应滤波的CVSD话音降噪方法
2016-03-24管海清
管海清
【摘要】 为了解决低速CVSD编码量化噪声较大、话音质量较差的问题,提出了一种基于LMS自适应滤波的CVSD话音降噪方法。首先分析了CVSD编码量化噪声的统计特性,然后在传统双通道LMS自适应滤波器的基础上,利用话音的短时相关性和量化噪声的非相关性,构造了一个采用话音延时信号作为参考输入的单通道LMS自适应滤波器。仿真实验表明,该方法可以有效滤除量化噪声,提高话音质量,具有一定的工程应用参考价值。
【关键词】 增量调制 最小均方误差 自适应滤波 量化噪声 降噪
一、引言
连续可变斜率增量调制CVSD (Continuously Variable Slope Delta Modulation)是一种常用的话音编码方式,具有实现简单、抗误码能力强等优点[1],广泛应用于卫星通信、移动通信和军事通信等领域。当CVSD编码速率为32kbps及以上时,解码后的话音具有较好的清晰度和可懂度,可以满足一般无线通信的要求。但当CVSD编码速率为16kbps及以下时,解码后的话音中量化噪声较大,话音质量较差,通话效果不太令人满意。
为了提高低速CVSD编码的话音质量,需要降低话音中的量化噪声。文献[2]提出了一种多径搜索编码算法,克服了双积分器引起的性能不稳定的问题,减小了编码失真。但仿真表明,相对于单积分编码器,采用双积分编码器和多径搜索并没有明显提高CVSD的话音质量,同时增加了编码复杂度。
文献[3]提出了一种改进的谱减法对CVSD解码后的信号进行话音增强,降低量化噪声,但在实际应用中往往因对量化噪声功率估计不准确而产生较大的残留噪声。文献[4]提出了一种时变量化噪声的估计方法和增强方法,但该方法基于离线分析的结果,不能进行实时信号处理。
针对上述问题,本文首先分析了CVSD量化噪声的产生机理和统计特性,提出了一种基于LMS自适应滤波的降噪方法,通过对输入解码话音信号进行自适应滤波来减小量化噪声,从而达到提高话音质量的目的。
自适应滤波器可在量化噪声统计特性未知或变化的情况下,自动跟踪量化噪声的变化,并不断调整自身的系数,来达到最佳的滤波效果。
二、CVSD量化噪声产生机理
CVSD是一种自适应增量调制方式,属于差分波形编码技术[5]。CVSD编码的原理框图如图1所示。输入的话音信号s(n)与预测器输出的预测信号p(n)相减得到误差信号e(n),e(n)经过量化器进行一比特量化后得到编码输出信号c(n)。
与此同时,量阶调整器检测c(n)中连1或连0的情况,自适应地调整量阶d(n),逆量化器根据c(n)和d(n)进行逆量化,得到差值量化信号d(n)。预测器根据d(n)重建本地信号,得到下一时刻的预测信号p(n+1)。CVSD解码是编码的逆过程。CVSD编码中其实已经包含了解码过程,预测信号p(n)可以看作解码输出,而误差信号e(n)就是量化噪声。
在CVSD编码过程中,会引入两类量化噪声,一类是过载噪声(Overload Noise),另一类是颗粒噪声(Granular Noise)。当话音信号的幅度变化比较剧烈时,量阶的变化跟不上信号幅度的变化,就会产生过载噪声。出现过载噪声时,CVSD编码输出c(n)中会出现较多的连1或连0。当话音信号的幅度变化小于量阶时,量阶将不能反映信号的变化,由此产生颗粒噪声。
颗粒噪声表现为预测信号p(n)围绕着输入信号s(n)的波形上下波动,同时CVSD编码输出c(n)中出现随机交替变化的‘0和‘1。
如果要减小过载噪声,需要增大量阶。但增大量阶,会导致颗粒噪声变大。所以,这是一对无法调和的矛盾。另外,由于话音信号是非平稳信号,信号幅度随着时间在不断变化,在量阶调整过程中,不可避免的会产生过载噪声。而颗粒噪声则是一直存在于编码的全过程中,尤其是当信号幅度较大时,颗粒噪声会变得更明显。
通过上面的分析可以看出,CVSD编码产生的量化噪声中,过载噪声与话音信号之间存在一定的相关性,而颗粒噪声与话音信号不相关。因此,量化噪声可以建模为
式中,c为非零常数,表示过载噪声与原始信号s(n)之间的相关程度;g(n)为颗粒噪声。所以,从本质上来看,降低CVSD量化噪声,主要是降低其中与话音信号不相关的颗粒噪声g(n)。由于颗粒噪声的功率与量阶的大小有关,而量阶的大小由话音信号的平均幅度决定,所以颗粒噪声的功率受话音信号幅度的影响。
三、基于LMS自适应滤波的CVSD话音降噪原理
由于CVSD话音中量化噪声的统计特性不确定,噪声功率随着话音幅度变化,所以常规的话音降噪方法,如谱减法[6]、对数谱幅度-最小均方误差法[7]等,由于对量化噪声的功率估计不准确,从而导致降噪效果不理想。而自适应滤波器可以自动跟踪量化噪声的变化,通过不断调整自身的系数,从而达到最佳的滤波效果。自适应滤波器的工作原理是依赖某一准则的约束,以实现对参考信号的最佳估计。常用算法有最陡下降法、最小均方误差算法(LMS)、递推最小二乘算法(RLS)等。在这一系列的算法中,LMS算法以其运算简单,易于实现及稳定性好等优点成为自适应滤波技术的首选算法。
常规的LMS自适应滤波器需要两个输入通道,其中主通道输入含噪话音,副通道输入参考噪声。但在CVSD话音中,只有一路话音信号,没有参考噪声信号可以利用。但可以利用话音信号的相关性和量化噪声的非相关性,取话音信号的延时量来作为自适应滤波器的参考输入,构造一个单通道的LMS自适应滤波器,从而简化设计。单通道的LMS自适应滤波器的结构形式如图2所示。
图中,延时的作用是使量化噪声失去相关性,而保留语音信号的相关性。期望输入d(n)为解码后CVSD含噪语音,参考输入x(n)为d(n)延时后的信号。由于话音信号具有较好的短时自相关性,所以可以利用之前的数据来预测当前的数据,并根据预测误差e(n)来自适应的调整预测滤波器的系数。LMS自适应滤波器主要是利用话音的相关性以及量化噪声的不相关性,来加强含噪语音的相关部分,同时削弱其不相关的部分。
四、基于LMS自适应滤波的话音降噪实现
基于LMS自适应滤波的CVSD话音降噪的实现框图如图3所示。图中,x(n)为CVSD译码后的含噪话音。x(n)作为LMS滤波器的期望信号,x(n)延时一个采样周期的信号x(n-1)作为自适应滤波器的参考输入。
自适应滤波器采用N阶系数可调的FIR滤波器,其系数向量可以表示为
式中,Px为输入信号x(n)的平均功率。
五、 仿真及实验结果
本节对所提的基于LMS自适应滤波的CVSD话音降噪方法进行了计算机Matlab仿真实验。实验中选取了三段采样率为16ksps的话音样本进行CVSD编解码和LMS自适应滤波,用于验证降噪方法的有效性和适用性。仿真环境为 Matlab R2011b。
CVSD话音降噪实验框图如图4所示。实验步骤是先对输入话音s(n)进行CVSD编码,然后通过信道模块,引入千分之一的随机误码,接着进行CVSD解码。解码后的话音信号,先进行LMS自适应滤波,然后进行音频带通滤波。先进行LMS自适应滤波,再进行音频带通滤波,其目的是保留量化噪声的随机性和非相关性,从而可以取得较好的降噪效果。音频滤波器的带宽设为0.3kHz~3.4kHz,可以进一步滤除话音带外的残留噪声。
CVSD编解码的具体参数为:采用3连码检测、量阶调整器的积分时间常数为4ms,预测器采用单积分器,积分时间常数为1ms。
CVSD编解码仿真结果如图5所示。图中显示了时间长度为4s的原始话音波形、解码后的话音波形以及量化噪声的波形。
从图中可以看出,解码后的话音波形与原始话音波形之间存在一定的差异,而量化噪声的包络与原始信号的包络比较接近,这也证明了量化噪声的功率受话音幅度的影响。
LMS自适应滤波器的参数设置为:FIR滤波器阶数为64,收敛因子m取0.075。通过主观试听降噪后的话音,发现量化噪声得到了明显的抑制。为了评估LMS自适应滤波器的降噪效果,本文采用ITU-T推荐的P.862中的PESQ算法作为话音质量客观评估标准。PESQ是客观话音质量评估的有效算法,PESQ得分与平均意见得分(MOS分)之间有很高的相关度。
下面采用PESQ算法分别对降噪前后的三段话音信号进行打分,结果如表1所示。
从表中可以看出,MOS分最高有0.27的提高,这说明话音质量得到了较大的提高。
同时,对其它降噪算法进行了性能的对比仿真,对比结果如表2所示。
从表中可以看出,本文算法的降噪性能优于常用的改进谱减法和LSA-MMSE法。
六、结束语
本文提出了一种基于LMS自适应滤波的CVSD话音降噪方法,利用话音的短时相关性和量化噪声的非相关性,构造一个单通道的LMS自适应滤波器,通过自适应的调整系数,来达到对量化噪声的最佳抑制。计算机仿真实验验证了该方法的有效性。
本文提供了一种实际可行的CVSD话音降噪解决思路,可直接应用于采用了CVSD编解码的通信系统中。
参 考 文 献
[1] 董津生,孙耀杰,贾静蕾,等. CVSD语音编解码的DSP实现. 河北工业大学学报[J],2009,38(3):56~58
[2] 张向东,杨俊,唐昆.CVSD多径搜索编码算法研究.电子科学学刊[J],1994,16(4):337~344
[3] 黄建军,曹铁勇,张雄伟. CVSD算法研究及其语音增强[J]. 军事通信技术,2009,30(2):90-94.
[4] Z.Goh, K.-C.Tan, B.T.G.Tan. Estimating time-varying noise introduced by CVSD for speech enhancement [J]. Vision, Image and Signal Processing, IEE Proceedings,1998,145(1):23-29.
[5] 黄建军,张雄伟,张亚非,等. 一种CVSD丢包隐藏方法[J]. 解放军理工大学学报(自然科学版), 2011,12(4):307-311.
[6] 刘志坤,唐小明,朱洪伟. 基于改进谱减法的语音增强研究[J]. 计算机仿真, 2009,26(6):363-366.
[7] 陈琪,郭英,张群,等. 基于听觉感知的LSA-MMSE改进型语音增强方法[J]. 信号处理, 2008,24(6):1037-1040.
[8] 李英,汪航. FIR自适应滤波的语音增强算法[J]. 电声技术,2004(6):42-44.