麥克風陣列語音增強(二)
1. 時域GSC自適應波束形成演算法(Griffiths-Jim)
圖 2-1 Griffiths-Jim的時域GSC自適應波束形成演算法
在這個專題中,將對Griffiths於1982年提出的經典時域GSC演算法進行實現,並利用愛丁堡大學語音實驗室開發的麥克風陣列模擬環境(之前已經單獨介紹過了)進行實驗測試。首先是,GSC演算法的設計,演算法結構框圖如上圖2-1所示。根據其結構,我們需要設計的部分是三個矩陣部分:固定波束形成部分的靜止矩陣()、阻塞矩陣()和自適應抵消部分的權重矩陣()。對於靜止矩陣和阻塞矩陣,Griffiths已經進行了簡化設計,如下所示:
(1-1) 如上式(1-1)和(1-2)所示,對於阻塞矩陣採用的是 [1,-1] 形式的相鄰麥克風對減方式,靜止矩陣採用的是求和平均的方式(取)。這種簡化方式具有計算簡單,運算量低的優點,當然,相應的噪聲抑制效能也不高。除了上述提到的靜止矩陣和阻塞矩陣的設計,還有一個很重要的矩陣需要進行設計,也就是自適應權重係數矩陣。對於的設計,本來是需要進行矩陣的求逆運算才能計算得到的,這裡為了進一步降低運算量,採用了LMS自適應迭代的方法,求解過程如下所示:
其中,為迭代步長,,是阻塞矩陣的輸出,滿足。這便是Griffiths-Jim 的GSC演算法的設計過程,但是對於其中時延補償部分的設計還沒有涉及,實現方法通常兩種:時域對齊和頻域對齊。下面介紹一種最簡單的方法,也就是時域取樣點延遲的方法。如下圖2-2所示,在知道目標語音訊號入射方向的前提下(一般是由聲源定位演算法估計得到),以最左側或者最右側的麥克風接收的訊號為基準,調整其他麥克風的時域取樣點向後或者向前調整幾個點即可。因為麥克風之間的間距和聲源入射方向是已知的,所以根據聲速340m/s,可以計算出來每個麥克風需要調整的點數。
圖 2-2 平面波入射模型
2. 實驗模擬測試
利用之前介紹的麥克風陣列模擬環境,模擬了一個長寬高為3m *4m *3m 的密閉房間,房間混響為0.1s,採用4個麥克風的均勻線性陣列(麥克風間距5cm),將其放置在房間的正中央,目標聲源位於麥克風陣列正前方方向(省去了時延補償的工作),距離麥克風陣列1.4m。另外,對具有明確方向性的語音干擾、點噪聲源干擾和無方向性的散漫噪聲情況進行實驗測試。語音干擾和點噪聲源干擾都來自麥克風陣列的右側90度方向,且距離麥克分1m,散漫噪聲以球形場的形式均勻分散在房間中,如下圖2-3所示。
圖 2-3 實驗模擬環境設定
2.1 語音干擾情況
在麥克風陣列的一些應用場景中,語音干擾的情況十分常見,比如說,在一個房間內正在進行多媒體遠端會議,這時就希望麥克風陣列只捕捉我們想要的目標聲源(會議發言人),抑制那些來自干擾方向的噪聲(例如,非發言人的干擾語音)。針對這種情況進行實驗測試,結果如下圖2-4所示。其中,圖2-4中的(a)和(b)是目標聲源和干擾聲源分別說話
圖 2-4 語音干擾情況的時域波形圖
2.2 點噪聲源干擾情況
點噪聲源和語音干擾的情況類似,只是干擾訊號不是語音而是固定方向傳過來的噪聲,例如在房間內有一個窗戶,窗外有一輛汽車經過,那麼從窗戶傳進來的汽車噪聲就是點噪聲源。對於點噪聲源的情況,實驗測試了白噪聲的情況(0dB的輸入信噪比),如圖2-5所示。其中,(a)是純淨語音的時域波形圖,(b)和(c)分別是點噪聲源干擾的語音和演算法處理後的去噪語音。顯然,GSC演算法可以有效地抑制具有明確方向性的點噪聲源干擾,使得點噪聲源的訊號幅度被衰減。
圖 2-5 點噪聲源干擾情況的時域波形圖
2.3 散漫噪聲源干擾情況
對於散漫噪聲,採用的是球形噪聲場的數學模型模擬產生,因此它並沒有明確的方向性,在整個房間內均勻存在,是實際生活中比較常見的噪聲型別。這裡仍然採用白噪聲作為散漫噪聲源(輸入信噪比為0dB),實驗測試結果如下圖2-6所示。其中(a)為純淨語音訊號的時域波形圖,(b)是被散漫噪聲源汙染的語音訊號,(c)為GSC演算法處理後的去噪語音訊號。從實驗結果中發現,GSC演算法對散漫噪聲的抑制能力比較弱,也就是說,當空間中的噪聲不具有方向特性時,GSC演算法的空間濾波優勢將大大減弱,這也是麥克風陣列波束形成演算法的缺陷所在。
圖 2-6 散漫噪聲源干擾情況的時域波形圖
參考文獻:
Griffiths L J, Jim C W. An alternative approach to linear constrained adaptive beamforming[J]. IEEE Trans Antennas & Propag, 1982, 30(1):27-34.