?

基于時延估計改進的主動隔聲耳罩語音增強算法

2024-01-17 07:16王寧劉劍劉蘇洋
聲學技術 2023年6期
關鍵詞:耳罩譜估計聲源

王寧,劉劍,劉蘇洋

(南京航空航天大學自動化學院,江蘇南京 211106)

0 引言

隨著物質生活水平的提高,人們對工作、生活環境的改善也日益重視。在強噪聲環境下,為實現有效的聽力保護,工作人員可通過佩戴主動降噪耳罩實現噪聲隔離,其中,耳罩本身的物理材料能夠有效地隔絕高頻噪聲,低頻噪聲則通過有源噪聲控制(Active Noise Control,ANC)技術抵消[1-3]。在此基礎上,采用基于廣義旁瓣抵消器(Generalized Sid‐elobe Canceller,GSC)的主動隔聲耳罩語音增強算法[4],能夠使得主動降噪耳罩在抑制環境噪聲的同時,實現垂直角度入射聲源的語音增強,但對于聲源從其他角度入射的情況,文獻[4]并沒有提及。不同角度入射聲源的語音增強是佩戴者之間能夠正常交流的關鍵。麥克風陣列間準確的時延估計(Time Delay Estimation,TDE)是GSC 算法實現不同角度入射聲源語音增強的前提,同時也是基于到達時間差(Time Difference of Arrival,TDOA)聲源定位技術的前提[5]。

目前時延估計算法主要包括廣義互相關(Gener‐alized Cross Correlation,GCC)[6]方法、自適應最小均方(Least Mean Square,LMS)[7]方法、基于子空間的特征值分解(Eigen Value Decomposition,EVD)[8]方法和基于傳遞函數比(Acoustical Transfer Functions ratio,ATF-s ratio)[9]的方法等。GCC方法運用最為廣泛,在實際應用中為了抑制噪聲對GCC 算法結果準確性的影響,常采用不同的加權函數進行時延估計[10-11]。

本文設定的環境噪聲是生活、工作等場景下的常見噪聲,在傳統的GCC 時延估計算法基礎上,將多窗譜估計的譜減法與GCC 法結合,進一步提高了算法的抗噪能力和時延估計的準確性,通過仿真驗證了該方法的有效性。將時延估計算法加入到GSC主動隔聲耳罩語音增強算法中以實現不同角度入射聲源的語音增強,對整體算法的噪聲抑制和語音增強效果進行了仿真實驗,驗證了本文所提算法的有效性。

1 麥克風陣列時延估計

1.1 麥克風陣列時延模型

圖1 麥克風陣列信號模型Fig.1 Signal model of a microphone array

以傳聲器M1和M2為例,接收到的語音信號模型為

其中:v1(n)和v2(n)為相互獨立的加性噪聲信號,聲源信號s(t)與vi(n)也相互獨立,τ1和τ2表示聲波到達傳聲器M1和M2的時間,α1和α2為聲波的衰減系數。τ12=τ1-τ2表示聲源信號到達傳聲器M1和M2間的時間延遲。

1.2 GCC算法

傳聲器接收到的語音信號x1(n)、x2(n)的互相關函數R12(τ)可以表示為

將式(1)中的信號模型代入式(2),可得:

當s(n)、v1(n)和v2(n)之間相互獨立時,式(3)可化簡為

Rss(τ-τ12)表示聲源信號s(t)的自相關函數。根據互相關函數的性質,當τ=τ12時,R12(τ)取得最大值。兩傳聲器之間接收信號的到達時間差估計可以表示為

在實際應用中噪聲的干擾會影響互相關函數峰值的準確性,對此可先對觀測信號的頻譜進行加權處理,在頻域中抑制噪聲的干擾,銳化聲源信號。

利用GCC法進行時延估計的原理如圖2所示。

圖2 基于GCC法的時延估計原理示意圖Fig.2 Principle diagram of the time delay estimation based on GCC method

由互相關函數與互功率譜密度的關系,可得:

式中:G12(w)為傳聲器接收信號x1(n)和x2(n)的互功率譜。

對式(6)進行頻域加權并反變換到時域,可得:

式中:ψ12(ω)為GCC 加權函數。在實際中,為使互相關函數R12(τ)有一個相對尖銳的峰值,需選擇合適的GCC 加權函數,常用的GCC 加權函數[14-16]如表1所示。

