鄧俊杰,孫 超
(西北工業大學 航海學院,陜西 西安 710072)
近幾十年來,語音增強技術得到了廣泛研究和發展。然而,直到今天,在實際聲場環境中,降低噪聲級、提高語音能懂度,仍然是一項富有挑戰性的任務。
基于麥克風陣列的語音增強技術,充分利用了信號的空域信息,相比僅利用信號時域信息的單通道語音增強算法,能獲得令人更加滿意的改善效果,被廣泛應用于電視電話會議、語音識別、語音增強、助聽器等設備中。迄今為止,人們已經提出了許多基于麥克風陣列的語音增強算法,典型的如延時-求和波束形成、最小方差無失真響應(MVDR)波束形成、自適應波束形成(ABF)等。在眾多算法中,Griffiths–Jim于1982年提出的廣義旁瓣相消器(GJGSC)[1],因其結構簡單、易于實現,成為了自適應波束形成中最經典也是目前使用最廣泛的一種語音增強算法。
但是,GJGSC也有其缺點。其一,它能夠有效消除相干噪聲,對非相干噪聲(如高斯白噪聲)或弱相關噪聲(如散射噪聲)卻無能為力。為此,Zelinski[2]提出基于維納(Wiener)濾波的多通道后置濾波器,Marro等人[3]對Zelinski后置濾波器進行了深入研究,指出該濾波器的傳輸函數可由輸入信號的自相關和互相關功率譜獲得,從而使得Zelinski后置濾波器在多通道語音增強中得到普遍運用;其二,GJGSC往存在語音信號對消現象,即產生了語音泄漏,人們為此提出了多種穩健算法[4],改善了GSC在實際應用中的性能。
文中將DFT調制子帶濾波器組同GSC相結合對語音信號進行子帶濾波,不僅可以降低運算量并且可以獲得更好的去噪效果。同時,算法將噪聲相關函數應用于Wiener后置濾波器,從而更加有效地去除了GSC輸出語音中殘留的噪聲。文中首先簡單介紹了麥克風陣列中廣泛采用的廣義旁瓣器(GSC)以及基于DFT調制子帶濾波器組,隨后對本文所提的語音增強算法作了較為詳細的敘述,最后以實驗數據對該算法進行測試,并得出結論。
圖1 所示為子帶濾波器組的結構框圖,Hk(z)=0,1,…,K-1稱為分析濾波器組,Gk(z)=0,1,…K-1 稱為合成濾波器組,↑D和↓D分別是上、下采樣器。因為存在采樣率的變化,子帶濾波器組也稱為多速率數字濾波器組。
子帶濾波的基本思想是將輸入的全帶信號進行頻帶劃分,得到位于不同頻帶上的子帶信號,對其下采樣后再進行子帶濾波處理,最后對濾波后的信號上采樣并進行子帶信號重構。對于一個自適應濾波算法,設全帶濾波完成一次迭代的運算量為 o(lp)或 o(lp2),由于以較低的速度更新較少的系數,相應的子帶濾波運算量為全帶的K/D2或K/D3其中,lp為濾波器長度。

圖1 子帶濾波器結構框圖Fig.1 Sub-band filter structur
文獻[5]提出了一種基于DFT調制濾波器組的高效實現算法,該算法在允許濾器組存在相位畸變的前提下,通過獨立地最小化各個混迭成份的幅度,從而使得混迭畸變達到最小。根據該算法,得到如圖2所示的子帶分析濾波器組的幅頻響應。其參數設置如下:濾波器長度lp=128,子帶數K=16,采樣因子D=8。由圖可知,經該方法得到的濾波器組具有相同的主瓣級,且用較少的濾波器抽頭數,即可達到較低的旁瓣級(低于-80 dB)。另外,文獻[10]已經證明,由該方法得到的分析-合成濾波器組處理后信號其畸變量(包括混疊畸變、幅度畸變和相位畸變)將能夠得到有效的控制和降低。

圖2 分析濾波器組幅頻響應Fig.2 Amplitude-frequency response of the analysis filter bank
基于收斂速度和去噪效果的考慮,本文提出了的基于子帶GSC的語音增強算法,其原理如圖3所示。將固定波束形成器(FBF)和阻塞矩陣(BM)的輸出進行子帶分解,然后將下采樣后的子帶信號送入自適應噪聲對消器(ANC)進行子帶濾波,最后將處理后的信號上采樣后通過子帶合成濾波器,得到增強后的語音。為了去除增強后語音中的非相干噪聲成份,提高語音質量,框圖中加入了Wiener后置濾波器。同時,為了降低增強后語音的失真,算法中加入語音活性檢測(VAD)用來標識語音幀的成份類型,并僅在噪聲幀(VAD=0)時執行Wiener后置濾波。
設由M個麥克風組成的均勻線列陣接收到的語音信號經延時估計和補償后為 xm(n),m=0,1,…,M-1,GSC 的主輸入采用簡單波束形成方法:

BM的輸出為:


圖3 系統框圖Fig.3 System structure
將 d(n)和 b(n)進行子帶分解后的信號,分別作為ANC的主輸入和參考輸入,通過自適應濾波算法,從主輸出中減去與參考輸入相關的成份,則可得到增強后的子帶語音信號。
考慮到BM信號存在語音泄漏,采用傳統LMS算法的GSC(GJGSC)將在語音輸出端產生失真,且泄漏越多,失真越大。本文采用范數約束自適應濾波(NCAF)算法[4],該算法通過對ANC的權值系數向量二范數進行約束,可以有效減小目標語音的對消發生,降低增強后語音的失真度。
令 dk(n)和 uk,m(n)分別為 d(n)和 b(n)經分解得到的子帶信號(k=0,1,…,K-1,m=0,1,…,M-2)。 則第 k 個 ANC 第 i次迭代的輸出為:

