王寧,劉劍,劉蘇洋
(南京航空航天大學(xué)自動化學(xué)院,江蘇南京 211106)
隨著物質(zhì)生活水平的提高,人們對工作、生活環(huán)境的改善也日益重視。在強噪聲環(huán)境下,為實現(xiàn)有效的聽力保護(hù),工作人員可通過佩戴主動降噪耳罩實現(xiàn)噪聲隔離,其中,耳罩本身的物理材料能夠有效地隔絕高頻噪聲,低頻噪聲則通過有源噪聲控制(Active Noise Control,ANC)技術(shù)抵消[1-3]。在此基礎(chǔ)上,采用基于廣義旁瓣抵消器(Generalized Sid‐elobe Canceller,GSC)的主動隔聲耳罩語音增強算法[4],能夠使得主動降噪耳罩在抑制環(huán)境噪聲的同時,實現(xiàn)垂直角度入射聲源的語音增強,但對于聲源從其他角度入射的情況,文獻(xiàn)[4]并沒有提及。不同角度入射聲源的語音增強是佩戴者之間能夠正常交流的關(guān)鍵。麥克風(fēng)陣列間準(zhǔn)確的時延估計(Time Delay Estimation,TDE)是GSC 算法實現(xiàn)不同角度入射聲源語音增強的前提,同時也是基于到達(dá)時間差(Time Difference of Arrival,TDOA)聲源定位技術(shù)的前提[5]。
目前時延估計算法主要包括廣義互相關(guān)(Gener‐alized Cross Correlation,GCC)[6]方法、自適應(yīng)最小均方(Least Mean Square,LMS)[7]方法、基于子空間的特征值分解(Eigen Value Decomposition,EVD)[8]方法和基于傳遞函數(shù)比(Acoustical Transfer Functions ratio,ATF-s ratio)[9]的方法等。GCC方法運用最為廣泛,在實際應(yīng)用中為了抑制噪聲對GCC 算法結(jié)果準(zhǔn)確性的影響,常采用不同的加權(quán)函數(shù)進(jìn)行時延估計[10-11]。
本文設(shè)定的環(huán)境噪聲是生活、工作等場景下的常見噪聲,在傳統(tǒng)的GCC 時延估計算法基礎(chǔ)上,將多窗譜估計的譜減法與GCC 法結(jié)合,進(jìn)一步提高了算法的抗噪能力和時延估計的準(zhǔn)確性,通過仿真驗證了該方法的有效性。將時延估計算法加入到GSC主動隔聲耳罩語音增強算法中以實現(xiàn)不同角度入射聲源的語音增強,對整體算法的噪聲抑制和語音增強效果進(jìn)行了仿真實驗,驗證了本文所提算法的有效性。


圖1 麥克風(fēng)陣列信號模型Fig.1 Signal model of a microphone array
以傳聲器M1和M2為例,接收到的語音信號模型為
其中:v1(n)和v2(n)為相互獨立的加性噪聲信號,聲源信號s(t)與vi(n)也相互獨立,τ1和τ2表示聲波到達(dá)傳聲器M1和M2的時間,α1和α2為聲波的衰減系數(shù)。τ12=τ1-τ2表示聲源信號到達(dá)傳聲器M1和M2間的時間延遲。
傳聲器接收到的語音信號x1(n)、x2(n)的互相關(guān)函數(shù)R12(τ)可以表示為
將式(1)中的信號模型代入式(2),可得:
當(dāng)s(n)、v1(n)和v2(n)之間相互獨立時,式(3)可化簡為
Rss(τ-τ12)表示聲源信號s(t)的自相關(guān)函數(shù)。根據(jù)互相關(guān)函數(shù)的性質(zhì),當(dāng)τ=τ12時,R12(τ)取得最大值。兩傳聲器之間接收信號的到達(dá)時間差估計可以表示為
在實際應(yīng)用中噪聲的干擾會影響互相關(guān)函數(shù)峰值的準(zhǔn)確性,對此可先對觀測信號的頻譜進(jìn)行加權(quán)處理,在頻域中抑制噪聲的干擾,銳化聲源信號。
利用GCC法進(jìn)行時延估計的原理如圖2所示。

