0 引 言
在實(shí)際環(huán)境中,語音信號在聲電轉(zhuǎn)換時(shí)不可避免地要受到周圍環(huán)境的影響,高背景噪聲會嚴(yán)重地影響語音信號質(zhì)量。語音通信系統(tǒng)中的一個(gè)重要工作就是從帶噪語音信號中提取純凈的原始語音、抑制背景噪聲。各種語音降噪算法正處于廣泛的研究中。
其中,利用自適應(yīng)濾波技術(shù)進(jìn)行語音降噪是一種效果較好的方法。自適應(yīng)濾波能在輸入信號與噪聲的統(tǒng)計(jì)特性未知或變化的情況下,自動估計(jì)出所需的統(tǒng)計(jì)特性,并以此為依據(jù)自動調(diào)整濾波參數(shù),以達(dá)到最佳的濾波效果。
傳統(tǒng)的自適應(yīng)噪聲抵消法多采用雙聲道(多聲道)系統(tǒng),以得到一個(gè)或多個(gè)參考噪聲作為輔助輸入,這勢必造成系統(tǒng)結(jié)構(gòu)復(fù)雜等一系列問題。所以本文選取原始輸入的延時(shí)信號作為參考噪聲輸入的單聲道系統(tǒng),構(gòu)建基于線性預(yù)測的自適應(yīng)語音濾波器,并對LMS算法作出改進(jìn),被噪聲污染的語音信號通過該濾波器濾波,噪聲得到有效抑制,顯著提高了信噪比。
1 原 理
基于線性預(yù)測的FIR自適應(yīng)語音濾波器的系統(tǒng)結(jié)構(gòu)形式如圖1所示。
在自適應(yīng)語音濾波器的計(jì)算中,本文采用LMS算法,μ的選取參考文獻(xiàn)[4]中介紹的計(jì)算公式,即:
μ=1/(10×L×Px)
式中:L為線性預(yù)測階數(shù),即自適應(yīng)FIR濾波器的長度;Px為輸入信號功率。
μ計(jì)算公式的穩(wěn)定性保險(xiǎn)系數(shù)比較大,而且自適應(yīng)語音濾波器又主要工作在強(qiáng)干擾噪聲狀態(tài)下,可直接選取Px為環(huán)境噪聲的平均功率。
該系統(tǒng)是利用了信號的相關(guān)性和噪聲的不相關(guān)性,使原始信號中的相關(guān)部分得到加強(qiáng),而不相關(guān)部分得到削弱,從而提取出有用的信號,所以信號的相關(guān)性和噪聲的不相關(guān)性對于信噪比的提高影響很大。延遲時(shí)間不同則信噪比的改善程度也不相同,這是因?yàn)樾盘栐诓煌瑫r(shí)刻的相關(guān)性不同,t時(shí)刻的信號s0和t+τ時(shí)刻的信號s1相關(guān)性越強(qiáng),則信號越容易從噪聲中提取出來。
以采樣周期T對語音波形進(jìn)行采樣,得到語音信號5(k)(k=0,1,2,…)。當(dāng)前時(shí)刻的樣本值s(k)與鄰近的L個(gè)過去時(shí)刻的樣本值s(k-1),s(k-2),…,s(k-L)相關(guān),即s(k)可由s(k-i)(i=1,2,…,L)的線性組合近似表示為:
通常情況下,語音信號sk被加性的環(huán)境寬帶噪聲nk污染,實(shí)際采樣得到的信號xk可以表示為xk=sk+nk。雖然語音信號受到寬帶噪聲的影響,但在一定程度上,實(shí)際信號仍然保存著語音信號所存在的相關(guān)性,只是由于噪聲干擾,使得相關(guān)性有所減弱。因此,采用作為sk線性預(yù)測的近似值。
系數(shù)權(quán)向量Ak通過均方誤差性能函數(shù)測度法調(diào)節(jié),使得:
為最小。由于寬帶噪聲與語音信號不相關(guān),且寬帶噪聲在不同時(shí)刻的自相關(guān)系數(shù)也非常小。
因此:
從上式可以看出,ε(Ak)是一個(gè)Ak的二次性能函數(shù),必然存在全局最佳點(diǎn)。當(dāng)Ak=Akopt時(shí),ε(Ak)達(dá)到最小,則也達(dá)到最小,因此,最逼近Sk值。
一般梯度估值的自適應(yīng)算法要從統(tǒng)計(jì)樣本中進(jìn)行估計(jì)。實(shí)時(shí)情況難以實(shí)現(xiàn)梯度估值計(jì)算。LMS算法是直接利用單次采樣數(shù)據(jù)|εk| 2來代替期望值E[|εk|2]的簡化方法來進(jìn)行梯度估值計(jì)算。
2 算法改進(jìn)
LMS算法的計(jì)算復(fù)雜度主要來自于在進(jìn)行系數(shù)更新時(shí)執(zhí)行的乘法運(yùn)算,以及對自適應(yīng)濾波器輸出的計(jì)算。在需要自適應(yīng)濾波器高速工作的應(yīng)用中,如語音降噪,使硬件的復(fù)雜度最小是很重要的。同時(shí),噪聲種類的多樣性導(dǎo)致語音降噪的復(fù)雜性,這對算法的收斂性也提出了更高的要求。
為了簡化LMS算法并加速算法的收斂性以達(dá)到更好的降噪效果,結(jié)合基于線性預(yù)測的FIR自適應(yīng)濾波器的特點(diǎn),本文對LMS算法作出改進(jìn):
式中:sgn[·]為符號函數(shù),參數(shù)α和β是2的冪,是用來修正系數(shù)向量的,當(dāng)α>1,增大系數(shù)向量的調(diào)整;當(dāng)α<1,則減小系數(shù)向量的調(diào)整;β的作用同α,如何選擇要視輸入信號信噪比情況而定。選擇合適的α和β有助于改善算法的收斂特性。系數(shù)向量的初始化要盡可能接近或者在濾波器正常工作時(shí)的系數(shù)變化范圍之內(nèi),這有助于自適應(yīng)濾波器的性能穩(wěn)定,縮短收斂時(shí)間。由于參數(shù)α和β是2的冪,則系數(shù)的更新可以利用簡單的乘法來實(shí)現(xiàn),基本上是由比特移位和相加運(yùn)算組成的,降低了LMS算法的計(jì)算復(fù)雜度。
算法的程序流程圖如圖2所示。
3 仿真及結(jié)果分析
為驗(yàn)證基于線性預(yù)測的自適應(yīng)語音濾波器的有效性和改進(jìn)算法的效果,本文采用MATLAB軟件進(jìn)行仿真,仿真計(jì)算后的降噪效果用下面的語音信號波形說明。
采用在4種背景噪聲下現(xiàn)場錄制的帶噪語音(采樣頻率均為8 kHz)進(jìn)行仿真實(shí)驗(yàn),圖3~10的降噪效果仿真圖中,(a)為帶噪語音信號波形,(b)為采用原LMS算法濾波后的語音信號波形,(c)為采用改進(jìn)的LMS算法濾波后的語音信號波形。
第一種,背景噪聲為白噪聲,噪聲類型屬理想的平穩(wěn)寬帶噪聲;
第二種,背景噪聲為電臺噪聲,噪聲類型屬近似平穩(wěn)寬帶噪聲;
圖3、4分別為信噪比約9 dB、6 dB的白噪聲降噪效果仿真圖,圖5、6分別為信噪比約9 dB、6 dB的電臺噪聲降噪效果仿真圖。由圖可以看出,白噪聲和電臺噪聲得到了大幅度的抑制,信噪比提高約8 dB的以上,采用改進(jìn)的算法比原算法噪聲抑制得更大,降噪效果更好;在聽覺效果上,此算法提高了語音的清晰度和可懂度,雖有很小的失真,但對聽覺影響不大。
第三種,背景噪聲為報(bào)警器噪聲,噪聲類型屬非嚴(yán)格周期窄帶噪聲;
第四種,背景噪聲為2 000 Hz單頻噪聲,噪聲類型屬嚴(yán)格周期窄帶噪聲;
圖7、8分別為信噪比約9dB、6dB報(bào)警器噪聲降噪效果仿真圖,圖9、10分別為信噪比約9 dB、6 dB的2 000 Hz單頻干擾噪聲降噪效果仿真圖。由圖可以看出,報(bào)警器噪聲和2 000 Hz單頻干擾噪聲也得到了大幅度的抑制,信噪比提高約10 dB以上,采用改進(jìn)的算法比原算法噪聲抑制得更大,降噪效果更好;由于窄帶噪聲頻率成分比寬帶噪聲簡單得多,自適應(yīng)算法可以更快地收斂,所以可把噪聲濾除得比較干凈;在聽覺效果上,此算法提高了語音的清晰度和可懂度,很好地保持了語音的自然度,失真很小,對聽覺的影響可忽略不計(jì)。
4 結(jié)束語
通過多次高噪音環(huán)境下的實(shí)驗(yàn)得出,基于線性預(yù)測的FIR自適應(yīng)濾波器結(jié)合改進(jìn)的LMS算法對平穩(wěn)噪聲、信噪比在6 dB以上的帶噪語音具有較明顯的降噪效果,信噪比提高可達(dá)8~10 dB以上;在聽覺效果上,此算法提高了語音的清晰度和可懂度,但語音略有失真,對語音自然度有一定程度的影響,這是由于線性預(yù)測的結(jié)構(gòu)以及LMS算法本身的缺陷所致,有待日后改進(jìn)。本文提出的LMS改進(jìn)算法思想巧妙,降低了原LMS算法的計(jì)算復(fù)雜度,加快了程序在DSP上運(yùn)行的速度,便于DSP實(shí)時(shí)實(shí)現(xiàn)。