L為ANC抽頭個數

NCAF的權值迭代公式為:

β為迭代步長,Q為一閾值常數。
傳統的多通道Wiener濾波器,假定聲場環境為非相干噪聲場,這種情況在實際中很少遇到。文中將噪聲相干函數引入Wiener濾波器中,能夠更加有效去除經GSC濾波后語音中的殘留噪聲。
通道 i和 j(i≠j)之(間的噪聲相干函數定義為[6]:

假定語音和噪聲不相關,且語音和噪聲在各通道上的自譜密度相等,則可得下式:

從以上兩式可得語音自譜密度的估計值為:

將φ?ss代入Wiener濾波器表達式中,可得濾波器傳輸函數為:

為了測量噪聲相干函數,算法中加入了語音活性檢測(VAD)[7],并僅在噪聲幀(VAD=0)執行后置濾波操作,后置濾波僅在噪聲幀進行也可以減少增強后語音的失真。
文中仿真數據取自卡內基·梅隆大學(CMU)實測麥克風陣列語音數據庫[8],該語音庫使用由15個麥克風組成的線性嵌套式陣列,其中8號陣元為整個陣列的對稱中心,聲源即位于該陣元的正前方。該嵌套陣列排列方式為(假定陣元最小間距為d,9-16號陣元的排列方式可由對稱得知):1、2號陣元間距為 4d,2、3、4號陣元間距為2d,4-8號陣元間距為d。錄音在一嘈雜的實驗室內進行,為了獲取參考語音,一頭戴式麥克風位于聲源近點。麥克風陣列選用由第5-11號陣元所組成的標準線列陣,并使用數據庫中的an101-mtmsarrC3A組語音數據,聲源到陣列中心的距離為3 m,陣元間距4 cm,數據采樣率為16 kHz。參考語音與8號陣元上的語音波形如圖5所示。

圖4 參考語音與加噪語音波形圖Fig.4 Reference speech and noisy speech
采用分段信噪比(SegSNR)來評價語音的客觀質量,它可以衡量語音時域波形的失真程度,其與主觀測試之間的相關系數為0.77,遠高于一般信噪比的相關系數0.24。經計算,加噪語音的SegSNR約7.124 7 dB。
圖5為采全帶GSC與子帶GSC增強后語音的波形圖,經全帶GSC增強后語音的SegSNR為12.669 4 dB,經子帶增強后語音的SegSNR為13.694 8 dB,SegSNR提高了1 dB。仿真中,基于全帶的GSC經過大約2000次收斂,而基于子帶的GSC經過1000次就已收斂,收斂速度提高了一倍。

圖5 全帶GSC與子帶GSC增強后語音波形Fig.5 Enhanced speech with full band GSC and sub-band GSC
圖6為采用Zelinski后置濾波器與使用文中所用后置濾波器增強后語音的波形圖,其分別SegSNR為13.917 3 dB和16.951 8 dB,SegSNR獲得了3 dB提升。若噪聲的為已知,即Γ已知,則其改善將得到進一步提升。

圖6 不同后置濾波器時增強語音波形Fig.6 Enhanced speech with different pos-filter
文中提出了一種基于子帶濾波的GSC語音增強算法,并應用了改進的Wiener后置濾波方法,達到更好的去噪效果。在噪聲場未知時,需通過VAD檢測并僅在噪聲幀內進行Wiener后置濾波,故此時算法在很大程度上依賴于VAD的檢測精度(精度越低則增強后語音失真越大)。在實際聲場中(比如室內環境),一般可以先在沒有語音的情況下獲得噪聲相干函數,然后運用此算法進行語音增強。此時,則不再需要VAD檢測并且能夠得到更好去噪效果。
[1]Griffiths L J,Jim C W.An alternative approach to linearly constrained adaptive beamforming[J].IEEE Bans.Antennas Propag,1982(30):27-34.
[2]Zelinski R.A microphone array with adaptive post-filtering for noise reduction in reverberant rooms[J].Proc.of ICASSP-88,1988(5):2578-2581.
[3]Marro C C,Mahieux Y Y,Simmer K U,et al.Analysis of noise reduction and dereverberation techniques based on microphone arrays with postfiltering[J].IEEE Trans.Speech Audio Process,1998(6):240-259.
[4]Hoshuyama O,Sugiyama A,Hirano A.A robust adaptive beamformer for microphone arrays with a blocking matrix using constrained adaptive filters[J].Signal Processing,IEEE Transactionson,1999,47(10):2677-2684.
[5]de Haan,J M,Grbic N,et al.Filter bank design for subband adaptive microphone arrays[J].Speech and Audio Processing,IEEE Transactions,2003,11(1):14-23.
[6]McCowan I A,Bourlard H.Microphone array post-filter based onnoisefieldcoherence[J].SpeechandAudioProcessing,IEEE Transactions,2003,11(6):709-716.
[7]王月,曲百達,李金寶,等.一種改進的基于頻帶方差的端點檢測算法 [C]//中國控制與決策學術年會論文集,2007:301-303.
[8]Tom Sullivan.CMU Microphon array Database[EB/OL].(1996).Http://www.speech.cs.cmu.edu/databases/micarray/cmu_tms_multimic.tar.gz.