圖2 基于GCC法的時延估計原理示意圖Fig.2 Principle diagram of the time delay estimation based on GCC method
由互相關(guān)函數(shù)與互功率譜密度的關(guān)系,可得:
式中:G12(w)為傳聲器接收信號x1(n)和x2(n)的互功率譜。
對式(6)進(jìn)行頻域加權(quán)并反變換到時域,可得:
式中:ψ12(ω)為GCC 加權(quán)函數(shù)。在實際中,為使互相關(guān)函數(shù)R12(τ)有一個相對尖銳的峰值,需選擇合適的GCC 加權(quán)函數(shù),常用的GCC 加權(quán)函數(shù)[14-16]如表1所示。

表1 常用的GCC加權(quán)函數(shù)Table 1 Commonly used GCC weighting functions
雖然通過GCC 法可以抑制噪聲對時延估計的影響,但通過仿真發(fā)現(xiàn)在信噪比低于0 dB 時到達(dá)時間差(Time Difference of Arrival,TDOA)估計的準(zhǔn)確率并不高。考慮到本文算法針對的是正常生活、工作中的高噪聲場所,環(huán)境噪聲可以看成是變化緩慢的加性噪聲且與語音信號的相關(guān)性較弱。因此,可以利用無話段時的純噪聲,以GCC法作為基礎(chǔ),引入譜減法[17-19]進(jìn)行信號預(yù)處理,提高傳聲器接收信號的信噪比,從而實現(xiàn)算法改進(jìn)。
譜減法是利用語音信號的短時平穩(wěn)性,從帶噪語音的前導(dǎo)無話段估算出噪聲頻譜,然后用帶噪語音的頻譜減去噪聲頻譜,從而提高語音信號的信噪比。但是在傳統(tǒng)的譜減法中得到的噪聲功率譜與信號的真實功率譜之間存在著較大的方差,進(jìn)行譜減后會在信號的頻譜上出現(xiàn)隨機的尖峰,即“音樂噪聲”,文獻(xiàn)[20]的研究結(jié)果表明先驗信噪比估計的較大方差是產(chǎn)生音樂噪聲的根本原因。因此功率譜估計的準(zhǔn)確性直接關(guān)系到譜減法降噪的效果,為降低“音樂噪聲”對音頻信號的影響,需要選擇一種估計更加準(zhǔn)確、方差較小的功率譜估計方法。文獻(xiàn)[21-22]中提出的多窗譜估計方法就具備以上的特點[21-22]。
多窗譜估計譜減法是一種改進(jìn)的譜減法,其用多個相互正交的數(shù)據(jù)窗分別對同一輸入信號求功率譜,然后取平均得到功率譜估計。多窗譜估計使用的數(shù)據(jù)窗是一組相互正交的離散橢球序列,相較于只使用一個數(shù)據(jù)窗的傳統(tǒng)功率譜估計其估計方差更低。由于多窗譜估計是一種更加準(zhǔn)確的譜估計方法,應(yīng)用于譜減法時降噪效果更好,而譜減法運算簡單、實時性好,并且本文算法針對的噪聲環(huán)境適合引入譜減法作為信號的預(yù)處理方法,因此選用多窗譜估計的譜減法對GCC算法進(jìn)行改進(jìn)。
多窗譜定義為
其中:
式中:x(n)為數(shù)據(jù)序列,n為序列長度,L為數(shù)據(jù)窗個數(shù),ak(n)為第k個數(shù)據(jù)窗,ak(n)滿足:
基于譜減法改進(jìn)的GCC時延估計原理圖如圖3所示。算法具體步驟如下:

