閆 姝,權(quán)建軍
(蘭州石化職業(yè)技術(shù)學(xué)院電子電氣工程學(xué)院,甘肅 蘭州 730060)
隨著通信技術(shù)的快速發(fā)展,語音作為人類和機器之間的一種自然、便捷交流方式,被廣泛認(rèn)定為智能家居和物聯(lián)網(wǎng)的入口。然而,在語音識別系統(tǒng)中,噪聲的引入會嚴(yán)重影響通信質(zhì)量。如汽車、道路、話筒、商場以及公眾的喧鬧聲等產(chǎn)生的沖擊性噪聲,使得有用信號完全淹沒在噪聲背景中,嚴(yán)重影響著信息溝通。在這種情況下,使用語音增強系統(tǒng),可以抑制背景中的噪聲,從而提高語音通信的質(zhì)量[1-3]。
所謂語音增強,是指在含有許多無用信息的復(fù)雜環(huán)境中找到與自身相關(guān)且有用的信息,抑制和降低噪聲的干擾。而在實際生活環(huán)境中,對于不同的噪聲,可采用的語音增強技術(shù)是多種多樣的,并不是單一的固定算法[4]。近年來,麥克風(fēng)陣列語音增強技術(shù)被廣泛應(yīng)用到電話會議、電視技術(shù)及多方通信等場合,而且應(yīng)用范圍一直在不斷拓寬。麥克風(fēng)陣列是指按照一定的形狀對多個麥克風(fēng)進行排列,對所需要處理的聲場空間特性進行采樣。麥克風(fēng)陣列中的各個傳感器所接收到的信號反映了聲音在空間傳播中的不同信息。麥克風(fēng)陣列可以通過這些信息,解決噪聲抑制、回聲抑制、去混響以及源分離等實際問題。因此,研究基于麥克風(fēng)陣列的語音增強技術(shù),具有非常重要的意義[5-6]。
麥克風(fēng)陣列語音増強所處理的主要是短時平穩(wěn)和具有寬帶特性的信號,所以很多時候并不適用于遠(yuǎn)場模型。這時,需要把語音信號的傳播看作是球面波[7]。麥克風(fēng)陣列語音增強系統(tǒng)模型如圖1所示。
圖1 麥克風(fēng)陣列語音增強系統(tǒng)模型
從圖1可以看出,麥克風(fēng)陣列語音增強系統(tǒng)前置部分主要是采集硬件和純凈語音及干擾發(fā)生器,其組成了語音拾取部分。與傳統(tǒng)系統(tǒng)相比,該系統(tǒng)的不同點主要體現(xiàn)在語音拾取和語音增強兩個部分[8-12]。
廣義旁瓣抵消(generalized sidelobe canceller,GSC)是一種波束形成技術(shù)。它通過在所謂的約束條件下利用特定方法達(dá)到最大信噪比,以減少失真率[10]。GSC將波束形成問題轉(zhuǎn)化成約束問題和最小化問題兩部分,原理框圖如圖2所示。
圖2 GSC原理框圖
為了提高GSC的穩(wěn)定性,本文對信號子空間投影算法進行了改進。設(shè)B為GSC的阻塞矩陣,R為陣列協(xié)方差矩陣,期望信號的方向矢量為水平方向,即可表示為r=θ0。由于B可以和約束子空間形成一個正交基,則B的正交矩陣為零。為了阻止在高信噪比的情況下出現(xiàn)信號相消的情況,需對B進行改進,并對R進行特征分解得到信號子空間,進而計算得到正交補阻塞矩陣Bp。信號子空間由期望信號和干擾信號子空間U組成。矩陣Bp具有比矩陣B更好的阻塞能力。
GSC對相干噪聲有很好的抑制作用,但是對于非相干噪聲作用則不是很明顯。所以GSC一般只適用于相干噪聲的抑制和消除。
維納濾波是常用的后置濾波算法。采用維納濾波語音增強的目的是最大限度地抑制噪聲,得到原始語音的最佳估計。采用不同的最佳準(zhǔn)則,得到的估計結(jié)果可能不同[11]。在傳統(tǒng)的維納濾波算法中,若帶噪語音的信噪比較高,則經(jīng)過維納濾波后的信號的先驗信噪比也比較大。也就是說,信噪比的取值是不確定的,它會隨著帶噪信號中噪聲的變化而發(fā)生變化[12]。為了避免這種不確定性,需要讓先驗信噪比保持在一個相對穩(wěn)定的狀態(tài),所以用前一幀的先驗信噪比決定當(dāng)前幀的先驗信噪比,從而對維納濾波算法進行改進。
(1)
式中:pd(k,t-1)為噪聲能量;Ak(t-1)為第(t-1)個分幀中第k個譜分量的語音頻譜幅度;α為系數(shù),0≤α≤1。
p(x)為:
(2)
(3)
令J對系數(shù)α的偏導(dǎo)數(shù)為零,則有:
α=1-f(ξk-1,γk)
(4)
當(dāng)ξk-1、γk同時為零,α可取[0,1]之間的任意數(shù)值,最終可得:
(5)
(6)
式中:ps(t)和pd(t)分別為信號與噪聲的能量;yt為帶噪語音信號。
由于人耳是有閾值的,所以并不需要完全消除語音中的噪聲,只需將噪聲降低到人耳閾值之下,這樣噪聲就不會被人耳所感知。這在某種程度上等價于消除了噪聲,可以最大限度地避免語音信號增強后的失真。
由于GSC語音增強算法,對相干噪聲具有較好的抑制作用,然而維納濾波算法對非相干噪聲具有較好的抑制作用。但在實際應(yīng)用環(huán)境中,所面對的噪聲環(huán)境并不只是單純的相干噪聲或者非相干噪聲,在大多情況下噪聲情況是復(fù)雜的。它既可能存在相干的部分,也可能存在非相干的部分。單獨的GSC自適應(yīng)濾波算法和維納濾波算法都存在著很大的局限性,因此本文研究了GSC語音增強算法和維納濾波算法融合的增強算法。
融合算法先進行GSC語音增強,后進行維納濾波語音增強。融合的增強算法如圖3所示。
圖3 GSC與維納濾波融合的增強算法
原始信號波形如圖4所示 。
圖4 原始信號波形圖
將3個麥克風(fēng),取間距為1 cm,均勻直線分布構(gòu)成麥克風(fēng)陣列,來波方向和陣列的夾角為30°,語音入射方向為45°。采用該接收信號來進行算法仿真。仿真假設(shè)濾波器的階數(shù)為W=7,采樣點數(shù)n=1 024。
在原始信號中加入信噪比為3 dB、均值為零的高斯白噪聲后,所得到的輸入信號波形圖如圖5所示。
圖5 加噪后的輸入信號波形圖
加入噪聲后,輸入信號經(jīng)過維納濾波后的輸出信號波形如圖6所示。通過仿真發(fā)現(xiàn),維納濾波對于噪聲的抑制效果較好,能抑制大多數(shù)摻雜的噪聲,但是并不能完全抑制所有的噪聲。維納濾波的局限性就在于,它需要知道原始信號的許多參數(shù)信息。這一條件在實際應(yīng)用中往往是不能滿足的。
圖6 維納濾波后輸出信號波形圖
加入噪聲后,輸入信號經(jīng)過GSC自適應(yīng)濾波后的輸出信號的波形如圖7所示。從圖7中可看出,由于自適應(yīng)濾波是通過調(diào)整自身濾波器參數(shù)的變化來追蹤信號,以找到輸出信號的最小時間差,因此去噪效果良好,抑制了大部分噪聲。
圖7 自適應(yīng)濾波后輸出信號波形
GSC自適應(yīng)濾波算法和維納濾波算法相融合后的輸出信號波形如圖8所示。
圖8 算法融合后的輸出信號波形
從圖8可知,該改進算法很好地抑制了噪聲,不管是在相干噪聲環(huán)境,還是在非相干噪聲環(huán)境中,都有很好的效果,基本能和圖4原始信號波形保持一致。
在復(fù)雜的噪聲環(huán)境中,研究和改進麥克風(fēng)陣列語音信號的增強方法,使其具備更好地去噪能力,是本文的研究目的。在深入研究了GSC自適應(yīng)濾波算法、維納濾波算法后,本文對GSC阻塞矩陣和維納濾波算法中信噪比取值的不確定性進行了改進,并嘗試將兩種算法融合。通過建模、仿真與分析,證明融合后的增強算法具有更好的去噪能力和噪聲環(huán)境適應(yīng)能力,可廣泛應(yīng)用于多種場合,為進一步研究麥克風(fēng)陣列語音增強算法提供了新的解決思路。