表1 常用的GCC加權函數Table 1 Commonly used GCC weighting functions

1.3 基于譜減法改進的GCC算法

雖然通過GCC 法可以抑制噪聲對時延估計的影響,但通過仿真發現在信噪比低于0 dB 時到達時間差(Time Difference of Arrival,TDOA)估計的準確率并不高??紤]到本文算法針對的是正常生活、工作中的高噪聲場所,環境噪聲可以看成是變化緩慢的加性噪聲且與語音信號的相關性較弱。因此,可以利用無話段時的純噪聲,以GCC法作為基礎,引入譜減法[17-19]進行信號預處理,提高傳聲器接收信號的信噪比,從而實現算法改進。

譜減法是利用語音信號的短時平穩性,從帶噪語音的前導無話段估算出噪聲頻譜,然后用帶噪語音的頻譜減去噪聲頻譜,從而提高語音信號的信噪比。但是在傳統的譜減法中得到的噪聲功率譜與信號的真實功率譜之間存在著較大的方差,進行譜減后會在信號的頻譜上出現隨機的尖峰,即“音樂噪聲”,文獻[20]的研究結果表明先驗信噪比估計的較大方差是產生音樂噪聲的根本原因。因此功率譜估計的準確性直接關系到譜減法降噪的效果,為降低“音樂噪聲”對音頻信號的影響,需要選擇一種估計更加準確、方差較小的功率譜估計方法。文獻[21-22]中提出的多窗譜估計方法就具備以上的特點[21-22]。

多窗譜估計譜減法是一種改進的譜減法,其用多個相互正交的數據窗分別對同一輸入信號求功率譜,然后取平均得到功率譜估計。多窗譜估計使用的數據窗是一組相互正交的離散橢球序列,相較于只使用一個數據窗的傳統功率譜估計其估計方差更低。由于多窗譜估計是一種更加準確的譜估計方法,應用于譜減法時降噪效果更好,而譜減法運算簡單、實時性好,并且本文算法針對的噪聲環境適合引入譜減法作為信號的預處理方法,因此選用多窗譜估計的譜減法對GCC算法進行改進。

多窗譜定義為

其中:

式中:x(n)為數據序列,n為序列長度,L為數據窗個數,ak(n)為第k個數據窗,ak(n)滿足:

基于譜減法改進的GCC時延估計原理圖如圖3所示。算法具體步驟如下:

圖3 基于譜減法改進的GCC時延估計原理框圖Fig.3 Functional block diagram of the improved GCC delay estimation based on spectral subtraction

(1)對帶噪語音進行分幀,幀間重疊率50%。對分幀后的信號進行FFT 變換,分別求得幅度譜|y(ω)|和相位譜|θ(ω)|;

(2)對分幀后的信號進行多窗譜估計,計算帶噪語音的平滑功率譜P(ω)。利用語音信息的前導無話段計算噪聲平均功率譜Pn(ω);

(3)計算譜減增益因子g(ω)

式中:α為過減因子,β為增益補償因子。選擇合適的α可以有效去除由于估計方差產生的尖峰;

(5)進行GCC處理,得到時延估計值。

2 基于GSC 的主動隔聲耳罩語音增強算法

基于GSC 的主動隔聲耳罩語音增強算法主要由ANC算法[23-24]和GSC語音增強算法[25-26]構成。兩者通過ANC 算法中的次級通道在線辨識模塊耦合在一起,算法框圖如圖4所示。

圖4 基于GSC的主動隔聲耳罩語音增強算法框圖Fig.4 Block diagram of GSC based speech enhancement algorithm for active noise insulation earmuff

經過時延補償處理的麥克風陣列信號輸入GSC語音增強算法中,得到增強后的語音信號。將信號v(n)與ANC 算法中的次級通道在線辨識模塊耦合在一起,最終通過ANC 算法輸出抑制耳罩內低頻噪聲p(n)后的語音增強信號e(n)。

3 算法計算復雜度

在已證明算法正確性的前提下,算法的時間復雜度和空間復雜度是評價算法優劣的關鍵指標。由于半導體行業的飛速發展,算法的時間復雜度相對于空間復雜度在實際應用中顯得更為重要。算法時間復雜度的本質是算法的執行時間,即算法中所有語句的頻度之和[27]。