圖3 基于譜減法改進(jìn)的GCC時延估計原理框圖Fig.3 Functional block diagram of the improved GCC delay estimation based on spectral subtraction
(1)對帶噪語音進(jìn)行分幀,幀間重疊率50%。對分幀后的信號進(jìn)行FFT 變換,分別求得幅度譜|y(ω)|和相位譜|θ(ω)|;
(2)對分幀后的信號進(jìn)行多窗譜估計,計算帶噪語音的平滑功率譜P(ω)。利用語音信息的前導(dǎo)無話段計算噪聲平均功率譜Pn(ω);
(3)計算譜減增益因子g(ω)
式中:α為過減因子,β為增益補償因子。選擇合適的α可以有效去除由于估計方差產(chǎn)生的尖峰;


(5)進(jìn)行GCC處理,得到時延估計值。
基于GSC 的主動隔聲耳罩語音增強算法主要由ANC算法[23-24]和GSC語音增強算法[25-26]構(gòu)成。兩者通過ANC 算法中的次級通道在線辨識模塊耦合在一起,算法框圖如圖4所示。

圖4 基于GSC的主動隔聲耳罩語音增強算法框圖Fig.4 Block diagram of GSC based speech enhancement algorithm for active noise insulation earmuff
經(jīng)過時延補償處理的麥克風(fēng)陣列信號輸入GSC語音增強算法中,得到增強后的語音信號。將信號v(n)與ANC 算法中的次級通道在線辨識模塊耦合在一起,最終通過ANC 算法輸出抑制耳罩內(nèi)低頻噪聲p(n)后的語音增強信號e(n)。
在已證明算法正確性的前提下,算法的時間復(fù)雜度和空間復(fù)雜度是評價算法優(yōu)劣的關(guān)鍵指標(biāo)。由于半導(dǎo)體行業(yè)的飛速發(fā)展,算法的時間復(fù)雜度相對于空間復(fù)雜度在實際應(yīng)用中顯得更為重要。算法時間復(fù)雜度的本質(zhì)是算法的執(zhí)行時間,即算法中所有語句的頻度之和[27]。
本文的算法主要由基于譜減法改進(jìn)的GCC 算法、GSC 語音增強算法和ANC 算法構(gòu)成。其中GSC 算法和ANC 算法的執(zhí)行時間主要集中于自適應(yīng)濾波器系數(shù)的更新。自適應(yīng)濾波器的階數(shù)并不隨算法輸入的增加而增加,因此ANC算法和GSC算法的時間復(fù)雜度都為O(n)。在基于譜減法改進(jìn)的GCC 時延估計算法中多窗譜估計和求序列的最大值的算法運行時間最長。但在實際應(yīng)用中FFT的點數(shù)是一定的,因此算法的時間復(fù)雜度仍為O(n)。
此外,當(dāng)本文的算法應(yīng)用于實時系統(tǒng)時,可以在一個大循環(huán)中隨采樣時刻按順序?qū)σ陨先N算法進(jìn)行調(diào)用。因此整體算法的時間復(fù)雜度為各算法時間復(fù)雜度的線性疊加,即時間復(fù)雜度為O(n)。
為了驗證本文算法在不同噪聲環(huán)境下的時延估計性能和入射聲源的語音增強效果,分別對時延估計算法和改進(jìn)的GSC 主動隔音耳罩語音增強算法進(jìn)行了仿真實驗。算法中由4個模擬傳聲器組成均勻線性陣列,陣元間距為0.05 m。目標(biāo)語音信號來自MUSAN語音庫。MUSAN數(shù)據(jù)庫是得到美國國家科學(xué)基金會研究生研究獎學(xué)金支持的包含音樂、語音和噪聲記錄的語料庫,采樣頻率為16 kHz。設(shè)定聲速為340 m·s-1,聲源處于遠(yuǎn)場中,環(huán)境噪聲選用Noise-92 庫中的粉色噪聲(pink)、工廠車間噪聲(factory1、factory2)、汽車車內(nèi)噪聲(car volvo)。Noise-92 噪聲數(shù)據(jù)庫是由英國荷蘭Perception-TNO研究所的語音研究單位在現(xiàn)場測量的不同噪聲數(shù)據(jù)。

