文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.173520
中文引用格式: 喬健,王建明. 抑制風(fēng)噪聲的頻點離散值加權(quán)GCC-PHAT時延估計算法[J].電子技術(shù)應(yīng)用,2018,44(3):72-76,80.
英文引用格式: Qiao Jian,Wang Jianming. GCC-PHAT time difference estimation algorithm based on binary frequency weight with suppressing wind noise[J]. Application of Electronic Technique,2018,44(3):72-76,80.
0 引言
準(zhǔn)確定位聲源是移動設(shè)備進(jìn)行聽覺場景分析的首要步驟,其結(jié)果對后續(xù)混合聲源分離、聲源辨識、語音識別有直接影響。延時求和波束形成[1]技術(shù)在進(jìn)行聲源定位時已被廣泛使用,需要使用信號到達(dá)麥克風(fēng)陣列中不同麥克風(fēng)的時間差值(Time Difference Of Arrival,TDOA)。而相位變換廣義互相關(guān)(Generalized Cross Correlation-Phase Transform,GCC-PHAT)算法具有很短的判決時延和較好的跟蹤能力,適用于低混響環(huán)境,是常用的TDOA估計算法。
VALIN J M提出了一種使用遞歸方法計算權(quán)值的改進(jìn)的GCC-PHAT算法[2],即連續(xù)值頻點加權(quán)GCC-PHAT算法,來提高原算法對加性噪聲的魯棒性。連續(xù)權(quán)值計算需要使用最小值控制遞歸平均[3](Minimum Controlled Recursive Averaging,MCRA)算法估計噪聲,但MCRA算法在噪聲變化后需要適應(yīng)時間調(diào)整參數(shù)[4],因而對于加性非平穩(wěn)間或噪聲,使用連續(xù)權(quán)值的加權(quán)方法無法消除其干擾,最終導(dǎo)致TDOA估計錯誤。因此本文在頻點加權(quán)GCC-PHAT算法的基礎(chǔ)上,利用接收信號中風(fēng)噪聲與聲源信號頻點間相干性差異,提出一種頻點離散值加權(quán)GCC-PHAT算法,以消除風(fēng)噪聲及背景噪聲對TDOA估計的干擾。實驗結(jié)果表明,相較原算法,新算法的結(jié)果可靠性和運算效率都明顯提高。
1 互相關(guān)算法估計信號時差
1.1 場景聲學(xué)模型
設(shè)聲源信號在存在加性噪聲的混響環(huán)境中傳播,由麥克風(fēng)陣列接收。加性噪聲由背景噪聲和風(fēng)噪聲組成。風(fēng)噪聲是一種特殊的非平穩(wěn)噪聲,由麥克風(fēng)薄膜表面湍流產(chǎn)生,導(dǎo)致接收信號產(chǎn)生嚴(yán)重畸變。背景噪聲在聲學(xué)環(huán)境中近似為遠(yuǎn)場聲源產(chǎn)生的彌漫性噪聲。聲源信號與風(fēng)噪聲及背景噪聲等加性噪聲不相關(guān)。
設(shè)n為信號時域采樣序號,m為陣列中麥克風(fēng)編號,s(n)為聲源信號,hm(n)是聲源到麥克風(fēng)m之間的房間系統(tǒng)沖擊響應(yīng)序列,wm(n)表示風(fēng)噪聲,bm(n)為背景噪聲信號。背景噪聲不需要考慮混響,則麥克風(fēng)m接收信號ym(n)表示為:
1.2 頻點加權(quán)GCC-PHAT算法
接收信號在整個時間域上非平穩(wěn)。利用接收信號短時平穩(wěn)特性,通過短時傅里葉變換,將分幀后信號變換到時頻域分析[5]。選擇長度為N的海寧窗h(n)對接收信號分幀,減小信號幀間頻率截斷效應(yīng)。設(shè)信號幀間步進(jìn)長度為ΔN個采樣間隔,則接收信號第l幀表示為ym(lΔN+n),其傅里葉變換結(jié)果為:
2 離散值頻點加權(quán)GCC-PHAT算法
2.1 離散頻點權(quán)值
VALIN J M等人提出的頻點連續(xù)權(quán)值計算基于先驗信噪比(Signal-to-Noise Ratio,SNR)估計。頻點k對應(yīng)的連續(xù)權(quán)值為:
式中,為MCRA算法所得噪聲功率譜估計。
連續(xù)權(quán)值是關(guān)于信噪比的單調(diào)函數(shù),值域為[0,1],用soft mask表示,取值如圖1所示。
頻點連續(xù)權(quán)值計算依賴噪聲功率譜估計和信號相鄰幀間信噪值連續(xù)性。比較風(fēng)噪聲和語音信號瞬時功率隨時間的變化曲線,可以看出風(fēng)噪聲時域變化特性強(qiáng)于語音信號[6]?,F(xiàn)有語音增強(qiáng)算法均默認(rèn)噪聲變化慢于語音,故對于包含風(fēng)噪聲的信號,上述方法無法得出先驗信噪比。且連續(xù)權(quán)值取值為[0,1],當(dāng)聲源信號受噪聲嚴(yán)重干擾(SNR<0)時,信號頻點對應(yīng)權(quán)值大于零,加權(quán)后信號仍然保留噪聲成分,導(dǎo)致最終TDOA估計出錯。本文在已有頻點加權(quán)方法基礎(chǔ)上提出一種使用頻點離散權(quán)值的風(fēng)噪聲抑制算法。新權(quán)值是關(guān)于信號頻點相干值的函數(shù),不依賴噪聲估計,且只取離散值0和1,完全消除含噪頻點對TDOA估計結(jié)果的干擾。新權(quán)值用wind mask表示。
風(fēng)噪聲由麥克風(fēng)表面的湍流產(chǎn)生,不同麥克風(fēng)間風(fēng)噪聲頻點無相干性。但對于同一聲源信號,陣列中麥克風(fēng)的接收信號在各頻點上都具有高相干性。引入相干譜值(Magnitude Squared Coherence,MSC),對信號各頻點間相干性大小進(jìn)行量化:
式中,Pm1m2、Pm1m1、Pm2m2分別為麥克風(fēng)m1、m2信號的互功率譜密度和自功率譜密度。
MSC值反映了不同信號在頻點k上的相干程度。如圖2所示,對于近場平穩(wěn)聲源的兩路信號,在信號存在頻率范圍內(nèi),MSC值在1附近,而在風(fēng)噪聲存在的低頻區(qū)域,MSC值始終分布在0附近。圖3為包含風(fēng)噪聲的1幀信號MSC取值。在風(fēng)噪聲存在的低頻范圍,信號各頻點處0≤MSC≤1,且包含噪聲成分越多,MSC取值越小。風(fēng)噪聲頻率范圍外信號各頻點MSC接近1。但背景噪聲間也具有相干性[7],其MSC取值滿足式(8),其中dm1m2為麥克風(fēng)之間距離。因此使用相干差異消除風(fēng)噪聲干擾前需要預(yù)先消除背景噪聲。
分析不同類型信號發(fā)現(xiàn),只有無噪聲干擾的近場平穩(wěn)聲源信號,各頻點間MSC值始終接近1。其余信號頻點MSC取值在[0,1]內(nèi)。因此可以利用信號間頻點的相干值檢測噪聲,并通過加權(quán)方式只保留信號中未受干擾頻點。上述結(jié)論數(shù)學(xué)表達(dá)如式(9)所示,其中θwind為相干值閾值。
不同于連續(xù)頻點權(quán)值計算基于單路信號,新權(quán)值計算同時基于2路信號,則式(3)可以表示為:
2.2 預(yù)增強(qiáng)信號
MCRA算法避免了信號活躍性檢測方法在低信噪和無聲段因高誤檢率引起的錯誤估計。但MCRA算法在固定長度時間窗內(nèi)搜索頻帶功率譜最小值,產(chǎn)生噪聲估計滯后。本文提出一種連續(xù)時域上的當(dāng)前功率譜最小值搜索方法,提高估計速度。在搜索功率譜最小值前,先做如下時域遞歸平滑獲得平滑功率譜值:
由于噪聲先驗概率比為單調(diào)函數(shù),根據(jù)Bayes最小風(fēng)險代價判決準(zhǔn)則,MCRA算法使用信號功率譜與其局部最小值的比值Sr(l,k)與固定閾值δ比較,判決頻點是否包含信號分量,計算信號存在概率。但是固定閾值δ僅適用于平穩(wěn)噪聲情況,對包含非平穩(wěn)噪聲情況判決不敏感。根據(jù)信號頻率分布特性:風(fēng)噪聲分布在中低頻率區(qū)域,中高頻部分為包含背景噪聲的聲源信號,新算法選擇如下分段閾值δ(k):
2.3 算法運算負(fù)載分析
移動設(shè)備計算資源有限,對算法實時性也有要求,故必須考慮算法運算量。對于包含M個麥克風(fēng)的陣列,使用頻點加權(quán)GCC-PHAT算法估計TDOA,信號每幀均需要執(zhí)行M次FFT和M(M-1)/2次IFFT操作。為簡化分析,假設(shè)傅里葉正、逆變換運算量相同,則M個麥克風(fēng)的陣列估計TDOA運算量記為(M2+M)/2次運算,復(fù)雜度為O(M2),故隨著陣列中麥克風(fēng)個數(shù)增加,算法運算量快速上升。
3 實驗結(jié)果分析與對比
3.1 實驗參數(shù)
本部分將在不同測試條件下比較不同頻點加權(quán)GCC-PHAT算法性能。表1給出算法對應(yīng)參數(shù)。為確保時頻變換后獲取接收信號全部頻率成分,設(shè)置fs為48 000 Hz;接收信號每幀包含的采樣點數(shù)N對應(yīng)信號時長在20 ms~30 ms,窗序列設(shè)置為相同長度;為保持平穩(wěn)信號幀間的連續(xù)性,設(shè)幀步進(jìn)ΔN=N/2,即幀間50%重疊;c為20 ℃、101.1 kPa條件下聲速;ε是接近0的小數(shù),避免實際應(yīng)用中式(11)結(jié)果溢出;判決閾值θwind、θD、θmin取值依據(jù)多次實驗結(jié)果確定。根據(jù)表1中參數(shù),算法引入延遲Δl·ΔN/fs=32 ms。在人機(jī)語音交互中,這種量級的時間延遲可以忽略。
基于IMAGE方法[9],計算尺寸為10 m×8 m×3.5 m的混響房間模型的沖激響應(yīng)序列。選擇一段7 s的語音作為目標(biāo)聲源信號,卷積沖激序列模擬信號的混響效果。目前沒有語料庫提供相應(yīng)的風(fēng)噪聲信號,需要通過實驗采集。信號采集使用一對匹配全指向拜亞動力MM1麥克風(fēng),模擬氣流由空氣壓縮機(jī)產(chǎn)生。以房間一角作為坐標(biāo)原點建立直角坐標(biāo)系,聲源及麥克風(fēng)位置見表2。i、j、k為x、y、z軸單位向量。
3.2 算法性能指標(biāo)
3.3 結(jié)果分析
圖5、圖6分別為混響環(huán)境(RT60=200 ms)中的含噪(SNR=5 dB)信號的語譜圖以及不同頻點加權(quán)方法權(quán)值分布。圖5(a)顯示風(fēng)噪聲集中在信號低頻區(qū)域,且隨時間快速變化。MCRA算法不能準(zhǔn)確估計風(fēng)噪聲,因此圖5(b)中頻點取的連續(xù)權(quán)值在低頻區(qū)域值接近1,對含風(fēng)噪聲頻點無衰減,含噪信號頻點被帶入相關(guān)值計算。圖6(a)中噪聲功率譜估計曲線顯示,對于平穩(wěn)噪聲,因頻帶上的信號功率通常衰減的最小值接近噪聲功率值,故基于最小值統(tǒng)計的算法消除平穩(wěn)背景噪聲效果好。但對于快速變化噪聲,算法設(shè)計依據(jù)決定估計值會產(chǎn)生滯后,增強(qiáng)的信號仍包含風(fēng)噪聲。同時表明信號增強(qiáng)方法不能消除風(fēng)噪聲干擾。本文提出算法對應(yīng)權(quán)值分布如圖6(b)所示,判斷并直接去除信號低頻范圍內(nèi)受干擾頻點(權(quán)值為0),只保留強(qiáng)相干性頻點(權(quán)值為1)。風(fēng)噪聲頻率范圍外中高頻區(qū)域的信號頻點則盡量保留,帶入相關(guān)值計算。
圖7為上述實驗條件中使用不同權(quán)值的GCC-PHAT算法估計TDOA結(jié)果統(tǒng)計。實驗結(jié)果表明,不加權(quán)和使用連續(xù)權(quán)值的GCC-PHAT算法估計值統(tǒng)計峰值均在τc(Delay=-3)處,對應(yīng)位置聲源為麥克風(fēng)表面湍流。只有使用wind mask權(quán)值加權(quán)的GCC-PHAT算法估計結(jié)果集中分布在τt(Delay=-18)附近,對應(yīng)位置為目標(biāo)聲源,滿足應(yīng)用要求。
表3為不同混響、信噪比測試條件下,不同頻點加權(quán)GCC-PHAT算法估計TDOA結(jié)果可靠性(Tpq)及運算負(fù)載(Lpq)對比。實際場景中,風(fēng)噪聲特殊的產(chǎn)生方式?jīng)Q定其必定對信號干擾嚴(yán)重。如在低混響(RT60=0)、低信噪(SNR=0 dB)環(huán)境中,使用wind mask加權(quán)算法估計結(jié)果對應(yīng)Tpq=54.2%,優(yōu)于使用連續(xù)權(quán)值(31.2%)和不加權(quán)(20.1%)的GCC-PHAT算法。存在混響的低信噪環(huán)境(RT60=200 ms,SNR=0 dB)中,使用wind mask加權(quán)的算法結(jié)果對應(yīng)Tpq下降至48.6%,仍優(yōu)于其他加權(quán)算法。盡管新的加權(quán)算法在混響情況下運算量有所增加,但均顯著低于其他已有算法。實驗證明,存在風(fēng)噪聲干擾的場景中,使用本文提出算法所得結(jié)果更加可靠,運算量也更小。
4 結(jié)論
通過GCC-PHAT算法估計TDOA值帶入波束成形算法是定位聲源的常用方法。本文針對已有GCC-PHAT算法無法消除風(fēng)噪聲干擾問題原因進(jìn)行分析,并通過對目標(biāo)信號和噪聲信號時頻特性研究,提出一種基于信號間頻點相干性差異的頻點離散值加權(quán)GCC-PHAT算法。實驗表明,相較使用基于信噪比估計的連續(xù)值頻點加權(quán)算法,本文提出的方法所得結(jié)果準(zhǔn)確可靠,運算量小,具有一定的工程實用價值。
參考文獻(xiàn)
[1] BADALI A,VALIN J M,MICHAUD F,et al.Evaluating real-time audio localization algorithms for artificial audition in robotics[C].IEEE/RSJ International Conference on Intelligent Robots and Systems,2009,IROS 2009,IEEE,2009:2033-2038.
[2] VALIN J M,MICHAUD F,ROUAT J.Robust localization and tracking of simultaneous moving sound sources using beamforming and particle filtering[J].Robotics and Autonomous Systems,2007,55(3):216-228.
[3] COHEN I,BERDUGO B.Noise estimation by minima controlled recursive averaging for robust speech enhancement[J].IEEE Signal Processing Letters,2002,9(1):12-15.
[4] 夏丙寅,鮑長春.適應(yīng)噪聲強(qiáng)度突變的噪聲估計加速方法[J].信號處理,2013,29(10):1336-1345.
[5] 宋知用.MATLAB在語音信號分析與合成中的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013.
[6] NELKE C M,VARY P.Measurement, analysis and simulation of wind noise signals for mobile communication devices[C].2014 14th International Workshop on Acoustic Signal Enhancement(IWAENC),IEEE,2014:327-331.
[7] NELKE C M,VARY P.Dual microphone wind noise reduction by exploiting the complex coherence[C].Proceedings of Speech Communication,11.ITG Symposium,VDE,2014:1-4.
[8] LOIZOU P C.語音增強(qiáng)-理論與實踐[M].高毅,肖莉,鄧方,譯.成都:電子科技大學(xué)出版社,2012.
[9] 武曉光,郭天文.基于房間沖激響應(yīng)的聲學(xué)模型的建立和仿真[J].微電子學(xué)與計算機(jī),2014(4):56-59.
作者信息:
喬 健,王建明
(南京工業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京211816)