吳 慧,陳衛(wèi)松
(安徽師范大學(xué) 物理與電子信息學(xué)院,安徽 蕪湖241000)
麥克風(fēng)陣列聲源定位技術(shù),作為語音信號(hào)處理領(lǐng)域內(nèi)的一項(xiàng)關(guān)鍵性技術(shù),有著廣泛的應(yīng)用[1]。傳統(tǒng)的聲源定位技術(shù)主要包括:基于最大輸出功率的可控波束成形法、基于高分辨率譜估計(jì)法和基于時(shí)延估計(jì)(Time Delay Estimation,TDE)的聲源定位法[2]。相較于前兩種聲源定位算法,基于時(shí)延估計(jì)的聲源定位算法實(shí)時(shí)性較好、計(jì)算復(fù)雜度相對(duì)較低且易于實(shí)現(xiàn),因此得到了廣泛應(yīng)用[3]。
基于時(shí)延估計(jì)的聲源定位方法主要包括廣義互相關(guān)算法、自適應(yīng)最小均方算法、互功率譜相位法、以及高階統(tǒng)計(jì)量法等[4]。因?yàn)閺V義互相關(guān)算法原理較為簡單,計(jì)算量較小,一直以來都受到很多研究人員的關(guān)注。早期的廣義互相關(guān)時(shí)延估計(jì)的加權(quán)函數(shù)主要有平滑相干變換(SCOT)加權(quán)、相位變換(PHAT)加權(quán)、ROTH濾波器加權(quán)、最大似然(ML)加權(quán)和HB加權(quán)等[5-6]。近些年,唐娟等人將兩路信號(hào)自相關(guān)和互相關(guān)的結(jié)果再做一次相關(guān),得到二次相關(guān)函數(shù),抑制了噪聲的干擾[7]。茅惠達(dá)等人基于傳統(tǒng)廣義互相關(guān)時(shí)延估計(jì),結(jié)合相關(guān)峰精確插值(FICP)算法,提高了相關(guān)函數(shù)的分辨率[8]。朱超等人提出了一種基于HB加權(quán)函數(shù)的廣義二次相關(guān)希爾伯特差值時(shí)延估計(jì)算法,提高了時(shí)延準(zhǔn)確度,但在低SNR情況受噪聲干擾大[9]。張雷岳、劉超等人將PHAT加權(quán)與ML加權(quán)相結(jié)合,提出一種復(fù)合MLP加權(quán)函數(shù),該算法增強(qiáng)了對(duì)環(huán)境噪聲和混響的抑制,提高了時(shí)延估計(jì)的準(zhǔn)確性[10],但復(fù)合MLP加權(quán)算法的倒數(shù)是兩加權(quán)函數(shù)的倒數(shù)之和,計(jì)算量會(huì)增加,降低了算法的實(shí)時(shí)性。
本文算法將SCOT加權(quán)函數(shù)和HB加權(quán)函數(shù)相結(jié)合,構(gòu)成復(fù)合函數(shù)廣義加權(quán)算法,該算法在接收信號(hào)信噪比不高于10 dB的情況下,能夠獲得較高的時(shí)延估計(jì)正確率,且算法穩(wěn)定性也得到提高。
時(shí)延估計(jì)是利用兩路接收信號(hào)的互相關(guān)函數(shù)來估計(jì)時(shí)間延遲,假設(shè)接收信號(hào)分別為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)表示接收到的聲源信號(hào),v(n)表示陣元接收信號(hào)時(shí)產(chǎn)生的加性噪聲,D表示兩個(gè)接收信號(hào)之間的時(shí)間延遲。信號(hào)x(n)和y(n)的互相關(guān)函數(shù)Rxy(τ)可表示為:
Rxy(τ)=E[x(n)y(n-τ)],
(3)
從而得到時(shí)間延遲的估計(jì)值為:
(4)
為了克服基本互相關(guān)算法在低信噪比情況下時(shí)延估計(jì)估計(jì)誤差較大的缺點(diǎn),Knapp和Carter提出了廣義互相關(guān)函數(shù)的時(shí)延估計(jì)算法[11],如圖1所示。算法先對(duì)兩路接收信號(hào)分別進(jìn)行快速傅里葉變換(FFT),得到兩路信號(hào)互相關(guān)函數(shù)的頻域形式,然后在頻域?qū)ハ嚓P(guān)函數(shù)進(jìn)行加權(quán)計(jì)算,得到互功率譜密度函數(shù),將加權(quán)計(jì)算后得到的結(jié)果進(jìn)行快速傅里葉逆變換(IFFT),轉(zhuǎn)換成時(shí)域形式并進(jìn)行峰值檢測,將互相關(guān)函數(shù)峰值對(duì)應(yīng)的時(shí)延值作為兩個(gè)接收信號(hào)的時(shí)延差值。
圖1 廣義互相關(guān)時(shí)延估計(jì)算法原理圖Fig.1 Schematic diagram of generalized cross correlation time delay estimation algorithm
圖1中互相關(guān)函數(shù)的計(jì)算過程可表示為:
(5)
式中,Gxy(ω)為信號(hào)x(n)和y(n)的互功率譜函數(shù),Sxy(ω)為廣義互相關(guān)加權(quán)函數(shù)。在時(shí)延估計(jì)過程中,選取不同的加權(quán)函數(shù)來針對(duì)不同類型的干擾,可以有效地抑制噪聲或是混響干擾,從而提高時(shí)延估計(jì)精度,因此選擇合適的加權(quán)函數(shù),對(duì)于提高時(shí)延估計(jì)算法的性能有重要意義。
廣義SCOT加權(quán)函數(shù)的表達(dá)式為:
(6)
該加權(quán)函數(shù)同時(shí)兼顧兩路接收信號(hào),克服了相關(guān)函數(shù)峰值拓寬而產(chǎn)生虛假峰值的影響。但當(dāng)兩路信號(hào)的功率譜密度相等時(shí),會(huì)拓寬相關(guān)函數(shù)的峰值,產(chǎn)生虛假峰值而導(dǎo)致錯(cuò)誤估計(jì)。
廣義HB加權(quán)函數(shù)的表達(dá)式為:
(7)
該加權(quán)函數(shù)對(duì)互功率譜密度除以兩個(gè)接收信號(hào)的自功率譜密度,以輸入信號(hào)的自功率譜進(jìn)行歸一化處理,起到對(duì)輸入聲源信號(hào)預(yù)白化濾波的改進(jìn)作用。除此之外,該加權(quán)函數(shù)與聲源信號(hào)的互功率譜密度函數(shù)做乘積,增強(qiáng)了信號(hào)功率譜密度中聲源信號(hào)的有用成分,因此整個(gè)加權(quán)函數(shù)的誤差可以減小。
以上兩種加權(quán)函數(shù)在低信噪比的時(shí)候,算法性能急劇下降,為了改善時(shí)延估計(jì)算法在低信噪比情況下的性能,本文提出一種改進(jìn)的廣義聯(lián)合加權(quán)函數(shù),記為SCOT-HB復(fù)合加權(quán)算法。加權(quán)函數(shù)表達(dá)式為:
(8)
式中,Sxx(ω)和Syy(ω)分別為信號(hào)x(n)和y(n)的自功率譜,Sxy(ω)為信號(hào)x(n)和y(n)的互功率譜。為了提高信號(hào)中高信噪比部分的能量,抑制低信噪比部分的能量,在加權(quán)函數(shù)分子項(xiàng)加入模平方相干函數(shù)|γxy(ω)|2,其表達(dá)式為:
(9)
模平方相干函數(shù)包含兩路語音信號(hào)的互相關(guān),在信號(hào)較小時(shí),權(quán)值相應(yīng)減小,噪聲得到抑制。其中0≤α≤1,為常系數(shù),其作用是控制模平方相干函數(shù)的強(qiáng)弱。由于加權(quán)函數(shù)在信號(hào)能量微弱時(shí)分母會(huì)接近零,使得該加權(quán)函數(shù)很大產(chǎn)生較大誤差,所以在加權(quán)函數(shù)分母項(xiàng)加入一個(gè)常數(shù)β,且β≥0,以保證分母不會(huì)趨近于零,達(dá)到控制算法誤差的目的。
忽略參數(shù)α和β,式(9)代入式(8)可簡化為:
φSCOT(ω)·φHB(ω),
(10)
因此改進(jìn)算法從本質(zhì)上看是對(duì)廣義SCOT加權(quán)函數(shù)和廣義HB加權(quán)函數(shù)的一種聯(lián)合加權(quán)。
為了對(duì)比分析廣義SCOT加權(quán)函數(shù)、廣義HB加權(quán)函數(shù)以及SCOT-HB聯(lián)合加權(quán)函數(shù)的互相關(guān)時(shí)延估計(jì)波形性能。選取TIMIT標(biāo)準(zhǔn)庫里TEXT測試庫里編號(hào)為FAKS0-SA2.WAV的語音,信號(hào)采樣頻率為16 000 Hz,每幀采樣點(diǎn)為600,幀移同幀長為600,仿真選取第45幀,延時(shí)點(diǎn)數(shù)為20。仿真計(jì)算不考慮混響的影響,添加的噪聲為高斯白噪聲。
如圖2所示,當(dāng)信噪比SNR=5 dB時(shí),廣義SCOT和廣義HB加權(quán)函數(shù)都可以準(zhǔn)確估計(jì)出時(shí)延值,但次峰幅度較大、對(duì)峰值的干擾明顯,本文算法SCOT-HB的互相關(guān)函數(shù)峰值更尖銳、次峰幅度較小。
(a) SCOT互相關(guān)
(b) HB互相關(guān)
(c) SCOT-HB互相關(guān)
當(dāng)信噪比降低到SNR=0 dB時(shí),如圖3所示,廣義SCOT和廣義HB加權(quán)函數(shù)時(shí)延估計(jì)均受次峰的干擾嚴(yán)重,不能準(zhǔn)確的估計(jì)出時(shí)延值,而本文算法SCOT-HB仍具有較大的峰值、且次峰干擾較小。
(a) SCOT互相關(guān)
(b) HB互相關(guān)
(c) SCOT-HB互相關(guān)
以上仿真結(jié)果表明,SCOT-HB聯(lián)合加權(quán)函數(shù)相較于廣義SCOT加權(quán)函數(shù)和廣義HB加權(quán)函數(shù),可以明顯地抑制互相關(guān)函數(shù)的次峰干擾,突出互相關(guān)函數(shù)的主峰值,在較低的信噪比條件下能更準(zhǔn)確估計(jì)出時(shí)延值,進(jìn)而提高時(shí)延估計(jì)的正確率。
為了更加清楚的分析本文算法SCOT-HB聯(lián)合加權(quán)函數(shù)的優(yōu)勢,對(duì)比分析廣義SCOT加權(quán)函數(shù)、HB加權(quán)函數(shù)以及SCOT-HB加權(quán)函數(shù)三種算法隨信噪比變化的歸一化曲線,如圖4所示。因?yàn)榉抡嬷刑砑拥氖请S機(jī)噪聲,所以圖4中每次仿真廣義SCOT加權(quán)和廣義HB加權(quán)的結(jié)果差別很大,但是相同條件下SCOT-HB加權(quán)的結(jié)果一直會(huì)處于一個(gè)平穩(wěn)的變化中。所以本文算法把廣義SCOT加權(quán)和廣義HB加權(quán)相結(jié)合,不但更多的抑制了噪聲,還提高了算法的穩(wěn)定性。
圖4 3種加權(quán)函數(shù)隨信噪比改變而改變的加權(quán) 函數(shù)的數(shù)值關(guān)系Fig.4 Numerical relationship of three weighting functions changing with signal-to-noise ratio
圖4中廣義SCOT加權(quán)和廣義HB加權(quán)曲線重合,是因?yàn)閬碜酝宦曉吹膬陕沸盘?hào)相關(guān)性較高,因此兩種加權(quán)函數(shù)值的差別很小,仿真結(jié)果表明,當(dāng)未歸一化前的數(shù)據(jù)精確到小數(shù)點(diǎn)后第10位時(shí),圖4中廣義SCOT加權(quán)和廣義HB加權(quán)曲線才出現(xiàn)差異。
為了驗(yàn)證本文算法的時(shí)延估計(jì)性能,對(duì)本文算法進(jìn)行Matlab仿真實(shí)驗(yàn)。信號(hào)源為TIMIT標(biāo)準(zhǔn)庫里TEXT測試庫內(nèi)編號(hào)為FAKS0-SA2.WAV的語音,采樣率為16 000 Hz,通過語音端點(diǎn)檢測去掉無聲段,每幀采樣點(diǎn)為600,幀移同幀長為600,參與計(jì)算的幀數(shù)量為86幀,延時(shí)點(diǎn)數(shù)為20,信號(hào)中添加高斯白噪聲。
關(guān)于參數(shù)α和β的取值,在存在噪聲和混響的環(huán)境下對(duì)本文算法進(jìn)行參數(shù)范圍取值分析,仿真發(fā)現(xiàn)在不同語音信號(hào)、信噪比、平均次數(shù)、混響時(shí)間等環(huán)境下,當(dāng)參數(shù)α在0.02附近、β在1.0附近取值時(shí),算法的正確率較高、均方根誤差值較小,因此仿真分析中選取α=0.02、β=1.0。
時(shí)延估計(jì)算法的性能通常用時(shí)延估計(jì)正確率NAC和均方根誤差值σRMSE來衡量算法的估計(jì)精度和穩(wěn)定性[12]。正確率的表達(dá)式為:
(11)
式中,Ncor為正確估計(jì)的次數(shù),Nsum為總估計(jì)次數(shù)。均方根誤差值的表達(dá)式為:
(12)
式中,τ0為真實(shí)時(shí)延值,τi為信號(hào)傳播后的第i個(gè)時(shí)延值,N為時(shí)間延遲估計(jì)試驗(yàn)的總次數(shù)。
研究表明ML加權(quán)函數(shù)對(duì)于噪聲干擾魯棒性較強(qiáng),PHAT加權(quán)函數(shù)對(duì)于混響干擾有較強(qiáng)抑制作用,復(fù)合MLP算法是對(duì)PHAT加權(quán)函數(shù)和ML加權(quán)函數(shù)的改進(jìn),彌補(bǔ)了原算法不能同時(shí)抑制噪聲干擾和混響干擾的不足。該算法的表達(dá)式為[13]:
(13)
該算法中的q值大小對(duì)正確率的影響至關(guān)重要,而且在不同混響時(shí)間時(shí)所對(duì)應(yīng)的q值也不一樣。仿真中q的最優(yōu)值為0.5。MLP算法從本質(zhì)上看是對(duì)廣義PHAT加權(quán)函數(shù)和廣義ML加權(quán)函數(shù)的一種復(fù)合加權(quán)。
在不同的信噪比下,每幀信號(hào)做50次仿真,得出峰值對(duì)應(yīng)的延遲點(diǎn)數(shù),根據(jù)峰值對(duì)應(yīng)的延遲點(diǎn)數(shù)取平均值。由于選取的信號(hào)源采樣率不高,對(duì)時(shí)延估計(jì)的精度有一定影響,因此誤差率設(shè)定為20%,即時(shí)延估計(jì)值和時(shí)延真實(shí)值之間偏離在4個(gè)采樣點(diǎn)以內(nèi),則認(rèn)為結(jié)果在誤差率允許范圍內(nèi),視為一次正確估計(jì),時(shí)延估計(jì)正確率如圖5所示。
圖5 時(shí)延估計(jì)正確率隨信噪比變化比較Fig.5 Comparison of time delay estimation accuracy with signal-to-noise ratio
從圖5可以看出,隨著信噪比逐漸提高,幾種算法的時(shí)延估計(jì)正確率都在逐漸增加。本文算法的時(shí)延估計(jì)正確率最高,信噪比在5 dB時(shí),比另外兩種算法的正確率高20%左右。MLP算法的正確率不如HB加權(quán)算法,是因?yàn)镸LP算法的合適應(yīng)用場景是噪聲和混響都存在的情況,而上述仿真沒有加入混響。
對(duì)語音信號(hào)分別進(jìn)行N=50次不同算法仿真,比較信噪比在0~10 dB時(shí)不同算法的均方根誤差值,仿真結(jié)果如圖6所示。
圖6 時(shí)延估計(jì)均方根誤差值隨信噪比變化比較Fig.6 Comparison of root mean square error of time delay estimation with signal-to-noise ratio
從圖6可以看出,隨著信噪比逐漸提高,幾種算法的時(shí)延估計(jì)均方根誤差值都在逐漸減小。本文算法的均方根誤差值最小,時(shí)延估計(jì)穩(wěn)定性最好,信噪比為5 dB時(shí)本文算法的均方根誤差值在0.25 ms左右,而另外兩種算法的均方根誤差值在0.35 ms左右。HB加權(quán)函數(shù)的均方根誤差值最大,時(shí)延估計(jì)穩(wěn)定性最差,MLP算法的均方根誤差值次之。
考慮混響環(huán)境下的仿真,混響仿真環(huán)境與上述仿真環(huán)境一致?;祉懩P筒捎肁llen和Berkley等人提出的鏡像源模型(ISM)[14-15]。房間尺寸為[6.0 m4.0 m3.0 m],兩個(gè)麥克風(fēng)的坐標(biāo)分別為[0.8 m1.5 m1.5 m]和[1.9 m1.5 m1.5 m],聲源位置為[2.1 m2.2 m2 m]。當(dāng)混響時(shí)間為0.5 s時(shí),幾種算法的時(shí)延估計(jì)正確率變化如圖7所示,均方根誤差值變化如圖8所示。
圖7 混響時(shí)間為0.5 s時(shí)時(shí)延估計(jì)正確率隨信噪比變化Fig.7 Comparison of time delay estimation accuracy with signal-to-noise ratio when reverberation time is 0.5 s
從圖7可以看出,混響條件下,隨著信噪比逐漸提高,幾種算法的時(shí)延估計(jì)正確率都在逐漸增加,在0~10 dB時(shí)HB加權(quán)函數(shù)的時(shí)延估計(jì)正確率不高于另外兩種算法。本文算法的時(shí)延估計(jì)正確率在信噪比高于4 dB時(shí)較另外兩種算法好,MLP算法在信噪比低于4 dB時(shí)正確率最高,但隨著信噪比增加正確率不如本文算法。
如圖8所示,混響條件下,隨著信噪比逐漸提高,幾種算法的時(shí)延估計(jì)均方根誤差值都在逐漸減小,在0~10 dB時(shí)HB加權(quán)函數(shù)的均方根誤差值最大,時(shí)延估計(jì)穩(wěn)定性最差,MLP算法的時(shí)延估計(jì)穩(wěn)定性次之,本文算法的均方根誤差值最小,穩(wěn)定性最好。
圖8 混響時(shí)間為0.5 s時(shí)時(shí)延估計(jì)均方根誤差值 隨信噪比變化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
在低信噪比環(huán)境下,廣義互相關(guān)時(shí)延估計(jì)算法時(shí)延估計(jì)正確率減小、均方根誤差值增大,為了提高算法性能,本文提出一種復(fù)合加權(quán)廣義互相關(guān)時(shí)延估計(jì)算法,將SCOT加權(quán)函數(shù)和HB加權(quán)函數(shù)相結(jié)合。仿真結(jié)果表明,在信噪比不高于10 dB的低信噪比情況下,本文算法與復(fù)合MLP加權(quán)算法相比計(jì)算量更少,時(shí)延估計(jì)的穩(wěn)定性也有所提升,正確率可以提高20%左右;甚至在信噪比不高于5 dB的情況下,正確率依舊可以提高18%左右,但在混響存在的條件下,本文算法的均方根誤差值高于MLP加權(quán)算法。