本文的算法主要由基于譜減法改進的GCC 算法、GSC 語音增強算法和ANC 算法構成。其中GSC 算法和ANC 算法的執行時間主要集中于自適應濾波器系數的更新。自適應濾波器的階數并不隨算法輸入的增加而增加,因此ANC算法和GSC算法的時間復雜度都為O(n)。在基于譜減法改進的GCC 時延估計算法中多窗譜估計和求序列的最大值的算法運行時間最長。但在實際應用中FFT的點數是一定的,因此算法的時間復雜度仍為O(n)。

此外,當本文的算法應用于實時系統時,可以在一個大循環中隨采樣時刻按順序對以上三種算法進行調用。因此整體算法的時間復雜度為各算法時間復雜度的線性疊加,即時間復雜度為O(n)。

4 仿真結果與分析

為了驗證本文算法在不同噪聲環境下的時延估計性能和入射聲源的語音增強效果,分別對時延估計算法和改進的GSC 主動隔音耳罩語音增強算法進行了仿真實驗。算法中由4個模擬傳聲器組成均勻線性陣列,陣元間距為0.05 m。目標語音信號來自MUSAN語音庫。MUSAN數據庫是得到美國國家科學基金會研究生研究獎學金支持的包含音樂、語音和噪聲記錄的語料庫,采樣頻率為16 kHz。設定聲速為340 m·s-1,聲源處于遠場中,環境噪聲選用Noise-92 庫中的粉色噪聲(pink)、工廠車間噪聲(factory1、factory2)、汽車車內噪聲(car volvo)。Noise-92 噪聲數據庫是由英國荷蘭Perception-TNO研究所的語音研究單位在現場測量的不同噪聲數據。

4.1 時延估計算法的仿真與分析

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

圖5 在factory2 噪聲環境中不同GCC 加權函數的時延估計異常率Fig.5 Abnormal rates of time delay estimation of different GCC weight functions in the factory2 noise environment

通過仿真結果可以看出,在factory2噪聲環境下時延估計的準確率隨信噪比的下降而下降。其中,λ=0.1的MCSP加權函數的算法性能要優于其余4 種加權函數。并且factory1、car volvo 和pink噪聲環境下MCSP加權算法的性能也是最優的。

此外,當用于時延估計的2 048個采樣點信噪比大于-4 dB時,factory1與pink噪聲環境下時延估計的準確率達到80%以上,當信噪比低于-4 dB時,其時延估計準確率急劇下降。類似地,用于時延估計采樣點的信噪比分別高于-8 dB 和-15 dB時,factory2 和car volvo 噪聲環境下的時延估計的準確率達到80%以上。

4.2 入射聲源的語音增強仿真與分析

為了驗證加入時延補償后整體算法的噪聲抑制和語音增強效果,對改進的GSC 主動隔聲耳罩語音增強算法進行了仿真實驗,仿真中預置參數設置如表2所示。

表2 仿真預置參數Table 2 Preset parameters of the simulation

從MUSAN語音庫中選取一段長為4.5 s的語音作為目標聲源信號,內容為:“手表等穿戴設備也具備支付指紋識別的功能”。選用相同的噪聲環境,聲源入射角θ為64.85°,信噪比為-10 dB。根據時延估計算法的性能,在仿真中選取語音信號能量較高的語音段用于時延估計,以確保時延估計準確。帶噪語音信號經算法處理后信噪比變化如表3所示。從表3中可以看出,加入時延補償算法后,帶噪語音信號經過GSC 算法能夠在不同噪聲環境下提高信噪比10 dB左右。

表3 含噪語音處理后信噪比Table 3 Signal to noise ratio after noisy speech processing

圖6是不同環境噪聲下加入時延補償算法和未加時延補償算法的輸出信號波形圖。如果僅使用耳罩的被動降噪抑制環境噪聲,將GSC 算法輸出的語音信號經過次級通道直接輸入耳罩內,由于外界低頻噪聲的引入使得耳罩內信號的信噪比相較于GSC輸出信號下降6~10 dB左右,此時耳罩內信號的波形圖對應于圖中加入時延補償無ANC 時算法輸出信號。根據表3和加入時延補償后算法最終輸出信號的波形圖可以看出,將GSC和ANC算法結合可以在增強語音的同時有效抑制外界環境傳入耳罩內的低頻噪聲,與僅使用耳罩被動降噪的輸出信號相比,信噪比提高了3~7 dB。

