柳雷雷 于玲
摘要:針對相位變換加權(quán)可控響應(yīng)功率算法(SRP-PHAT)在噪聲和混響增大時定位性能下降以及運(yùn)算量大的問題,提出了一種基于改進(jìn)可控響應(yīng)功率算法的混合定位算法。首先利用五元十字形陣進(jìn)行幾何定位,得到粗略的定位結(jié)果,然后利用引入基于倒譜預(yù)濾波的二次互相關(guān)算法改進(jìn)后的可控響應(yīng)功率算法,在此定位結(jié)果的基礎(chǔ)上進(jìn)行精確的二次定位,通過雙步定位提高其定位速度。仿真結(jié)果表明:混合定位算法在抗混響和抗噪聲的能力上要優(yōu)于幾何定位算法和SRP-PHAT算法,并且提高了可控響應(yīng)功率算法的定位速度。
關(guān)鍵詞:倒譜預(yù)濾波;二次互相關(guān);混合定位;相位變換加權(quán)可控響應(yīng)功率
中圖分類號:TN911.7? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)35-0001-04
Hybrid Localization Algorithm Based on Improved Steered Response Power
LIU Lei-lei,YU Ling
(College of Electronic and Information Engineering, Liaoning University of Technology,Jingzhou 121001,China)
Abstract: Aiming at the problem that the phase transformation weighted steered response power algorithm has the poor positioning effect when the noise and reverberation increase and heavy computation, a hybrid localization algorithm based on improved steered response power algorithm is proposed. The five-element cross-shaped array is first used for geometric localization. A rough localization result is obtained. Then use the improved steered response power algorithm by introducing the second cross-correlation algorithm based on cepstral pre-filtering to search twice based on the localization result. Improve its positioning speed through two-step positioning. Simulation results show that: the hybrid localization algorithm is superior to the geometric localization algorithm and phase transformation weighted steered response power algorithm in terms of anti-reverberation and anti-noise ability. And the positioning speed of the steered response power algorithm is improved.
Key words: cepstral pre-filtering; second cross-correlation; hybrid localization; phase transformation weighted steered response power
基于麥克風(fēng)陣列的聲源定位技術(shù)是使用麥克風(fēng)陣列作為工具對目標(biāo)聲源進(jìn)行定位,具有良好隱蔽性、裝置易實現(xiàn)、抗干擾性好的優(yōu)點(diǎn),在安防監(jiān)控[1]、智能音箱[2]、無人機(jī)[3]、機(jī)器人[4]、助聽器[5]等方面有很好的應(yīng)用。
傳統(tǒng)的聲源定位算法可以大致分為兩類:直接法和間接法。直接法有:高分辨率譜估計法,其中代表性的是多重信號分類法;可控波束形成法,其中代表性的是可控響應(yīng)功率法。間接法有到達(dá)時間差法,該方法是雙步定位,第一步是時延估計,方法有相關(guān)法、自適應(yīng)時延估計法等;第二步是根據(jù)所得時延建立非線性定位方程,通過對其求解得到聲源的位置,方法有球型插值法[6]、幾何定位法等。幾何定位算法的特點(diǎn)是運(yùn)算量小但是定位精度不高,相位變換加權(quán)可控響應(yīng)功率算法雖然定位精度高但運(yùn)算量大,同時當(dāng)噪聲和混響增大時定位精度有所下降,因此本文將幾何定位算法和改進(jìn)的可控響應(yīng)功率算法相結(jié)合,提出了一種混合定位算法。
1基于倒譜預(yù)濾波的二次互相關(guān)算法
在實際環(huán)境中麥克風(fēng)接收到的語音信號表達(dá)式為:
[xi=hi(n)?s(n-τ)+vi(n)]? ? ? ? ? ? ? ? ? ? ? ?(1)
其中[hi(n)]為房間單位沖激響應(yīng),[s(n)]為聲源信號,[vi(n)]是高斯白噪聲。
本文采用基于倒譜預(yù)濾波的二次互相關(guān)算法進(jìn)行時延估計,該算法的原理框圖如圖1所示,具體步驟如下:
(1)首先對[x1(n)]和[x2(n)]分別求傅里葉變換得到[X1(f)]和[X2(f)];
(2)分別對[X1(f)]和[X2(f)]的絕對值取對數(shù)得到[lnX1(f)]和[lnX2(f)],然后再分別做傅里葉逆變換得到倒譜[c1(n)]和[c2(n)];
(3)分別將倒譜[c1(n)]和[c2(n)]通過同態(tài)濾波器可以得到兩個信號的最小相位分量的倒譜[cmin1(n)]和[cmin2(n)];
(4)分別對兩個最小相位分量的倒譜[cmin1(n)]和[cmin2(n)]的傅里葉變換做指數(shù)運(yùn)算得到兩個信號的最小相位分量頻譜[Xmin1(f)]和[Xmin2(f)];
(5)利用以下兩個式子可以得到兩路輸入信號的全通分量頻譜[Xall1(f)]和[Xall2(f)],即:
[Xall1(f)=X1(f)Xmin1(f)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
[Xall2(f)=X2(f)Xmin2(f)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
(6)然后對[Xall1(f)]求自相關(guān)功率譜,即:
[Xall11(f)=Xall1(f)Xall1*(f)]? ? ? ? ? ? ? ? ? ? ? ?(4)
(7)然后求取[Xall1(f)]和[Xall2(f)]的互相關(guān)功率譜,即:
[Xall21(f)=Xall2(f)Xall1*(f)]? ? ? ? ? ? ? ? ? ? ? ? ? (5)
(8)對[Xall11(f)]和[Xall21(f)]求二次互相關(guān)功率譜,即:
[Y(f)=Xall21(f)Xall11*(f)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
(9)對相位變換加權(quán)函數(shù)進(jìn)行改進(jìn),用二次互相關(guān)功率譜[Y(f)]代替兩路輸入信號的互功率譜,引入與噪聲和混響有關(guān)的加權(quán)因子,并在引入加權(quán)因子的二次互功率譜之后做加1處理。改進(jìn)后的PHAT加權(quán)函數(shù)為:
[?21(f)=1Y(f)0.75+1]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
(10)二次互相關(guān)功率譜[Y(f)]和加權(quán)函數(shù)[?21(f)]相乘后做傅里葉逆變換得到二次互相關(guān)函數(shù)[Rdr21(τ)];
(11)對[Rdr21(τ)]進(jìn)行峰值檢測得到時延[τ21],即:
[τ21=argmaxτRdr21(τ)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(8)
2 幾何定位算法
幾何定位法,即利用聲源和麥克風(fēng)陣列之間的幾何關(guān)系建立并求解方程組從而得到聲源位置的方法。本文選用的是五元十字形麥克風(fēng)陣列,其結(jié)構(gòu)如圖2所示,原點(diǎn)在中心陣元M1處,在x軸和y軸上對稱分布著其他四個陣元M2、M3、M4、M5。設(shè)各陣元的間隔為d/2,則五個麥克風(fēng)的位置坐標(biāo)分別為M1(0,0,0),M2(d/2,0,0),M3(0,d/2,0),M4(-d/2,0,0),M5(0,-d/2,0),聲源的位置坐標(biāo)為S([x],[y],[z])。[r1]、[r2]、[r3]、[r4]、[r5]分別是聲源到達(dá)五個麥克風(fēng)M1、M2、M3、M4、M5的傳播距離,根據(jù)聲源與各個麥克風(fēng)的位置關(guān)系可以得到以下方程組:
[x2+y2+z2=r21(x-d2)2+y2+z2=r22x2+(y-d2)2+z2=r23(x+d2)+y2+z2=r24x2+(y+d2)2+z2=r25]? ? ? ? ? ? ? ? ? ? ? ? (9)
其中[r1]、[r2]、[r3]、[r4]、[r5]的之間的關(guān)系如下:
[r2-r1=cτ21r3-r1=cτ31r4-r1=cτ41r5-r1=cτ51]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)
[τ21]、[τ31]、[τ41]、[τ51]分別是以M1為參考陣元,聲源傳播到麥克風(fēng)M1和M2、M3、M4、M5的時延。
球坐標(biāo)與直角坐標(biāo)相互轉(zhuǎn)化的公式為:
[x=r1sinθcosφy=r1sinθsinφz=r1cosθ]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)
聯(lián)立(9)(10)(11)可得到在球坐標(biāo)系下聲源的位置坐標(biāo),即:
[r1=d2-c2i=25τ2i12ci=25τi1φ=arctan(τ51-τ31τ41-τ21)? ? ? ? ? ? ? ? ? ? ?θ=arcsin(cd(τ41-τ21)2+(τ51-τ31)2)](12)
然后利用公式(11)便可求出聲源在直角坐標(biāo)系下的位置坐標(biāo)。
3 基于改進(jìn)可控響應(yīng)功率算法的混合定位算法
2000年,DiBiase提出了SRP-PHAT算法,該算法首先獲取每個麥克風(fēng)對的互相關(guān)函數(shù),然后在空間網(wǎng)格上搜索源位置。對于具有M個麥克風(fēng)的陣列來說,SRP-PHAT算法的頻域表達(dá)式為[7]:
[P(q)=k=1Ml=k+1M-∞∞?kl(f)Xk(f)X*l(f)ejf(τl-τk)df]? ? ? (13)
式中[q]表示所求聲源可能存在的一個空間域集合,[?kl]表示相位變換加權(quán)函數(shù),[Xk]和[Xl]分別表示第k個和第l個麥克風(fēng)接收信號的傅里葉變換。
則時域表達(dá)式為:
[P(q)=2πk=1Ml=k+1MRkl(τl-τk)]? ? ? ? ? ? ? ? ? (14)
式中[Rkl(τl-τk)]是第k個和第l個麥克風(fēng)接收信號的互相關(guān)函數(shù)。
通過在所有的空間范圍內(nèi)搜索[P(q)]的最大值來找到聲源的位置,即:
[qs^=argmaxqP(q)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(15)
SRP-PHAT算法對混響和噪聲有一定的魯棒性,但是當(dāng)環(huán)境噪聲和混響增大時,便會在錯誤的位置處產(chǎn)生一些偽峰,這些偽峰的出現(xiàn)使對應(yīng)真正聲源位置的相關(guān)峰不再那么明顯,造成該算法的定位性能下降,所以為了進(jìn)一步提高該算法抗混響和抗噪聲的性能,在此基礎(chǔ)上提出了一種改進(jìn)的可控響應(yīng)功率算法,命名為SRP-dr定位算法。
基于倒譜預(yù)濾波的二次互相關(guān)算法結(jié)合了倒譜預(yù)濾波時延估計算法抗混響和二次互相關(guān)算法抗噪聲的優(yōu)點(diǎn),同時又與改進(jìn)的引入加權(quán)因子的相位變換加權(quán)函數(shù)相結(jié)合,所以該算法不僅可以很好地抗混響也可以很好地抗噪聲,將其所得的二次互相關(guān)函數(shù)引入到可控響應(yīng)功率算法中,則改進(jìn)后的可控響應(yīng)功率算法時域表達(dá)式為:
[P(q)=2πk=1Ml=k+1MRdrkl(τ)]? ? ? ? ? ? ? ? ? ? ?(16)
式中[Rdrkl(τ)]是第[k]個和第[l]個麥克風(fēng)接收信號的二次互相關(guān)函數(shù),通過基于倒譜預(yù)濾波的二次互相關(guān)算法求得。
改進(jìn)后的SRP-dr定位算法雖然在噪聲和混響增大時的環(huán)境下提高了定位精度,但是該算法仍然是對整個空間的全局搜索尋找可控響應(yīng)功率的最大值,仍然存在運(yùn)算量大,速度較慢的缺點(diǎn)。受文獻(xiàn)[8]的啟發(fā),考慮到幾何定位算法是通過求解非線性方程組得到聲源的坐標(biāo)位置,存在運(yùn)算量較小但是定位精度不高的特點(diǎn),針對SRP-dr定位算法和幾何定位算法的特點(diǎn)將兩者相結(jié)合提出了一種基于SRP-dr的混合定位算法。該算法分為求取時延和定位兩個部分,其中定位部分又分為兩步來進(jìn)行,具體步驟如下:
(1)首先利用基于倒譜預(yù)濾波的二次互相關(guān)算法求出參考陣元與其他四個麥克風(fēng)之間的時延[τ]以及五個麥克風(fēng)兩兩之間的二次互相關(guān)函數(shù)[Rdrkl(τ)]。
(2)然后利用所得時延用運(yùn)算量較小的基于五元十字形麥克風(fēng)陣列的幾何定位算法大致找到聲源的位置([xs],[ys],[zs]),這是第一步的粗略定位。
(3)然后在幾何定位的結(jié)果坐標(biāo)四周預(yù)設(shè)的一個范圍內(nèi)使用SRP-dr算法進(jìn)行二次定位,在空間范圍內(nèi)搜索[P(q)]的最大值求出聲源的精確位置,這是第二步的精細(xì)定位,預(yù)設(shè)的范圍可以大致用下式來確定:
[x=[xs-a,xs+a]y=[ys-a,ys+a]z=[zs-a,zs+a]]? ? ? ? ? ? ? ? ? ? ? ?(17)
其中a的取值范圍為0.5~1.5,在實驗中根據(jù)幾何定位的結(jié)果選取,保證真實聲源在二次定位搜索的空間范圍內(nèi),并使搜索范圍不超過房間的范圍。從式中可以看出混合定位算法的搜索區(qū)域明顯減小,在搜索步長一定時搜索的網(wǎng)格數(shù)減少,所以運(yùn)行速度會得到提高。
SRP-dr定位算法的提出主要為了提高在噪聲和混響增大時環(huán)境下的定位效果,這是因為該算法引入了基于倒譜預(yù)濾波的二次互相關(guān)算法,將其所得到的更加抗混響和抗噪聲的二次互相關(guān)函數(shù)代替相位變換加權(quán)廣義互相關(guān)函數(shù)。二次互相關(guān)函數(shù)是由二次互相關(guān)功率譜與改進(jìn)后的PHAT加權(quán)函數(shù)相乘之后做傅里葉逆變換求得,而二次互相關(guān)功率譜又是由含有較少混響成分的全通分量頻譜求二次互相關(guān)所得,改進(jìn)的加權(quán)函數(shù)中又引入了與噪聲和混響有關(guān)的加權(quán)因子,因此SRP-dr定位算法具有抗噪聲和抗混響的特性。而基于SRP-dr的混合定位算法的提出則是為了在保證定位精度的同時減小運(yùn)算量,由粗定位得到的結(jié)果可以估計出一個大概的空間搜索范圍,再到精定位時在縮小的空間范圍內(nèi)進(jìn)行局部搜索有效減小了運(yùn)算量,所以由粗到精的雙步定位提高了可控響應(yīng)功率算法的定位速度,該算法同時也對幾何定位算法精度低的缺點(diǎn)進(jìn)行了彌補(bǔ)。
4 仿真實驗
為了驗證本文所提出的混合定位算法在噪聲和混響環(huán)境下的定位效果,下面通過MATLAB軟件仿真來進(jìn)行驗證,實驗采用鏡像法生成房間脈沖響應(yīng),模擬一個實際帶有混響的環(huán)境,房間尺寸大小為長9米寬8米高4米,五元十字陣各個麥克風(fēng)位置坐標(biāo)分別為:(1,1,0)、(2,1,0)、(1,2,0)、(0,1,0)、(1,0,0)。單個聲源采用的是一段女生朗讀的語音,位置坐標(biāo)為(5,7,2.5)。
本文以定位誤差為指標(biāo)來判斷定位算法的好壞與否,其計算公式如下:
[RMSE=(x-xs)2+(y-ys)2+(z-zs)2]? ? ? ? ? ? ? ? ? (18)
式中的([x],[y],[z])是聲源真正的位置坐標(biāo),([xs],[ys],[zs])是使用定位算法找到的聲源位置坐標(biāo)。定位誤差的大小直接反映了所得的估計值和真實值之間的偏差,誤差值越小說明估計值和真實值之間就越接近,定位的結(jié)果越準(zhǔn)確。
實驗一:驗證在信噪比一定時不同墻壁反射系數(shù)下三種算法的定位效果。
三種算法在信噪比為15dB,墻壁反射系數(shù)為0.2到0.6的范圍內(nèi),每種條件下各做200次的重復(fù)實驗,將所得的定位坐標(biāo)求取平均值,可以得到如表1所示的定位結(jié)果,根據(jù)各自的定位結(jié)果將估計值代入到公式(18)中便可得到各自的定位誤差。如圖3所示是在信噪比一定時,不同反射系數(shù)下三種算法的定位誤差曲線,可以看到三種算法隨著反射系數(shù)的增大定位誤差均呈現(xiàn)逐漸增大的上升趨勢,其中幾何定位算法的誤差最大,SRP-PHAT算法的定位誤差次之,混合定位算法的誤差最小,因此可以看出本文算法在抗混響方面要優(yōu)于前兩者,對混響有更強(qiáng)的魯棒性,可以在混響環(huán)境下得到較前兩者更精確的定位結(jié)果。
實驗二:驗證在反射系數(shù)一定時不同信噪比下三種算法的定位效果。
同理三種算法在墻壁反射系數(shù)為0.1,信噪比為4到10dB時,各條件下分別重復(fù)進(jìn)行200次的實驗,將得到的定位坐標(biāo)求取平均值,可以得到如表2所示的定位結(jié)果,根據(jù)定位結(jié)果利用公式(18)計算出定位誤差。如圖4所示是在反射系數(shù)一定時,不同信噪比下三種算法的定位誤差曲線,可以看出三種算法隨著信噪比的增大定位誤差均呈現(xiàn)逐漸減小的下降趨勢,而本文提出的混合定位算法的誤差要明顯小于幾何定位算法和SRP-PHAT算法,因此可以看出本文算法在抗噪聲方面要優(yōu)于前兩者,對噪聲有更強(qiáng)的魯棒性,可以在噪聲環(huán)境下得到較前兩者更精確的定位結(jié)果。
實驗三:比較三種算法的程序運(yùn)行時間。
在同一臺電腦上運(yùn)行三種算法的程序來進(jìn)一步比較三種算法的運(yùn)行時間。如表3所示幾何定位算法的運(yùn)行時間為2.031s,在搜索步長為0.11米的條件下,SRP-PHAT算法對整個房間進(jìn)行搜索,平均所需時間為7.578s,混合定位算法的搜索區(qū)域減小,平均所需時間為2.241s??梢钥吹絊RP-PHAT算法的運(yùn)行時間最長,混合定位算法的時間次之,幾何定位算法的時間最短,這是因為混合定位算法的運(yùn)行時間是幾何定位的粗定位時間與二次搜索精定位時間的加和,故其運(yùn)行時間要比幾何定位算法的時間長,但是相對于SRP-PHAT算法來說,在搜索步長一定的情況下混合定位算法所搜索的空間網(wǎng)格數(shù)要少于SRP-PHAT算法,故其整體運(yùn)行時間要少于SRP-PHAT算法,在運(yùn)行速度上得到一定提升。
5結(jié)論
幾何定位算法運(yùn)算量小但是定位精度不高,SRP-PHAT算法定位精度雖高但是運(yùn)算量大,同時當(dāng)環(huán)境噪聲和混響增大時定位精度下降,針對這兩種算法的特點(diǎn)將其結(jié)合提出了一種基于改進(jìn)可控響應(yīng)功率算法的混合定位算法。仿真實驗中選取了不同的信噪比和不同的墻壁反射系數(shù),通過定位誤差大小來分析比較三種算法的定位效果。實驗結(jié)果證明了所提出的混合定位算法在噪聲和混響的環(huán)境下的定位誤差要明顯小于幾何定位算法和SRP-PHAT算法,而且在運(yùn)算速度上要快于SRP-PHAT算法。
參考文獻(xiàn):
[1] 王桂君,蔣蓁.基于STM32的室內(nèi)安防監(jiān)控系統(tǒng)設(shè)計[J].自動化儀表,2020,41(7):65-68.
[2] 張家琪, 王沅召, 黃俊煒, 等. 一種控制智能家居設(shè)備的方法、裝置和音響[P]. 中國專利,2020109290433. 2021-01-05.
[3] 馮仕軒.基于麥克風(fēng)陣列的無人機(jī)定位方法研究[D].西安:西安電子科技大學(xué),2019.
[4] 王昊.基于聲達(dá)時間差的移動機(jī)器人聲源定位方法研究[D].青島:青島科技大學(xué),2020.
[5] 鄭洋,唐加能,柳培忠,等.數(shù)字助聽器研究現(xiàn)狀及其算法綜述[J].海峽科學(xué),2016(7):14-17.
[6] 陳藝.室內(nèi)三麥克風(fēng)樹的聲音定位數(shù)學(xué)模型[J].電子世界,2020(13):89-92.
[7] 譚穎,殷福亮,李細(xì)林.改進(jìn)的SRP-PHAT聲源定位方法[J].電子與信息學(xué)報,2006,28(7):1223-1227.
[8] 盧艷美.基于分布式麥克風(fēng)陣列的聲源定位方法研究[D].大連:大連理工大學(xué),2017.
【通聯(lián)編輯:唐一東】