吳 慧,陳衛松
(安徽師范大學 物理與電子信息學院,安徽 蕪湖241000)
麥克風陣列聲源定位技術,作為語音信號處理領域內的一項關鍵性技術,有著廣泛的應用[1]。傳統的聲源定位技術主要包括:基于最大輸出功率的可控波束成形法、基于高分辨率譜估計法和基于時延估計(Time Delay Estimation,TDE)的聲源定位法[2]。相較于前兩種聲源定位算法,基于時延估計的聲源定位算法實時性較好、計算復雜度相對較低且易于實現,因此得到了廣泛應用[3]。
基于時延估計的聲源定位方法主要包括廣義互相關算法、自適應最小均方算法、互功率譜相位法、以及高階統計量法等[4]。因為廣義互相關算法原理較為簡單,計算量較小,一直以來都受到很多研究人員的關注。早期的廣義互相關時延估計的加權函數主要有平滑相干變換(SCOT)加權、相位變換(PHAT)加權、ROTH濾波器加權、最大似然(ML)加權和HB加權等[5-6]。近些年,唐娟等人將兩路信號自相關和互相關的結果再做一次相關,得到二次相關函數,抑制了噪聲的干擾[7]。茅惠達等人基于傳統廣義互相關時延估計,結合相關峰精確插值(FICP)算法,提高了相關函數的分辨率[8]。朱超等人提出了一種基于HB加權函數的廣義二次相關希爾伯特差值時延估計算法,提高了時延準確度,但在低SNR情況受噪聲干擾大[9]。張雷岳、劉超等人將PHAT加權與ML加權相結合,提出一種復合MLP加權函數,該算法增強了對環境噪聲和混響的抑制,提高了時延估計的準確性[10],但復合MLP加權算法的倒數是兩加權函數的倒數之和,計算量會增加,降低了算法的實時性。
本文算法將SCOT加權函數和HB加權函數相結合,構成復合函數廣義加權算法,該算法在接收信號信噪比不高于10 dB的情況下,能夠獲得較高的時延估計正確率,且算法穩定性也得到提高。
時延估計是利用兩路接收信號的互相關函數來估計時間延遲,假設接收信號分別為x(n)和y(n),在無混響的條件下,x(n)和y(n)可表示為:
x(n)=s(n)+vx(n),
(1)
y(n)=s(n-D)+vy(n),
(2)
式中,s(n)表示接收到的聲源信號,v(n)表示陣元接收信號時產生的加性噪聲,D表示兩個接收信號之間的時間延遲。信號x(n)和y(n)的互相關函數Rxy(τ)可表示為:
Rxy(τ)=E[x(n)y(n-τ)],
(3)
從而得到時間延遲的估計值為:
(4)
為了克服基本互相關算法在低信噪比情況下時延估計估計誤差較大的缺點,Knapp和Carter提出了廣義互相關函數的時延估計算法[11],如圖1所示。算法先對兩路接收信號分別進行快速傅里葉變換(FFT),得到兩路信號互相關函數的頻域形式,然后在頻域對互相關函數進行加權計算,得到互功率譜密度函數,將加權計算后得到的結果進行快速傅里葉逆變換(IFFT),轉換成時域形式并進行峰值檢測,將互相關函數峰值對應的時延值作為兩個接收信號的時延差值。