圖6 不同噪聲環境下算法輸出信號Fig.6 Algorithm output signals under different noise environments

此外,由未加時延補償的算法輸出波形可知,在車內噪聲環境下,有無時延補償算法對輸出的語音信號質量影響不大。但是,在工廠噪聲和粉紅噪聲環境下,如果沒有相應的時延補償,GSC算法和ANC算法的輸出會同時抑制語音信息與噪聲信息,雖然輸出信號的信噪比是提高的,但其攜帶的語音信息非常少。

為了對算法最終輸出的語音質量進行評價,將相應的輸出信號轉換為音頻信息,采用可懂度[29]及語音質量感知評估(Perceptual Evaluation of Speech Quality,PESQ)[30]得分分別對其進行主觀和客觀評價。

可懂度評測中由20 位未聽過原始語音的測試人員分別用人耳收聽播放的音頻信息,音頻信息分別是耳罩外信號、外界聲音經過耳罩被動降噪傳入耳罩內的信號和耳罩內分別經過改進的和未改進的語音增強算法處理后的信號。將測試人員復述內容的正確字數與實際字數的百分比作為可懂度數值。不同噪聲環境下測試人員的平均可懂度數據結果如表4所示。

表4 不同噪聲環境下可懂度主觀測試結果Table 4 Intelligibility subjective test results under different noise environments

從表4中可以看出,由于耳罩的被動降噪特性相當于一個低通濾波器,抑制了聲音信號的高頻分量,使得傳入耳罩內的信號聽不到有效信息。加入時延補償后外界信號經過算法處理最終得到的語音輸出能夠保留所有的有效信息,時延補償對car volvo 噪聲環境下輸出的信號可懂度影響較小,而對其余三種噪聲環境下輸出信號的可懂度影響較大,尤其是在factory1和pink噪聲環境下,如果沒有時延補償,耳罩內算法輸出的信號聽不到任何有效信息。

在客觀評價中,PESQ的感知模型用于計算經過系統處理后的信號與期望信號的距離,其輸出是對受試者在主觀聽力測評中給予的感知質量的預測。模型得到的PESQ 取值在-0.5~4.5 之間,得分越高表示語音質量越好。在不同的噪聲環境下,用于可懂度評價中的不同音頻信號的PESQ得分如圖7所示。由圖7 可知,帶噪語音信號經過改進的算法處理后具有最高的PESQ得分,與耳罩內的信號質量相比有2~3分的提高,與改進前算法輸出信號的質量相比有0.2~2.5 分的提高。其中factory1 和pink噪聲環境下的語音質量提升達2分以上。

5 結論

本文通過仿真分析了基于譜減法改進的GCC時延估計算法的性能以及加入時延補償后的GSC主動隔聲耳罩語音增強算法的噪聲抑制和語音增強效果。文中通過比較不同加權函數在不同噪聲環境下的時延估計異常率,確定了λ=0.1的MCSP加權函數在本文的時延估計算法中具有更好地抗噪性和普適性。此外,仿真結果表明,將ANC 算法與GSC語音增強算法結合,可以在有效增強語音的同時抑制外界傳入耳罩內的低頻噪聲,并且加入時延補償算法后,經過改進的算法在factor 噪聲和pink噪聲環境下輸出的語音信號質量相比于改進前的算法有明顯提升。本文中的方法對高噪聲場所中實現聽力保護和不同角度入射聲源的語音增強具有指導意義。

猜你喜歡
耳罩譜估計聲源
虛擬聲源定位的等效源近場聲全息算法
knit
“招風耳”與保暖耳罩
基于GCC-nearest時延估計的室內聲源定位
基于MATLAB實現的AR模型功率譜估計
運用內積相關性結合迭代相減識別兩點聲源
經典功率譜估計方法的研究
基于微振動理論單罩杯雙自由度耳罩隔聲模型
力-聲互易在水下聲源強度測量中的應用
Welch譜估計的隨機誤差與置信度
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合