柳雷雷 于玲
摘要:針對相位變換加權(quán)可控響應功率算法(SRP-PHAT)在噪聲和混響增大時定位性能下降以及運算量大的問題,提出了一種基于改進可控響應功率算法的混合定位算法。首先利用五元十字形陣進行幾何定位,得到粗略的定位結(jié)果,然后利用引入基于倒譜預濾波的二次互相關(guān)算法改進后的可控響應功率算法,在此定位結(jié)果的基礎上進行精確的二次定位,通過雙步定位提高其定位速度。仿真結(jié)果表明:混合定位算法在抗混響和抗噪聲的能力上要優(yōu)于幾何定位算法和SRP-PHAT算法,并且提高了可控響應功率算法的定位速度。
關(guān)鍵詞:倒譜預濾波;二次互相關(guān);混合定位;相位變換加權(quán)可控響應功率
中圖分類號:TN911.7? ? ? 文獻標識碼: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
基于麥克風陣列的聲源定位技術(shù)是使用麥克風陣列作為工具對目標聲源進行定位,具有良好隱蔽性、裝置易實現(xiàn)、抗干擾性好的優(yōu)點,在安防監(jiān)控[1]、智能音箱[2]、無人機[3]、機器人[4]、助聽器[5]等方面有很好的應用。
傳統(tǒng)的聲源定位算法可以大致分為兩類:直接法和間接法。直接法有:高分辨率譜估計法,其中代表性的是多重信號分類法;可控波束形成法,其中代表性的是可控響應功率法。間接法有到達時間差法,該方法是雙步定位,第一步是時延估計,方法有相關(guān)法、自適應時延估計法等;第二步是根據(jù)所得時延建立非線性定位方程,通過對其求解得到聲源的位置,方法有球型插值法[6]、幾何定位法等。幾何定位算法的特點是運算量小但是定位精度不高,相位變換加權(quán)可控響應功率算法雖然定位精度高但運算量大,同時當噪聲和混響增大時定位精度有所下降,因此本文將幾何定位算法和改進的可控響應功率算法相結(jié)合,提出了一種混合定位算法。
1基于倒譜預濾波的二次互相關(guān)算法
在實際環(huán)境中麥克風接收到的語音信號表達式為:
[xi=hi(n)?s(n-τ)+vi(n)]? ? ? ? ? ? ? ? ? ? ? ?(1)
其中[hi(n)]為房間單位沖激響應,[s(n)]為聲源信號,[vi(n)]是高斯白噪聲。
本文采用基于倒譜預濾波的二次互相關(guā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ù)運算得到兩個信號的最小相位分量頻譜[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ù)進行改進,用二次互相關(guān)功率譜[Y(f)]代替兩路輸入信號的互功率譜,引入與噪聲和混響有關(guān)的加權(quán)因子,并在引入加權(quán)因子的二次互功率譜之后做加1處理。改進后的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(τ)]進行峰值檢測得到時延[τ21],即:
[τ21=argmaxτRdr21(τ)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(8)
2 幾何定位算法
幾何定位法,即利用聲源和麥克風陣列之間的幾何關(guān)系建立并求解方程組從而得到聲源位置的方法。本文選用的是五元十字形麥克風陣列,其結(jié)構(gòu)如圖2所示,原點在中心陣元M1處,在x軸和y軸上對稱分布著其他四個陣元M2、M3、M4、M5。設各陣元的間隔為d/2,則五個麥克風的位置坐標分別為M1(0,0,0),M2(d/2,0,0),M3(0,d/2,0),M4(-d/2,0,0),M5(0,-d/2,0),聲源的位置坐標為S([x],[y],[z])。[r1]、[r2]、[r3]、[r4]、[r5]分別是聲源到達五個麥克風M1、M2、M3、M4、M5的傳播距離,根據(jù)聲源與各個麥克風的位置關(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為參考陣元,聲源傳播到麥克風M1和M2、M3、M4、M5的時延。
球坐標與直角坐標相互轉(zhuǎn)化的公式為:
[x=r1sinθcosφy=r1sinθsinφz=r1cosθ]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)
聯(lián)立(9)(10)(11)可得到在球坐標系下聲源的位置坐標,即:
[r1=d2-c2i=25τ2i12ci=25τi1φ=arctan(τ51-τ31τ41-τ21)? ? ? ? ? ? ? ? ? ? ?θ=arcsin(cd(τ41-τ21)2+(τ51-τ31)2)](12)
然后利用公式(11)便可求出聲源在直角坐標系下的位置坐標。
3 基于改進可控響應功率算法的混合定位算法
2000年,DiBiase提出了SRP-PHAT算法,該算法首先獲取每個麥克風對的互相關(guān)函數(shù),然后在空間網(wǎng)格上搜索源位置。對于具有M個麥克風的陣列來說,SRP-PHAT算法的頻域表達式為[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個麥克風接收信號的傅里葉變換。
則時域表達式為:
[P(q)=2πk=1Ml=k+1MRkl(τl-τk)]? ? ? ? ? ? ? ? ? (14)
式中[Rkl(τl-τk)]是第k個和第l個麥克風接收信號的互相關(guān)函數(shù)。
通過在所有的空間范圍內(nèi)搜索[P(q)]的最大值來找到聲源的位置,即:
[qs^=argmaxqP(q)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(15)
SRP-PHAT算法對混響和噪聲有一定的魯棒性,但是當環(huán)境噪聲和混響增大時,便會在錯誤的位置處產(chǎn)生一些偽峰,這些偽峰的出現(xiàn)使對應真正聲源位置的相關(guān)峰不再那么明顯,造成該算法的定位性能下降,所以為了進一步提高該算法抗混響和抗噪聲的性能,在此基礎上提出了一種改進的可控響應功率算法,命名為SRP-dr定位算法。
基于倒譜預濾波的二次互相關(guān)算法結(jié)合了倒譜預濾波時延估計算法抗混響和二次互相關(guān)算法抗噪聲的優(yōu)點,同時又與改進的引入加權(quán)因子的相位變換加權(quán)函數(shù)相結(jié)合,所以該算法不僅可以很好地抗混響也可以很好地抗噪聲,將其所得的二次互相關(guān)函數(shù)引入到可控響應功率算法中,則改進后的可控響應功率算法時域表達式為:
[P(q)=2πk=1Ml=k+1MRdrkl(τ)]? ? ? ? ? ? ? ? ? ? ?(16)
式中[Rdrkl(τ)]是第[k]個和第[l]個麥克風接收信號的二次互相關(guān)函數(shù),通過基于倒譜預濾波的二次互相關(guān)算法求得。
改進后的SRP-dr定位算法雖然在噪聲和混響增大時的環(huán)境下提高了定位精度,但是該算法仍然是對整個空間的全局搜索尋找可控響應功率的最大值,仍然存在運算量大,速度較慢的缺點。受文獻[8]的啟發(fā),考慮到幾何定位算法是通過求解非線性方程組得到聲源的坐標位置,存在運算量較小但是定位精度不高的特點,針對SRP-dr定位算法和幾何定位算法的特點將兩者相結(jié)合提出了一種基于SRP-dr的混合定位算法。該算法分為求取時延和定位兩個部分,其中定位部分又分為兩步來進行,具體步驟如下:
(1)首先利用基于倒譜預濾波的二次互相關(guān)算法求出參考陣元與其他四個麥克風之間的時延[τ]以及五個麥克風兩兩之間的二次互相關(guān)函數(shù)[Rdrkl(τ)]。
(2)然后利用所得時延用運算量較小的基于五元十字形麥克風陣列的幾何定位算法大致找到聲源的位置([xs],[ys],[zs]),這是第一步的粗略定位。
(3)然后在幾何定位的結(jié)果坐標四周預設的一個范圍內(nèi)使用SRP-dr算法進行二次定位,在空間范圍內(nèi)搜索[P(q)]的最大值求出聲源的精確位置,這是第二步的精細定位,預設的范圍可以大致用下式來確定:
[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ù)減少,所以運行速度會得到提高。
SRP-dr定位算法的提出主要為了提高在噪聲和混響增大時環(huán)境下的定位效果,這是因為該算法引入了基于倒譜預濾波的二次互相關(guān)算法,將其所得到的更加抗混響和抗噪聲的二次互相關(guān)函數(shù)代替相位變換加權(quán)廣義互相關(guān)函數(shù)。二次互相關(guān)函數(shù)是由二次互相關(guān)功率譜與改進后的PHAT加權(quán)函數(shù)相乘之后做傅里葉逆變換求得,而二次互相關(guān)功率譜又是由含有較少混響成分的全通分量頻譜求二次互相關(guān)所得,改進的加權(quán)函數(shù)中又引入了與噪聲和混響有關(guān)的加權(quán)因子,因此SRP-dr定位算法具有抗噪聲和抗混響的特性。而基于SRP-dr的混合定位算法的提出則是為了在保證定位精度的同時減小運算量,由粗定位得到的結(jié)果可以估計出一個大概的空間搜索范圍,再到精定位時在縮小的空間范圍內(nèi)進行局部搜索有效減小了運算量,所以由粗到精的雙步定位提高了可控響應功率算法的定位速度,該算法同時也對幾何定位算法精度低的缺點進行了彌補。
4 仿真實驗
為了驗證本文所提出的混合定位算法在噪聲和混響環(huán)境下的定位效果,下面通過MATLAB軟件仿真來進行驗證,實驗采用鏡像法生成房間脈沖響應,模擬一個實際帶有混響的環(huán)境,房間尺寸大小為長9米寬8米高4米,五元十字陣各個麥克風位置坐標分別為:(1,1,0)、(2,1,0)、(1,2,0)、(0,1,0)、(1,0,0)。單個聲源采用的是一段女生朗讀的語音,位置坐標為(5,7,2.5)。
本文以定位誤差為指標來判斷定位算法的好壞與否,其計算公式如下:
[RMSE=(x-xs)2+(y-ys)2+(z-zs)2]? ? ? ? ? ? ? ? ? (18)
式中的([x],[y],[z])是聲源真正的位置坐標,([xs],[ys],[zs])是使用定位算法找到的聲源位置坐標。定位誤差的大小直接反映了所得的估計值和真實值之間的偏差,誤差值越小說明估計值和真實值之間就越接近,定位的結(jié)果越準確。
實驗一:驗證在信噪比一定時不同墻壁反射系數(shù)下三種算法的定位效果。
三種算法在信噪比為15dB,墻壁反射系數(shù)為0.2到0.6的范圍內(nèi),每種條件下各做200次的重復實驗,將所得的定位坐標求取平均值,可以得到如表1所示的定位結(jié)果,根據(jù)各自的定位結(jié)果將估計值代入到公式(18)中便可得到各自的定位誤差。如圖3所示是在信噪比一定時,不同反射系數(shù)下三種算法的定位誤差曲線,可以看到三種算法隨著反射系數(shù)的增大定位誤差均呈現(xiàn)逐漸增大的上升趨勢,其中幾何定位算法的誤差最大,SRP-PHAT算法的定位誤差次之,混合定位算法的誤差最小,因此可以看出本文算法在抗混響方面要優(yōu)于前兩者,對混響有更強的魯棒性,可以在混響環(huán)境下得到較前兩者更精確的定位結(jié)果。
實驗二:驗證在反射系數(shù)一定時不同信噪比下三種算法的定位效果。
同理三種算法在墻壁反射系數(shù)為0.1,信噪比為4到10dB時,各條件下分別重復進行200次的實驗,將得到的定位坐標求取平均值,可以得到如表2所示的定位結(jié)果,根據(jù)定位結(jié)果利用公式(18)計算出定位誤差。如圖4所示是在反射系數(shù)一定時,不同信噪比下三種算法的定位誤差曲線,可以看出三種算法隨著信噪比的增大定位誤差均呈現(xiàn)逐漸減小的下降趨勢,而本文提出的混合定位算法的誤差要明顯小于幾何定位算法和SRP-PHAT算法,因此可以看出本文算法在抗噪聲方面要優(yōu)于前兩者,對噪聲有更強的魯棒性,可以在噪聲環(huán)境下得到較前兩者更精確的定位結(jié)果。
實驗三:比較三種算法的程序運行時間。
在同一臺電腦上運行三種算法的程序來進一步比較三種算法的運行時間。如表3所示幾何定位算法的運行時間為2.031s,在搜索步長為0.11米的條件下,SRP-PHAT算法對整個房間進行搜索,平均所需時間為7.578s,混合定位算法的搜索區(qū)域減小,平均所需時間為2.241s??梢钥吹絊RP-PHAT算法的運行時間最長,混合定位算法的時間次之,幾何定位算法的時間最短,這是因為混合定位算法的運行時間是幾何定位的粗定位時間與二次搜索精定位時間的加和,故其運行時間要比幾何定位算法的時間長,但是相對于SRP-PHAT算法來說,在搜索步長一定的情況下混合定位算法所搜索的空間網(wǎng)格數(shù)要少于SRP-PHAT算法,故其整體運行時間要少于SRP-PHAT算法,在運行速度上得到一定提升。
5結(jié)論
幾何定位算法運算量小但是定位精度不高,SRP-PHAT算法定位精度雖高但是運算量大,同時當環(huán)境噪聲和混響增大時定位精度下降,針對這兩種算法的特點將其結(jié)合提出了一種基于改進可控響應功率算法的混合定位算法。仿真實驗中選取了不同的信噪比和不同的墻壁反射系數(shù),通過定位誤差大小來分析比較三種算法的定位效果。實驗結(jié)果證明了所提出的混合定位算法在噪聲和混響的環(huán)境下的定位誤差要明顯小于幾何定位算法和SRP-PHAT算法,而且在運算速度上要快于SRP-PHAT算法。
參考文獻:
[1] 王桂君,蔣蓁.基于STM32的室內(nèi)安防監(jiān)控系統(tǒng)設計[J].自動化儀表,2020,41(7):65-68.
[2] 張家琪, 王沅召, 黃俊煒, 等. 一種控制智能家居設備的方法、裝置和音響[P]. 中國專利,2020109290433. 2021-01-05.
[3] 馮仕軒.基于麥克風陣列的無人機定位方法研究[D].西安:西安電子科技大學,2019.
[4] 王昊.基于聲達時間差的移動機器人聲源定位方法研究[D].青島:青島科技大學,2020.
[5] 鄭洋,唐加能,柳培忠,等.數(shù)字助聽器研究現(xiàn)狀及其算法綜述[J].海峽科學,2016(7):14-17.
[6] 陳藝.室內(nèi)三麥克風樹的聲音定位數(shù)學模型[J].電子世界,2020(13):89-92.
[7] 譚穎,殷福亮,李細林.改進的SRP-PHAT聲源定位方法[J].電子與信息學報,2006,28(7):1223-1227.
[8] 盧艷美.基于分布式麥克風陣列的聲源定位方法研究[D].大連:大連理工大學,2017.
【通聯(lián)編輯:唐一東】