圖1 廣義互相關時延估計算法原理圖Fig.1 Schematic diagram of generalized cross correlation time delay estimation algorithm
圖1中互相關函數的計算過程可表示為:
(5)
式中,Gxy(ω)為信號x(n)和y(n)的互功率譜函數,Sxy(ω)為廣義互相關加權函數。在時延估計過程中,選取不同的加權函數來針對不同類型的干擾,可以有效地抑制噪聲或是混響干擾,從而提高時延估計精度,因此選擇合適的加權函數,對于提高時延估計算法的性能有重要意義。
廣義SCOT加權函數的表達式為:
(6)
該加權函數同時兼顧兩路接收信號,克服了相關函數峰值拓寬而產生虛假峰值的影響。但當兩路信號的功率譜密度相等時,會拓寬相關函數的峰值,產生虛假峰值而導致錯誤估計。
廣義HB加權函數的表達式為:
(7)
該加權函數對互功率譜密度除以兩個接收信號的自功率譜密度,以輸入信號的自功率譜進行歸一化處理,起到對輸入聲源信號預白化濾波的改進作用。除此之外,該加權函數與聲源信號的互功率譜密度函數做乘積,增強了信號功率譜密度中聲源信號的有用成分,因此整個加權函數的誤差可以減小。
以上兩種加權函數在低信噪比的時候,算法性能急劇下降,為了改善時延估計算法在低信噪比情況下的性能,本文提出一種改進的廣義聯合加權函數,記為SCOT-HB復合加權算法。加權函數表達式為:
(8)
式中,Sxx(ω)和Syy(ω)分別為信號x(n)和y(n)的自功率譜,Sxy(ω)為信號x(n)和y(n)的互功率譜。為了提高信號中高信噪比部分的能量,抑制低信噪比部分的能量,在加權函數分子項加入模平方相干函數|γxy(ω)|2,其表達式為:
(9)
模平方相干函數包含兩路語音信號的互相關,在信號較小時,權值相應減小,噪聲得到抑制。其中0≤α≤1,為常系數,其作用是控制模平方相干函數的強弱。由于加權函數在信號能量微弱時分母會接近零,使得該加權函數很大產生較大誤差,所以在加權函數分母項加入一個常數β,且β≥0,以保證分母不會趨近于零,達到控制算法誤差的目的。
忽略參數α和β,式(9)代入式(8)可簡化為:
φSCOT(ω)·φHB(ω),
(10)
因此改進算法從本質上看是對廣義SCOT加權函數和廣義HB加權函數的一種聯合加權。
為了對比分析廣義SCOT加權函數、廣義HB加權函數以及SCOT-HB聯合加權函數的互相關時延估計波形性能。選取TIMIT標準庫里TEXT測試庫里編號為FAKS0-SA2.WAV的語音,信號采樣頻率為16 000 Hz,每幀采樣點為600,幀移同幀長為600,仿真選取第45幀,延時點數為20。仿真計算不考慮混響的影響,添加的噪聲為高斯白噪聲。
如圖2所示,當信噪比SNR=5 dB時,廣義SCOT和廣義HB加權函數都可以準確估計出時延值,但次峰幅度較大、對峰值的干擾明顯,本文算法SCOT-HB的互相關函數峰值更尖銳、次峰幅度較小。

(a) SCOT互相關

(b) HB互相關

(c) SCOT-HB互相關
當信噪比降低到SNR=0 dB時,如圖3所示,廣義SCOT和廣義HB加權函數時延估計均受次峰的干擾嚴重,不能準確的估計出時延值,而本文算法SCOT-HB仍具有較大的峰值、且次峰干擾較小。

(a) SCOT互相關

(b) HB互相關

(c) SCOT-HB互相關
以上仿真結果表明,SCOT-HB聯合加權函數相較于廣義SCOT加權函數和廣義HB加權函數,可以明顯地抑制互相關函數的次峰干擾,突出互相關函數的主峰值,在較低的信噪比條件下能更準確估計出時延值,進而提高時延估計的正確率。
為了更加清楚的分析本文算法SCOT-HB聯合加權函數的優勢,對比分析廣義SCOT加權函數、HB加權函數以及SCOT-HB加權函數三種算法隨信噪比變化的歸一化曲線,如圖4所示。因為仿真中添加的是隨機噪聲,所以圖4中每次仿真廣義SCOT加權和廣義HB加權的結果差別很大,但是相同條件下SCOT-HB加權的結果一直會處于一個平穩的變化中。所以本文算法把廣義SCOT加權和廣義HB加權相結合,不但更多的抑制了噪聲,還提高了算法的穩定性。

圖4 3種加權函數隨信噪比改變而改變的加權 函數的數值關系Fig.4 Numerical relationship of three weighting functions changing with signal-to-noise ratio
圖4中廣義SCOT加權和廣義HB加權曲線重合,是因為來自同一聲源的兩路信號相關性較高,因此兩種加權函數值的差別很小,仿真結果表明,當未歸一化前的數據精確到小數點后第10位時,圖4中廣義SCOT加權和廣義HB加權曲線才出現差異。
為了驗證本文算法的時延估計性能,對本文算法進行Matlab仿真實驗。信號源為TIMIT標準庫里TEXT測試庫內編號為FAKS0-SA2.WAV的語音,采樣率為16 000 Hz,通過語音端點檢測去掉無聲段,每幀采樣點為600,幀移同幀長為600,參與計算的幀數量為86幀,延時點數為20,信號中添加高斯白噪聲。
關于參數α和β的取值,在存在噪聲和混響的環境下對本文算法進行參數范圍取值分析,仿真發現在不同語音信號、信噪比、平均次數、混響時間等環境下,當參數α在0.02附近、β在1.0附近取值時,算法的正確率較高、均方根誤差值較小,因此仿真分析中選取α=0.02、β=1.0。
時延估計算法的性能通常用時延估計正確率NAC和均方根誤差值σRMSE來衡量算法的估計精度和穩定性[12]。正確率的表達式為:
(11)
式中,Ncor為正確估計的次數,Nsum為總估計次數。均方根誤差值的表達式為:
(12)
式中,τ0為真實時延值,τi為信號傳播后的第i個時延值,N為時間延遲估計試驗的總次數。
研究表明ML加權函數對于噪聲干擾魯棒性較強,PHAT加權函數對于混響干擾有較強抑制作用,復合MLP算法是對PHAT加權函數和ML加權函數的改進,彌補了原算法不能同時抑制噪聲干擾和混響干擾的不足。該算法的表達式為[13]:
(13)
該算法中的q值大小對正確率的影響至關重要,而且在不同混響時間時所對應的q值也不一樣。仿真中q的最優值為0.5。MLP算法從本質上看是對廣義PHAT加權函數和廣義ML加權函數的一種復合加權。
在不同的信噪比下,每幀信號做50次仿真,得出峰值對應的延遲點數,根據峰值對應的延遲點數取平均值。由于選取的信號源采樣率不高,對時延估計的精度有一定影響,因此誤差率設定為20%,即時延估計值和時延真實值之間偏離在4個采樣點以內,則認為結果在誤差率允許范圍內,視為一次正確估計,時延估計正確率如圖5所示。

