趙小燕 湯 捷 周 琳 吳鎮(zhèn)揚(yáng)
(東南大學(xué)信息科學(xué)與工程學(xué)院,南京 210096)
(東南大學(xué)水聲信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室,南京 210096)
聲源定位在機(jī)器人導(dǎo)航、人機(jī)接口、助聽器、語(yǔ)音分離和語(yǔ)音增強(qiáng)等領(lǐng)域均有重要的應(yīng)用.在這些應(yīng)用中,常會(huì)出現(xiàn)多個(gè)人同時(shí)說(shuō)話的情況,因此要求定位算法能實(shí)現(xiàn)多聲源定位.
多聲源定位問(wèn)題是傳聲器陣列信號(hào)處理中的難點(diǎn)和熱點(diǎn).為解決這一問(wèn)題,研究者們提出了多種算法.Yang等[1]采用廣義互相關(guān)法估計(jì)多個(gè)聲源至傳聲器的時(shí)延差,求解一組線性方程組得到聲源的方位估計(jì),并利用k-means++算法對(duì)連續(xù)多幀的方位估計(jì)聚類,確定聲源個(gè)數(shù)和方向.該算法需要結(jié)合多幀信息,且隨著聲源個(gè)數(shù)的增多,方程個(gè)數(shù)呈指數(shù)增長(zhǎng),導(dǎo)致運(yùn)算量很大.Lombard等[2]使用寬帶獨(dú)立主分量分析法來(lái)最小化統(tǒng)計(jì)相關(guān)性,實(shí)現(xiàn)多聲源的定位.近年來(lái),出現(xiàn)了許多基于語(yǔ)音信號(hào)在時(shí)-頻域上稀疏性的多聲源定位算法[3-7].Cai等[3]提出了一種基于子帶最大可控響應(yīng)功率的多聲源定位算法,但其復(fù)雜度較高.Araki等[4]對(duì)已去除頻率相關(guān)性的歸一化觀測(cè)信號(hào)聚類,利用聚類中心和傳聲器的位置估計(jì)聲源方向.Swartling等[5]先用盲信號(hào)分離法將混合信號(hào)分離,然后用普通單聲源定位法對(duì)各個(gè)分離的信號(hào)進(jìn)行方位估計(jì).文獻(xiàn)[4-5]中的算法必須確保傳聲器陣列的間距足夠小,以避免發(fā)生相位卷繞.Liu等[6]在頻域上分析了2路信號(hào)間的同步性,綜合連續(xù)多幀信息估計(jì)聲源方位,并引入Stencil濾波器來(lái)處理高頻分量的相位卷繞問(wèn)題,但這種濾波器可能造成偽峰值.Zhang等[7]通過(guò)選取高信噪比頻點(diǎn),對(duì)高頻段相位進(jìn)行去卷繞處理,再利用相位差與頻率之間的關(guān)系,采用廣義混合分解算法(GMDA)或廣義硬聚類算法(GHCA)來(lái)估計(jì)每個(gè)聲源的時(shí)延差.GMDA算法需要引入概率密度函數(shù),為相位誤差建立一個(gè)合適的概率模型;GHCA算法則直接采用線性回歸的方法擬合直線.
本文中,通過(guò)對(duì)各頻點(diǎn)的相位差進(jìn)行復(fù)指數(shù)變換,基于語(yǔ)音信號(hào)在時(shí)-頻域的稀疏性,將頻點(diǎn)聚類到各聲源.然后,利用各聲源包含的頻點(diǎn)構(gòu)建代價(jià)函數(shù),利用最小化代價(jià)函數(shù)來(lái)實(shí)現(xiàn)對(duì)聲源時(shí)延差的估計(jì).本文算法充分利用了高頻段的相位信息,無(wú)需對(duì)發(fā)生相位卷繞的頻點(diǎn)進(jìn)行去卷繞處理,定位性能優(yōu)于廣義硬聚類算法.
假設(shè)陣列由2個(gè)傳聲器組成,房間中有L個(gè)聲源,則第i個(gè)傳聲器的接收信號(hào)xi(m)可以表示為
(1)
如果混響聲信號(hào)相對(duì)于接收直達(dá)聲的能量比例足夠低,則可以忽略多徑傳播分量,將式(1)簡(jiǎn)化為
(2)
對(duì)式(2)作短時(shí)傅里葉變換,可得
(3)
式中,Xi(n,k),Sl(n,k)和Vi(n,k)分別為xi(m),sl(m)和vi(m)的短時(shí)傅里葉變換;n為幀索引;k為頻點(diǎn);N為傅里葉變換的長(zhǎng)度.
語(yǔ)音信號(hào)在時(shí)-頻域的稀疏性是指:在時(shí)域上,語(yǔ)音信號(hào)通常有很多停頓或者靜音部分;在頻域上,語(yǔ)音信號(hào)的能量并非均勻地分布在整個(gè)頻段上[8-9].這種稀疏性導(dǎo)致在特定的時(shí)-頻點(diǎn)上通常只有一個(gè)聲源的信號(hào)能量占主導(dǎo)地位.若在第n幀第k個(gè)頻點(diǎn)上,第l個(gè)聲源能量占主導(dǎo)地位,則式(3)可表示為
(4)
式中,Wi(n,k)為傳聲器噪聲及其他聲源信號(hào)的短時(shí)傅里葉變換.
由此可知,2路接收信號(hào)在該時(shí)-頻點(diǎn)的相位差φ12(n,k)主要由第l個(gè)聲源信號(hào)所確定,即
φ12(n,k)=φX1(n,k)-φX2(n,k)≈
(5)
式中,φXi(n,k)為第i個(gè)傳聲器接收信號(hào)的相位;φ12(n,k)為2路接收信號(hào)的相位差;τl,12為第l個(gè)聲源至2個(gè)傳聲器的時(shí)延差,即τl,12=τl,1-τl,2≤τmax,其中τmax=dfs/c為2路接收信號(hào)間的最大離散時(shí)延差,d為傳聲器間距,fs為采樣率,c為聲速.在模2π運(yùn)算后,相位差的取值范圍為[-π, π].
為提高抗噪聲能力,本文選擇信噪比較大的時(shí)-頻點(diǎn)來(lái)進(jìn)行時(shí)延差的估計(jì).信噪比估計(jì)算法有很多,Chen等[10]利用一幀數(shù)據(jù)計(jì)算協(xié)方差矩陣,并根據(jù)該協(xié)方差矩陣估計(jì)每個(gè)頻點(diǎn)的信噪比.如果傳聲器的加性噪聲是白噪聲,則能量較大的時(shí)-頻點(diǎn)即對(duì)應(yīng)信噪比較高的時(shí)-頻點(diǎn).本文僅考慮高斯白噪聲的情況,將每幀信號(hào)各頻點(diǎn)能量從大到小排列,取前30%的數(shù)據(jù)用于時(shí)延差估計(jì)[7].
如果不考慮混響和噪聲,相位差與頻率的關(guān)系可表示為
(6)
(7)
(8)
① 對(duì)2路接收信號(hào)進(jìn)行短時(shí)傅里葉變換,選取信噪比較大的頻點(diǎn),計(jì)算這些頻點(diǎn)的相位差.
③ 令t=t+1,將所有被選取頻點(diǎn)的相位差φ12(n,k)乘以虛數(shù)單位j,然后進(jìn)行復(fù)指數(shù)變換,得到ejφ12(n,k).各頻點(diǎn)歸屬即可表示為
(9)
式(9)表示將φ12(n,k)劃分給第l′個(gè)聲源Sl′,記作k∈Sl′.
利用時(shí)延差與方位角之間的關(guān)系,可得聲源方位角的估計(jì)值為
(10)
假設(shè)只存在1個(gè)聲源,將第i個(gè)傳聲器接收信號(hào)的傅里葉變換記作Xi(k),2路接收信號(hào)的相位差記作φ12(k).不進(jìn)行高信噪比頻點(diǎn)的選取,聲源傳播至2個(gè)傳聲器的假設(shè)時(shí)延差為τ′.則由式(7)可得
(11)
2路接收信號(hào)的GCC-PHAT函數(shù)為
(12)
實(shí)信號(hào)離散傅里葉變換的相位關(guān)于N/2奇對(duì)稱,故2路信號(hào)的相位差也關(guān)于N/2奇對(duì)稱.實(shí)際計(jì)算時(shí)廣義互相關(guān)法只能獲得τ′的離散值,故將式(12)改寫為
(13)
τ′∈[-τmax,τmax]
(14)
因此,如果不進(jìn)行頻點(diǎn)挑選,當(dāng)β=2時(shí),CETOPD算法與GCC-PHAT算法在估計(jì)單聲源至2個(gè)傳聲器的離散時(shí)延差時(shí)是近似等價(jià)的.但是CETOPD算法可以通過(guò)控制τ的搜索步長(zhǎng),獲得所需精度的時(shí)延差估計(jì)值.
在計(jì)算機(jī)仿真環(huán)境中測(cè)試本文算法的定位性能.仿真實(shí)驗(yàn)中,房間尺寸為7 m×6 m×3 m,2個(gè)間距為8 cm的全向傳聲器水平放置,陣列中心位于(3.5 m,2 m,1 m)處.聲源與陣列處于同一水平面內(nèi),距陣列中心2 m.以陣列中心為原點(diǎn),0°方位角代表聲源位于陣列中心的正前方.2個(gè)聲源同時(shí)位于陣列的前半水平面.第1個(gè)聲源的方位角固定為-30°;第2個(gè)聲源的方位角為20°~60°,并以5°為間隔變化(即總共有9種不同方位角情況).語(yǔ)音數(shù)據(jù)從TIMIT語(yǔ)音庫(kù)中隨機(jī)抽取,采樣率為16 kHz.應(yīng)用Image法[11]產(chǎn)生長(zhǎng)度為2 048的房間脈沖響應(yīng),將語(yǔ)音信號(hào)與房間脈沖響應(yīng)卷積,產(chǎn)生混響語(yǔ)音.將2個(gè)聲源的信號(hào)相加,再加上不同比例的高斯白噪聲,產(chǎn)生不同信噪比的語(yǔ)音信號(hào).幀長(zhǎng)為32 ms,幀偏移為16 ms,窗函數(shù)為漢寧窗,除去靜音幀,共有413幀數(shù)據(jù)用于多聲源定位.
算法性能由定位成功率和均方根誤差2項(xiàng)指標(biāo)評(píng)價(jià).每一幀估計(jì)出2個(gè)方位角,若某個(gè)聲源的真實(shí)方位角與其中一個(gè)估計(jì)方位角的誤差在20°以內(nèi),則認(rèn)為此幀估計(jì)該聲源成功.
參數(shù)β的變化范圍為0.2~2.4.若混響時(shí)間T60=0.1 s,信噪比SNR=10,20 dB,β取值不同時(shí)CETOPD算法的性能如圖1所示.由圖可見,β=0.8~1.2時(shí),算法性能較好;相比其他取值,此時(shí)算法的定位成功率較高,均方根誤差較低.這是因?yàn)棣?0.8~1.2時(shí),本文算法既能抑制偏離理想相位差頻點(diǎn)的影響,又能在分辨率和魯棒性之間得到折中.考慮運(yùn)算的復(fù)雜度,后續(xù)實(shí)驗(yàn)中取β=1.
圖1 β取值不同時(shí)CETOPD算法的定位性能
對(duì)比了CETOPD算法與GHCA算法在不同信噪比和混響時(shí)間下的定位性能.信噪比的變化范圍為10~25 dB,T60=0.10,0.25 s.將9種不同位置情況下的定位性能取平均值,結(jié)果見表1.
表1 CETOPD算法與GHCA算法的定位性能比較
由表1可知,在不同的信噪比和混響時(shí)間下,本文算法的定位性能均優(yōu)于GHCA算法.本文算法相對(duì)GHCA算法的定位成功率提升幅度和均方根誤差降低幅度均隨著信噪比的降低而增大.當(dāng)T60=0.10 s時(shí),隨著信噪比由25 dB降至10 dB,本文算法相對(duì)GHCA算法的定位成功率提升幅度由2.72%增至8.07%,均方根誤差降低幅度由0.19°增至0.63°.在低信噪比時(shí),本文算法相對(duì)GHCA算法的性能提高更顯著.
本文算法相對(duì)GHCA算法定位性能的提高幅度隨著混響時(shí)間的增大呈現(xiàn)出下降的趨勢(shì).當(dāng)SNR=10 dB,T60=0.10,0.25 s時(shí),本文算法相對(duì)GHCA算法的定位成功率提升幅度分別為8.07%和4.81%,均方根誤差降低幅度分別為0.63°和0.38°.信噪比相同時(shí),混響增大會(huì)導(dǎo)致本文算法相對(duì)GHCA算法的定位性能提升幅度下降,其原因可能是接收信號(hào)模型中忽略了多徑傳播分量.
利用仿真實(shí)驗(yàn)對(duì)比了本文算法和GHCA算法的收斂速度.實(shí)驗(yàn)結(jié)果顯示,與GHCA算法相比,本文算法所需迭代次數(shù)更少.統(tǒng)計(jì)平均可知,在相同條件下,本文算法需要2~3次迭代,而GHCA算法需要6~7次迭代.
本文提出了一種基于相位差復(fù)指數(shù)變換的傳聲器多聲源定位算法,不僅無(wú)需對(duì)高頻段相位差進(jìn)行去卷繞處理,而且提高了多聲源定位的性能.該算法通過(guò)對(duì)各頻點(diǎn)相位差進(jìn)行復(fù)指數(shù)變換,基于語(yǔ)音信號(hào)在時(shí)-頻域的稀疏性,將頻點(diǎn)聚類到各聲源.然后,對(duì)各聲源包含的頻點(diǎn)構(gòu)建代價(jià)函數(shù)、最小化代價(jià)函數(shù)以估計(jì)時(shí)延差.仿真結(jié)果顯示,參數(shù)β=0.8~1.2時(shí),本文算法的定位性能最好.相比GHCA算法,本文算法具有更高的定位成功率和更低的均方根誤差,且收斂時(shí)所需迭代次數(shù)更少.
)
[1]Yang C H, Hu J S. Estimation of sound source number and directions under a multisource reverberant environment [J].EURASIPJournalonAdvancesinSignalProcessing, 2010,2010: 870756-1-870756-1.
[2]Lombard A, Zheng Y, Buchner H, et al. TDOA estimation for multiple sound sources in noisy and reverberant environments using broadband independent component analysis [J].IEEETransactionsonAudio,SpeechandLanguageProcessing, 2011,19(6): 1490-1503.
[3]Cai Weiping, Zhao Xiaoyan, Wu Zhenyang. Localization of multiple speech sources based on sub-band steered response power [C]//IEEEInternationalConferenceonElectricalandControlEngineering. Wuhan, China, 2010: 1246-1249.
[4]Araki S, Sawada H, Mukai R, et al. DOA estimation for multiple sparse sources with arbitrarily arranged multiple sensors [J].JournalofSignalProcessingSystems, 2009,63(3): 265-275.
[5]Swartling M, Sallberg B, Grbic N. Source localization for multiple speech sources using low complexity non-parametric source separation and clustering [J].SignalProcessing, 2011,91(8): 1781-1788.
[6]Liu C, Wheeler B C, O’Brien J W D, et al. Localization of multiple sound sources with two microphones [J].JournaloftheAcousticalSocietyofAmerica, 2000,108(4): 1888-1905.
[7]Zhang W, Rao B D. A two microphone-based approach for source localization of multiple speech sources [J].IEEETransactionsonAudio,Speech,andLanguageProcessing, 2010,18(8): 1913-1928.
[8]Yilmaz O, Rickard S. Blind separation of speech mixtures via time-frequency masking [J].IEEETransactionsonSignalProcessing, 2004,52(7): 1830-1846.
[9]Aoki M, Okamoto M, Aoki S, et al. Sound source segregation based on estimating incident angle of each frequency component of input signals acquired by multiple microphones [J].AcousticalScienceandTechnology, 2001,22(2): 149-157.
[10]Chen J F, Ser W. Speech detection using microphone array [J].ElectronicsLetters, 2000,36(2): 181-182.
[11]Allen J B, Berkley D A. Image method for efficiently simulating small-room acoustics [J].JournaloftheAcousticalSocietyofAmerica, 1979,65(4): 943-950.