崔恒志,王 翀
(江蘇省電力公司信息通信分公司,南京210090)
電力線載波機利用輸送電力的電纜線來傳送話音及數(shù)據(jù)(遠(yuǎn)動信號),它在電力部門具有廣泛的應(yīng)用。根據(jù)有關(guān)約定,每4 kHz作為一個通道,高壓電力線在40 kHz~500 kHz的頻段內(nèi)共分成115個信號通道。電力線兩端的載波機利用兩個不同頻率的通道來發(fā)送本方和接受對方的信號。在一個通道內(nèi)只傳輸一路話音和(或)一路數(shù)據(jù)的載波機稱為單路載波機,而在一個通道內(nèi)傳輸多于一路話音或數(shù)據(jù)信號的載波機稱為多路載波機。單路載波機可以直接將模擬的話音信號和調(diào)制后的數(shù)據(jù)信號(通常采用FSK調(diào)制方式)合成一個4 kHz的信號通過功率放大后發(fā)送出去。多路載波機必須由話音/數(shù)據(jù)復(fù)接器將多路話音信號數(shù)字化壓縮后,與多路數(shù)據(jù)一起打包調(diào)制發(fā)送出去。
語音增強是電力線載波機的一個重要組成部分,其主要任務(wù)是抑制背景噪聲和干擾。電力線載波機在目標(biāo)語音的實際拾取過程中,不可避免會受到外界環(huán)境噪聲和其他說話人的干擾。如果干擾噪聲過強對收聽者而言則會覺得刺耳乃至聽不清目標(biāo)語音。針對這種情況,通常采用增強語音、去除背景噪聲的方法來改善電力線載波機系統(tǒng)性能。在眾多語音增強方法中,譜減法[1-2]是最常用的。但是其處理的語音會產(chǎn)生音樂噪聲,而且在信噪比較低時殘留噪聲較大,不能得到很好的增強效果。另一類常見的語音增強方法是基于語音生成模型的方法,如卡爾曼濾波[3]??柭鼮V波的語音增強方法通過線性預(yù)測系數(shù)獲得干凈語音參數(shù),并通過無語音幀獲得噪聲特性。當(dāng)噪聲是高斯過程時,卡爾曼濾波假設(shè)語音滿足高斯分布,因此在對實際非高斯分布的語音的方面有其局限性。因而粒子濾波器也被用于語音增強。Vermaak[4]等人在采用語音的時變自回歸(TVAR)基礎(chǔ)上,提出一種基于Rao-Blackwellized粒子濾波的語音增強方法。金乃高[5]等到人在Vermaak算法的基礎(chǔ)上通過子帶分解降低了Rao-Blackwellized粒子濾波中采樣空間的維數(shù),達(dá)到減少計算量的目的。上述的兩種方法在語音增強上獲得了很好的效果,但是它們在建立語音的TVAR模型時未考慮模型的穩(wěn)定性。此外,在選擇重要性采樣時將狀態(tài)的先驗分布作為建議分布進(jìn)行狀態(tài)估計,不能很好地逼近實際的后驗分布,影響了估計精度,同時也導(dǎo)致了粒子的退化。本文提出了一種改進(jìn)的基于粒子群優(yōu)化的粒子濾波算法來進(jìn)行語音增強,在分析語音信號TVAR模型的基礎(chǔ)上對語音建模,引入粒子群優(yōu)化的方法來產(chǎn)生建議分布,來近似估計未知狀態(tài)變量的后驗分布。使降噪結(jié)果更接近純凈語音,從而得到更好的語音增強效果。
實際語音信號處理中最常用的模型是自回歸模型 AR(Autoregressive)[6],e(n)為激勵信號,H(n)為全極點濾波器。該模型稱為p階自回歸模型或AR(p)模型,其傳輸函數(shù)為:
假設(shè)語音和噪聲信號相互無關(guān),干凈語音信號x(n)可以描述為一個由白噪聲信號驅(qū)動、全極點線性自回歸過程,將式(1)寫成時域表達(dá)式,即:
式(2)中,p為AR模型的階數(shù),{a(i)為AR模型的系數(shù),u(n)為零均值且方差為的高斯白噪聲。由式(2)可知,當(dāng)前的測量值可以用過去的p個樣本來進(jìn)行預(yù)測,對于上述模型的參數(shù)估計通常使用的是線性預(yù)測分析的方法。首先對語音進(jìn)行分段處理,當(dāng)非平穩(wěn)的段總是會出現(xiàn),此時利用非平穩(wěn)的信號模型,如TVAR模型,就可以對語音信號進(jìn)行更好的跟蹤,提供更加接近真實的估計。
TVAR模型可以認(rèn)為是普通AR模型的擴展,其參數(shù)是時變的[7]。這其中包括激勵源參數(shù)和聲道模型參數(shù),它們在短時間間隔內(nèi)時變,為了更有效地描述語音信號的非平穩(wěn)特性將式(2)改寫成TVAR模型,即:
在此引入一個對數(shù)域偏差φut=lg(),并假設(shè)其變化規(guī)律滿足高斯移動模型,則激勵噪聲的似然函數(shù)為在此,,α是小于1的系數(shù)。對于TVAR系數(shù)at(i)也采用高斯隨機移動模型則有:
語音信號xt和帶噪的觀測信號yt的TVAR模型如下:
式中,αt=(α1,t,α2,t,…,αp,t)T為t時刻p維的 AR系數(shù)矢量;et和vt為高斯白噪聲,方差分別為σ2et和也是時變的。這樣可以得到xt的條件概率密度為
觀測值yt的似然函數(shù)可以用均值為xt,方差為的正態(tài)分布加以描述
令Xt=(xt,…,xt-p+1)T,Yt=(y1:t),定義系統(tǒng)矩陣
則語音信號模型可以表示為
為了描述噪聲{eti}和{vti}序列的時變特性,引入一個對數(shù)域的偏差,其對數(shù)域偏差的變化規(guī)律為高斯隨機移動模型,即
這樣,TVAR模型中的線性觀測系數(shù)αt的時變特性描述最簡單的方法也是使用高斯移動模型描述,即
Ip為p階單位矩陣。至此語音信號的TVAR模型已經(jīng)完整定義了。上述所有的N(x;μ,σ2)均指變量x服從均值μ、方差σ2的高斯分布,未加說明的高斯分布均值為0。
信噪比是衡量針對寬帶噪聲失真的語音增強算法的常規(guī)方法。假設(shè)y(n)表示帶噪信號,s(n)表示其中的純凈語音信號,s(^n)表示相對應(yīng)的增強信號,所有這些信號都假設(shè)是能量信號,則時域誤差信號為:
誤差能量是:
純凈語音信號的能量是:
信噪比定義為:
基于語音參數(shù)模型的語音增強問題可以歸結(jié)為從帶噪語音y1:t={y1,y2,…,yt}中估計純凈語音x1:t={x1,x2,…,xt}的貝葉斯濾波問題,在此,我們利用粒子濾波器來實現(xiàn)對非線性非高斯序列的實時跟蹤。
選取語音模型狀態(tài)為
假設(shè)語音參數(shù)滿足一階馬爾可夫隨機過程p(Xt|Xt-1,Xt-2,…,X0)=p(Xt|Xt-1)
則上述狀態(tài)變量的轉(zhuǎn)移概率密度為
系統(tǒng)的觀測模型為
以下是基于改進(jìn)粒子濾波的語音增強的算法流程:
(1)初始化
設(shè)置粒子數(shù)目N,指定N個初始權(quán)重,從先驗分布p(X0)中采集粒子,其中,再設(shè)置粒子初速度,令=1/N;給定初始值 Δ^X0為常量;設(shè)置慣性權(quán)重λ,速度調(diào)節(jié)參數(shù)η,求解初始時刻全局最優(yōu)解pg0
(2)重要性采樣
①調(diào)整粒子的速度
②根據(jù)EKF算法對每個粒子狀態(tài)進(jìn)行更新,即在EKF算法重要性采樣中將EKF算法重要性采樣中狀態(tài)k時刻的狀態(tài)估計改為③求粒子集的均值和方差分別為和;
t;
⑤粒子權(quán)值更新
(3)重采樣
消除權(quán)值較小的粒子,復(fù)制權(quán)值較大的粒子,當(dāng)滿足重采樣條件時,獲得N個隨機樣本,從近似服從分布p(X0:t|y1:t)為每一個再采樣之后的樣本粒子賦給相同的權(quán)值,即:當(dāng)i=1,2,…,N,有=1/N。
(4)計算t時刻目標(biāo)狀態(tài)的后驗概率估計Xt
(5)求解當(dāng)前時刻全局最優(yōu)解。
(6)t=t+1,返回重要性采樣步驟,遞推估計下一時刻的目標(biāo)狀態(tài)的后驗概率。
圖1 純凈語音信號
在本次實驗中,分別利用EKF(Extended Kalman Filtering)算法、PF(Particle Filtering)算法、PSO-EPF(Particle Swarm Optimization-Extended Particle Filtering)算法對帶噪語音信號進(jìn)行增強,實驗中,我們進(jìn)行100次蒙特卡羅仿真。實驗中采用的語音材料為自己錄制,純凈語音為女聲“人盡其才,團結(jié)合作”,噪聲為錄制的生活噪聲,時長為2.5 s,語音和噪聲信號經(jīng)8 kHz采樣、16 bit量化為數(shù)字信號,并在計算機中按一定比例混合生成不同信噪比的帶噪語音,其信噪比變化范圍為0~10 dB。使用的粒子濾波的粒子數(shù)為200,在實驗中,TVAR模型的階數(shù)為10,圖1為純凈的語音信號,圖2為帶噪的語音信號,其初始信噪比為0.09 dB。
圖2 帶噪語音信號
在以上語音的基礎(chǔ)上,使用MATLAB在PC上進(jìn)行仿真實驗,來比較帶噪語音通過EKF算法、PF算法、PSO-EPF算法一次語音增強后的波形圖(圖3~圖5)。由圖3~圖5可知,使用PSO-EPF算法處理后的帶噪語音信號與純凈語音信號最為接近,也說明了它語音增強的效果最好。
圖3 EKF算法處理后的語音信號
圖4 PF算法處理后的語音信號
圖5 EPF-PSO算法處理后的語音信號
下面從信噪比角度來說明,在不同的信噪比下,各種算法的語音增強效果如表1所示。
表1 不同方法和信噪比的語音增強效果
從表1可以看出,對于帶噪語音信號,3種算法都能在一定程度上增強語音信號,表明TVAR模型可以很好描述語音信號的變化特性。而PSO-EPF算法對TVAR模型參數(shù)的估計能力比PF算法、EKF算法要有更好的效果,從而也具有更強的濾波降噪、增強語音的能力。
由前文可知,粒子數(shù)目對粒子濾波器的估計性能有很大的影響,因此我選擇不同的粒子數(shù)來進(jìn)行100次蒙特卡羅仿真,對帶噪語音進(jìn)行語音增強,輸入信噪比設(shè)定在0.09 dB,增強效果如表2所示。
表2 不同粒子數(shù)的語音增強效果
由表2可見,隨著粒子數(shù)目的增加,經(jīng)過PF算法和PSO-EPF算法進(jìn)行語音增強后,語音信號的信噪比得到增強,對TVAR模型參數(shù)的估計更加準(zhǔn)確,但是增加粒子數(shù)目的同時,也將使得計算量增大[8]。所以,我們在選擇語音增強算法時,要協(xié)調(diào)好粒子數(shù)目和SNR的關(guān)系,以便可以達(dá)到最好的語音增強效果。
由于傳統(tǒng)的基于粒子濾波語音增強算法不能很好地逼近實際的后驗分布,影響了估計精度,同時也導(dǎo)致了粒子的退化。對此本文提出了一種基于粒子群優(yōu)化的改進(jìn)粒子濾波算法,它將語音增強問題轉(zhuǎn)換為從帶噪語音中對純凈語音的估計過程,引入粒子群優(yōu)化的方法來產(chǎn)生建議分布,使降噪結(jié)果更接近純凈語音,從而得到更好的語音增強效果。
[1]Hu H T,YuC.Adaptive Noise Spectral Estimaton for Spectral Subtraction Speech Enhancement[J].Signal Processing,IET,2007,1(9):156-163.
[2]王振力,張雄偉.基于分?jǐn)?shù)階譜相減的語音增強方法[J].電子信息學(xué)報,2007,29(5):1096-1100.
[3]Kalman R E.A New Approach to Linear Filtering and Prediction Problem Trans[J].ASME J Basic Engineering,1960,82:34-45
[4]Vermaak J,Andrier C,Doucet A.Paticle Methods for Bayesian Modeling and Enhancement of Speech Signals[J].IEEE Transactions on Speech and Audio Processing,2002,10(3):173-185.
[5]金乃高,殷福亮.基于子帶粒子濾波的一種語音增強方法[J].通信學(xué)報,2006,27(4):23-28.
[6]Lim J S,Oppenheim A V.A11—Pole Mmodeling of Degraded Speech[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1978,26(3):197-210.
[7]Grenier Y.Time—Dependent ARMA Modeling of Nonstationary Signals[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1983,1(4):899-911.
[8]趙力.語音信號處理[M].北京:機械工業(yè)出版社,2010.