對基于譜減法改進(jìn)的GCC 算法進(jìn)行Matlab 仿真,從MUSAN 語音庫中選取10組時長為3 s的目標(biāo)語音信號,信噪比分別設(shè)置為10、5、0、-5、-10 dB。每次仿真選取有話段的3幀數(shù)據(jù)用于時延估計,幀長N=1 024個采樣點,幀移為50%,計算譜減增益時α=3.8,β=0.001。麥克風(fēng)陣列模型如圖1所示,進(jìn)行時延估計時分別設(shè)置聲源入射角θ為0°、64.85°、-64.85°。在三種聲源入射角度下,如果算法估計的傳聲器M1和傳聲器M2、M3、M4之間的延遲采樣點與實際延遲采樣點有一個不符合時,則此次時延估計是異常的。圖5 為factory2 噪聲環(huán)境下不同GCC加權(quán)函數(shù)的時延估計異常率。

圖5 在factory2 噪聲環(huán)境中不同GCC 加權(quán)函數(shù)的時延估計異常率Fig.5 Abnormal rates of time delay estimation of different GCC weight functions in the factory2 noise environment
通過仿真結(jié)果可以看出,在factory2噪聲環(huán)境下時延估計的準(zhǔn)確率隨信噪比的下降而下降。其中,λ=0.1的MCSP加權(quán)函數(shù)的算法性能要優(yōu)于其余4 種加權(quán)函數(shù)。并且factory1、car volvo 和pink噪聲環(huán)境下MCSP加權(quán)算法的性能也是最優(yōu)的。
此外,當(dāng)用于時延估計的2 048個采樣點信噪比大于-4 dB時,factory1與pink噪聲環(huán)境下時延估計的準(zhǔn)確率達(dá)到80%以上,當(dāng)信噪比低于-4 dB時,其時延估計準(zhǔn)確率急劇下降。類似地,用于時延估計采樣點的信噪比分別高于-8 dB 和-15 dB時,factory2 和car volvo 噪聲環(huán)境下的時延估計的準(zhǔn)確率達(dá)到80%以上。
為了驗證加入時延補償后整體算法的噪聲抑制和語音增強效果,對改進(jìn)的GSC 主動隔聲耳罩語音增強算法進(jìn)行了仿真實驗,仿真中預(yù)置參數(shù)設(shè)置如表2所示。

表2 仿真預(yù)置參數(shù)Table 2 Preset parameters of the simulation
從MUSAN語音庫中選取一段長為4.5 s的語音作為目標(biāo)聲源信號,內(nèi)容為:“手表等穿戴設(shè)備也具備支付指紋識別的功能”。選用相同的噪聲環(huán)境,聲源入射角θ為64.85°,信噪比為-10 dB。根據(jù)時延估計算法的性能,在仿真中選取語音信號能量較高的語音段用于時延估計,以確保時延估計準(zhǔn)確。帶噪語音信號經(jīng)算法處理后信噪比變化如表3所示。從表3中可以看出,加入時延補償算法后,帶噪語音信號經(jīng)過GSC 算法能夠在不同噪聲環(huán)境下提高信噪比10 dB左右。

表3 含噪語音處理后信噪比Table 3 Signal to noise ratio after noisy speech processing
圖6是不同環(huán)境噪聲下加入時延補償算法和未加時延補償算法的輸出信號波形圖。如果僅使用耳罩的被動降噪抑制環(huán)境噪聲,將GSC 算法輸出的語音信號經(jīng)過次級通道直接輸入耳罩內(nèi),由于外界低頻噪聲的引入使得耳罩內(nèi)信號的信噪比相較于GSC輸出信號下降6~10 dB左右,此時耳罩內(nèi)信號的波形圖對應(yīng)于圖中加入時延補償無ANC 時算法輸出信號。根據(jù)表3和加入時延補償后算法最終輸出信號的波形圖可以看出,將GSC和ANC算法結(jié)合可以在增強語音的同時有效抑制外界環(huán)境傳入耳罩內(nèi)的低頻噪聲,與僅使用耳罩被動降噪的輸出信號相比,信噪比提高了3~7 dB。