圖5 時延估計正確率隨信噪比變化比較Fig.5 Comparison of time delay estimation accuracy with signal-to-noise ratio
從圖5可以看出,隨著信噪比逐漸提高,幾種算法的時延估計正確率都在逐漸增加。本文算法的時延估計正確率最高,信噪比在5 dB時,比另外兩種算法的正確率高20%左右。MLP算法的正確率不如HB加權算法,是因為MLP算法的合適應用場景是噪聲和混響都存在的情況,而上述仿真沒有加入混響。
對語音信號分別進行N=50次不同算法仿真,比較信噪比在0~10 dB時不同算法的均方根誤差值,仿真結果如圖6所示。

圖6 時延估計均方根誤差值隨信噪比變化比較Fig.6 Comparison of root mean square error of time delay estimation with signal-to-noise ratio
從圖6可以看出,隨著信噪比逐漸提高,幾種算法的時延估計均方根誤差值都在逐漸減小。本文算法的均方根誤差值最小,時延估計穩定性最好,信噪比為5 dB時本文算法的均方根誤差值在0.25 ms左右,而另外兩種算法的均方根誤差值在0.35 ms左右。HB加權函數的均方根誤差值最大,時延估計穩定性最差,MLP算法的均方根誤差值次之。
考慮混響環境下的仿真,混響仿真環境與上述仿真環境一致?;祉懩P筒捎肁llen和Berkley等人提出的鏡像源模型(ISM)[14-15]。房間尺寸為[6.0 m4.0 m3.0 m],兩個麥克風的坐標分別為[0.8 m1.5 m1.5 m]和[1.9 m1.5 m1.5 m],聲源位置為[2.1 m2.2 m2 m]。當混響時間為0.5 s時,幾種算法的時延估計正確率變化如圖7所示,均方根誤差值變化如圖8所示。

圖7 混響時間為0.5 s時時延估計正確率隨信噪比變化Fig.7 Comparison of time delay estimation accuracy with signal-to-noise ratio when reverberation time is 0.5 s
從圖7可以看出,混響條件下,隨著信噪比逐漸提高,幾種算法的時延估計正確率都在逐漸增加,在0~10 dB時HB加權函數的時延估計正確率不高于另外兩種算法。本文算法的時延估計正確率在信噪比高于4 dB時較另外兩種算法好,MLP算法在信噪比低于4 dB時正確率最高,但隨著信噪比增加正確率不如本文算法。
如圖8所示,混響條件下,隨著信噪比逐漸提高,幾種算法的時延估計均方根誤差值都在逐漸減小,在0~10 dB時HB加權函數的均方根誤差值最大,時延估計穩定性最差,MLP算法的時延估計穩定性次之,本文算法的均方根誤差值最小,穩定性最好。

圖8 混響時間為0.5 s時時延估計均方根誤差值 隨信噪比變化Fig.8 Comparison of root mean square error of time delay estimation with signal-to-noise ratio when the reverberation time is 0.5 s
在低信噪比環境下,廣義互相關時延估計算法時延估計正確率減小、均方根誤差值增大,為了提高算法性能,本文提出一種復合加權廣義互相關時延估計算法,將SCOT加權函數和HB加權函數相結合。仿真結果表明,在信噪比不高于10 dB的低信噪比情況下,本文算法與復合MLP加權算法相比計算量更少,時延估計的穩定性也有所提升,正確率可以提高20%左右;甚至在信噪比不高于5 dB的情況下,正確率依舊可以提高18%左右,但在混響存在的條件下,本文算法的均方根誤差值高于MLP加權算法。