盧 勇
(中國民用航空飛行學院 空管中心,四川 廣漢 618307)
語音增強是從帶噪聲的語音中去除噪聲,得到純凈語音的過程。目前,語音增強技術在語音識別、移動通信和人機對話中有廣泛應用[1-2]。語音增強算法有譜減法、維納濾波法、小波變換法等,在這些方法中,小波變換法應用得較為廣泛。小波變換在時域和頻域內都有較好的局部性質,而且具有去相關和多分辨率等特點,適合非平穩信號的分析,但是在傳統的小波變換法中,硬閾值函數在閾值處不連續,使去噪后的信號不平滑,容易產生偽吉布斯現象;軟閾值函數雖然連續,但是在去噪過程中存在著固定偏差,容易造成重構語音信號強度降低[3]。基于以上問題,本文提出了一種改進的閾值函數,同時將改進的閾值函數與貝葉斯方法相結合,解決了因不同層數閾值恒定的問題。
小波閾值去噪是通過小波對語音信號進行分解得到各層系數,然后構造相應的閾值,對小波系數進行處理,將處理完的小波系數進行重構達到語音增強的目的。語音信號中小波變換相當于線性的,隨著分解尺度的增加,有用信號大部分分布在較大的小波系數上,而噪聲信號則分布在較小的小波系數上[4],若要去除噪聲,保留有用的語音信號,選擇合適的閾值是至關重要的。
小波閾值去噪中,去噪效果與小波基函數、分解層數、閾值函數和每層閾值有關,如何結合相應的閾值對小波系數進行處理也是很重要的,這就需要針對不同的帶噪信號選擇合適的閾值函數。傳統的閾值函數主要有硬閾值和軟閾值兩種[5]。
硬閾值函數:
(1)
軟閾值函數:
(2)
由于硬閾值函數和軟閾值函數都存在一定的缺陷,導致去噪效果不是太理想。為了得到更好的去噪效果,研究學者在硬、軟閾值函數的基礎之上,提出了改進閾值函數。
PARTHA A等[6]提出的改進閾值函數為:
(3)
其中λ為每層分解小波系數中的閾值,k為調整參數。該閾值函數的變化介于軟硬閾值函數之間,在處理語音信號時,對于高于閾值的小波系數進行了指數型的衰減變換,有較好的平滑作用,但是在低于閾值時,并沒有滿足指數形式,這樣就會導致去噪效果不理想,從而影響重構語音信號質量。
為了克服軟硬閾值函數的特點,任永梅[7]提出了一種新的小波閾值函數:
(4)

由以上分析可知,不管是傳統的軟硬閾值函數還是其他改進的閾值函數,都在一定程度上存在缺陷,導致去噪效果不是很理想。為了更進一步提升小波閾值函數在高頻語音信號中的去噪效果,本文提出一種新的改進閾值函數。本文提出的閾值函數以指數函數為載體,不管是對于大于閾值的小波系數還是小于閾值的小波系數,都能通過不斷地調整指數來確定合適的閾值函數,極大地提高了去噪效果,并且該閾值函數在閾值處也是連續的,對小波重構起到了很好的平滑作用。本文提出的改進小波閾值函數為:
(5)

當|ωj,k|→λ時:
(6)
(7)
新改進的閾值函數在閾值處是連續的,對于小于閾值的小波系數做了平滑處理,避免了軟閾值函數下存在的固定偏差問題,且能根據不同的噪聲自動調整參數,解決了因濾掉有用信號成分而影響重構語音信號質量的問題。

(8)
其中:
(9)
密度函數:
(10)
(11)
閾值計算表達式:
(12)
其中:δ2為噪聲方差,δx是子帶系數標準差,j是代表分層中的某一層。δ2的計算采用DONOHO D L所提出的估計值計算方法:
(13)
式中yj,k表示不同層數的小波系數值。
(14)

(15)
通過公式(13)、(14)、(15)即可求出貝葉斯準則下的閾值,由于貝葉斯閾值具有自適應性,將它與閾值函數相結合去噪即可解決閾值恒定的問題。
運用不同的閾值函數去噪后會得到不同的結果,如何驗證這些閾值函數的去噪效果,需要用到信噪比和均方根誤差兩個評價指標。信噪比和均方根誤差具體公式分別如下:
(16)
(17)
其中y(i)表示原始信號,x(i)表示去噪后的信號,N表示輸入信號的長度。
實驗仿真中所采用的純凈語音信號是在安靜的環境中,通過Windows系統自帶的錄音軟件,利用話筒錄得的一段語音,語音內容為:“謝謝塔臺再見”。仿真中加入的噪聲是高斯白噪聲(white),噪聲來源于Noisex-92標準噪聲庫[9]。具體的仿真過程是:在純凈語音信號中分別加入信噪比為-10 dB、-5 dB、 0 dB、5 dB、10 dB的含噪信號,然后用不同的閾值函數對含噪信號進行處理,最后根據信噪比、均方根誤差來分析去噪效果。圖1表示信噪比(SNR)和均方根誤差(RMSE)曲線對比圖,表1和表2分別表示輸出信噪比(SNR)和均方根誤差(RMSE)的具體數據。

圖1 不同閾值函數在不同信噪比輸入下的去噪結果

SNRin/dB硬閾值函數軟閾值函數文獻[6]閾值函數文獻[7]閾值函數本文改進的閾值函數-10-0.931 3-0.394 1-0.676 8-0.541 4-0.476 1-50.482 60.913 81.019 671.050 51.478 302.925 82.888 13.461 43.296 04.261 256.154 35.854 06.875 06.600 37.525 71010.372 99.671 510.783 310.556 411.553 0
從圖1并結合表1、表2的數據可以看出,每種閾值函數都能去除噪聲,但是對于輸入任意相同信噪比的噪聲,本文提出的改進閾值函數的去噪效果更好,且隨著輸入信噪比的增加,去噪效果更加明顯。特別是在噪聲輸入信噪比大于-5 dB時,從SNR曲線中可以看出改進閾值函數的曲線相較于其他幾種閾值函數的曲線有明顯的上升,說明改進閾值函數去噪效果更好。同樣從RMSE曲線中可以看出,在相同信噪比輸入下,改進閾值函數的均方誤差最小,且隨著輸入信噪比的增加,均方誤差越來越小,說明改進的閾值函數對去噪有更好的效果。

表2 不同輸入信噪比條件下運用不同閾值函數得到的輸出均方根誤差(RMSE)
本文提出的改進閾值函數避免了小波變換中產生的固定偏差和閾值處不連續等問題,并與貝葉斯閾值獲取方法相結合,解決了不同層數閾值恒定的問題。本文用純語音信號中加入不同信噪比的高斯白噪聲然后再用不同閾值函數去噪的方式進行仿真,并從信噪比、均方根誤差對不同閾值函數的去噪效果進行了對比,結果表明本文改進的閾值函數比其他幾種閾值函數具有更好的去噪效果,使去噪后的語音質量整體有所提升,達到了理想的語音去噪效果。