圖6 不同噪聲環(huán)境下算法輸出信號Fig.6 Algorithm output signals under different noise environments
此外,由未加時延補償?shù)乃惴ㄝ敵霾ㄐ慰芍谲噧?nèi)噪聲環(huán)境下,有無時延補償算法對輸出的語音信號質(zhì)量影響不大。但是,在工廠噪聲和粉紅噪聲環(huán)境下,如果沒有相應(yīng)的時延補償,GSC算法和ANC算法的輸出會同時抑制語音信息與噪聲信息,雖然輸出信號的信噪比是提高的,但其攜帶的語音信息非常少。
為了對算法最終輸出的語音質(zhì)量進(jìn)行評價,將相應(yīng)的輸出信號轉(zhuǎn)換為音頻信息,采用可懂度[29]及語音質(zhì)量感知評估(Perceptual Evaluation of Speech Quality,PESQ)[30]得分分別對其進(jìn)行主觀和客觀評價。
可懂度評測中由20 位未聽過原始語音的測試人員分別用人耳收聽播放的音頻信息,音頻信息分別是耳罩外信號、外界聲音經(jīng)過耳罩被動降噪傳入耳罩內(nèi)的信號和耳罩內(nèi)分別經(jīng)過改進(jìn)的和未改進(jìn)的語音增強算法處理后的信號。將測試人員復(fù)述內(nèi)容的正確字?jǐn)?shù)與實際字?jǐn)?shù)的百分比作為可懂度數(shù)值。不同噪聲環(huán)境下測試人員的平均可懂度數(shù)據(jù)結(jié)果如表4所示。

表4 不同噪聲環(huán)境下可懂度主觀測試結(jié)果Table 4 Intelligibility subjective test results under different noise environments
從表4中可以看出,由于耳罩的被動降噪特性相當(dāng)于一個低通濾波器,抑制了聲音信號的高頻分量,使得傳入耳罩內(nèi)的信號聽不到有效信息。加入時延補償后外界信號經(jīng)過算法處理最終得到的語音輸出能夠保留所有的有效信息,時延補償對car volvo 噪聲環(huán)境下輸出的信號可懂度影響較小,而對其余三種噪聲環(huán)境下輸出信號的可懂度影響較大,尤其是在factory1和pink噪聲環(huán)境下,如果沒有時延補償,耳罩內(nèi)算法輸出的信號聽不到任何有效信息。
在客觀評價中,PESQ的感知模型用于計算經(jīng)過系統(tǒng)處理后的信號與期望信號的距離,其輸出是對受試者在主觀聽力測評中給予的感知質(zhì)量的預(yù)測。模型得到的PESQ 取值在-0.5~4.5 之間,得分越高表示語音質(zhì)量越好。在不同的噪聲環(huán)境下,用于可懂度評價中的不同音頻信號的PESQ得分如圖7所示。由圖7 可知,帶噪語音信號經(jīng)過改進(jìn)的算法處理后具有最高的PESQ得分,與耳罩內(nèi)的信號質(zhì)量相比有2~3分的提高,與改進(jìn)前算法輸出信號的質(zhì)量相比有0.2~2.5 分的提高。其中factory1 和pink噪聲環(huán)境下的語音質(zhì)量提升達(dá)2分以上。
本文通過仿真分析了基于譜減法改進(jìn)的GCC時延估計算法的性能以及加入時延補償后的GSC主動隔聲耳罩語音增強算法的噪聲抑制和語音增強效果。文中通過比較不同加權(quán)函數(shù)在不同噪聲環(huán)境下的時延估計異常率,確定了λ=0.1的MCSP加權(quán)函數(shù)在本文的時延估計算法中具有更好地抗噪性和普適性。此外,仿真結(jié)果表明,將ANC 算法與GSC語音增強算法結(jié)合,可以在有效增強語音的同時抑制外界傳入耳罩內(nèi)的低頻噪聲,并且加入時延補償算法后,經(jīng)過改進(jìn)的算法在factor 噪聲和pink噪聲環(huán)境下輸出的語音信號質(zhì)量相比于改進(jìn)前的算法有明顯提升。本文中的方法對高噪聲場所中實現(xiàn)聽力保護(hù)和不同角度入射聲源的語音增強具有指導(dǎo)意義。