邵 元,楊 超,郭 輝
(上海工程技術大學 機械與汽車工程學院,上海201600)
多重信號分類(Multiple Signal Classification,MUSIC)算法是空間譜估計中的一種超分辨估計算法,常用于遠場信號的波達方向估計[1-2]。當聲源位于近場時,距離將是一個不可忽略的參數(shù)[3],并且傳統(tǒng)MUSIC算法失效。基于近場信號模型的MUSIC算法[4-5]可以估計近場聲源的三維位置,但網(wǎng)格搜索帶來的巨大計算量是限制算法應用的主要因素[6],運算時間過長使其難以在工程中得到應用。
為了提升算法的實時性、減少算法的計算量,研究人員使用近幾年興起的群群智能優(yōu)化算法代替?zhèn)鹘y(tǒng)的網(wǎng)格搜索模式[7]。目前,粒子群優(yōu)化[8]、遺傳[9]等算法已經應用于遠場波達方向估計。該類算法雖然減小了計算量,但依然存在收斂速度慢等缺點。雞群算法是一種通過模仿雞群覓食行為而提出來的群智能優(yōu)化算法[10]。相較于其他群智能優(yōu)化算法,雞群優(yōu)化(Chicken Swarm Optimization,CSO)在函數(shù)求極值問題上具有更優(yōu)秀的性能[11-12]。本文融合快速尋優(yōu)的雞群算法和近場三維MUSIC算法,提出了一種快速近場聲源位置估計算法。近場聲源定位的仿真表明:本算法具有定位精度高、計算速度快、實時性強等特點。
根據(jù)聲源與傳聲器陣列的距離,信號傳播模型可分為近場模型和遠場模型。判斷近場的公式為
其中:L為麥克風陣列中心與聲源位置的直線距離;D為陣列孔徑;λ為信號波長。聲源位于近場時采用球面波模型要比傳統(tǒng)遠場平面波模型更加精確。這是因為近場環(huán)境下,陣元接收到的信號不僅有相位的差異,幅度差異也十分顯著。
假設K個近場窄帶信號輻射到由M個麥克風組成的陣列上,第i個麥克風接收到的信號表達式為
其中:i=1,2,··,M ,j=1,2,··,K ,ni(t)表示第i個麥克風在t時刻接收到的高斯白噪聲。整個麥克風陣列的接收信號表達式為
式中:rij代表第i個聲源與第j個陣元的距離;ωc為聲源的中心角頻率;τij為第i個麥克風接收到第j個信號的時間延遲因子,其表達式為
麥克風陣列近場接收信號示意圖如圖1所示。聲源的位置矢量分別為 s1,s2,··sK,陣列中麥克風的位置矢量分別為p1,p2,··pM,c為聲波波速。
圖1 麥克風陣列近場接收信號示意圖Fig.1 Schematic diagram of receiving signal in the near-field of microphone array
Meng[10]參考雞群覓食行為解決優(yōu)化問題。雞群算法具有以下前提:
(1)雞群由多個子群構成,每個子群包含一個公雞、一些母雞和小雞;
(2)雞群中適應度值最高的為公雞,其次為母雞,再次為小雞。每個子群必包含一個公雞,母雞搜尋食物隨機跟隨公雞,小雞搜尋食物隨機跟隨母雞,公雞作為首領帶領子群搜尋食物;
(3)迭代后,根據(jù)適應度值重新排序并重新定義公雞、母雞和小雞。
滿足上述理想化規(guī)則后,公雞的位置更新公式為
式中:ε為大于0的極小值;fi為第i只公雞的適應度值;fk為從種群中隨機選取的第k只公雞的適應度值;k∈[1,N],k≠i。
母雞的位置更新公式為
小雞的位置更新公式為
設F(t)的相關矩陣為R,則:
RSS(t)=E[S(t)SH(t)],σ是高斯白噪聲的功率。對式(12)進行特征分解并排序得到:
其中:[λ1··λDλD+1··λM]是R(t)的特征值,U是對應的特征向量組成的矩陣。并根據(jù)特征值大小將U分解為兩個空間:信號子空間和噪聲子空間,根據(jù)子空間理論:
定義空間譜函數(shù)為
傳統(tǒng)MUSIC算法將對空間譜函數(shù)進行網(wǎng)格搜索,進而輸出使空間譜函數(shù)為極大值時的 θ 、φ、r,即空間源信號的俯仰角、方位角和距離。網(wǎng)格搜索雖然可以有效精確地得出結果,但搜索運算速度慢,計算量大。為了解決該問題,本文采用雞群優(yōu)化算法替代傳統(tǒng)網(wǎng)格搜索?;陔u群算法的近場聲定位三維MUSIC算法的步驟如下:
(1)初始化參數(shù)。將空間譜函數(shù)定義為計算適應度的目標函數(shù),具體參數(shù)設置如表1所示。
(2)初始化種群并計算n個個體的適應度。
(3)如滿足迭代次數(shù)與種群更新間隔代數(shù)G的比值為 1,則按照適應度值對雞群個體排序,確定雞群的等級制度。與此同時將雞群分為多個子群,并隨機分配母雞和小雞。
(4)更新公雞、母雞和小雞的位置。
(5)以適應度值為指標再次計算各個雞群個體的適應度值,并且更新個體最優(yōu)和全局最優(yōu)。
(6)如果達到最大迭代次數(shù),轉步驟(7);反之返回步驟(3)繼續(xù)循環(huán)迭代。
(7)輸出全局最優(yōu)值即聲源的位置坐標。
表1 算法初始參數(shù)Table 1 Initial parameters of the proposed algorithm
本文算法的目的是在提升近場聲源定位精度的同時,降低算法的運算時間。首先對本文算法和三維MUSIC算法的定位結果進行了對比分析。其次對本文算法和三維MUSIC算法進行了均方根誤差分析,分別得到了俯仰角、方位角和距離的均方根誤差(Root Mean Squared Error,RMSE)曲線。最后對本文算法和三維MUSIC算法的計算量和運算時間進行了對比分析。
麥克風陣列拓撲圖如圖2所示。仿真采用了36個麥克風組成的同心圓面陣列。在高斯白噪聲背景下,選擇兩個頻率分別為1 800、2 000 Hz的非相干正弦信號作為信號源,快拍數(shù)為 500,參數(shù)設置見表1。
圖2 麥克風陣列拓撲圖Fig.2 Layout of microphone array
3.2.1 定位性能分析
圖3 直角坐標系中的真實聲源位置和算法定位結果Fig.3 Actual sound source position and the localization results of the algorithm in Cartesian coordinate system
圖3和表2比較了信噪比為15 dB時,真實聲源位置和本文算法定位結果。圖3中,空心圓為麥克風陣列,實心圓表示聲源實際位置,三角形表示本文算法估計結果。x、y和z方向的誤差為0.025、0.025和0.035 cm,可以看出真實聲源位置和本文算法定位結果在空間中幾乎重疊,這說明本文算法可以對近場聲源進行準確的三維位置估計。
表2 聲源實際位置和算法定位結果對比Table 2 Comparison of actual sound source position and the localization results of the algorithm
3.2.2 均方根誤差分析
本文算法計算過程中采用極坐標系,聲源位置的俯仰角、方位角和距離隨著 SNR變化的均方根誤差曲線如圖4所示。其中三維MUSIC算法的搜索步長為1°和1 cm。隨著SNR的增加,RMSE越來越小這是因為MUSIC算法中噪聲子空間和信號子空間的分離更加徹底。本文算法的定位精度要高于三維MUSIC算法,這是因為本文算法采取有限次不停迭代尋優(yōu)的方式,隨著迭代次數(shù)的增加,尋優(yōu)結果更加精確。而三維MUSIC算法理論上可達到很高的精度,但精度受限于搜索步長,搜索步長對于計算量和計算時間的影響是巨大的,三維MUSIC算法的搜索步長為1°和1 cm,計算時間約為35 s,當搜索步長為0.1°和0.1 cm的時候,計算時間為4 h左右。從圖4可以看出,在可接受的運算量和運算時間內,本文算法比傳統(tǒng)近場三維MUSIC算法近場聲源位置估計的精度高。
圖4 不同信噪比下的定位均方根誤差曲線(藍色:三維MUSIC算法;紅色:本文算法)Fig.4 RMS error curves of localization under different SNR(blue for 3D MUSIC algorithm,red for the algorithm proposed in this paper)
3.2.3 計算時間分析
表3對比了本文算法和三維MUSIC算法的運算時間和時間復雜度。其中運算時間是 SNR為15 dB條件下、50次仿真結果的平均值。
仿真時本文算法所花費的計算時間僅為三維MUSIC算法的1.9%,這說明本文使用雞群算法替代網(wǎng)格搜索的方式可以在保證定位精度的前提下,極大地降低運算量,提升運算速度。
表3 兩種方法的運算時間和復雜度對比Table 3 Comparison of operation time of the two methods
實驗系統(tǒng)由測量、分析處理和結果顯示部分組成。測量部分由均勻同心圓麥克風陣列和多通道信號采集系統(tǒng)組成;分析處理部分由本文算法組成;筆記本電腦完成結果顯示部分。實驗地點是半消聲室,麥克風陣列離地面間距為 50 cm。參數(shù)設定見表1與表4。實驗設備及聲源的空間位置分別如圖5、6所示。
表4 實驗系統(tǒng)參數(shù)Table 4 Parameters of the experimental system
圖5 實驗設備Fig.5 Experiment apparatus
圖6 聲源的空間位置Fig.6 Spatial locations of sound sources
4.2.1 定位性能分析
表5和圖7比較了空間中實驗聲源位置和算法定位結果。圖7中實心圓表示實際位置,三角形表示本文算法估計結果。由此可見,本文算法在實際應用中可以對近場聲源進行準確的三維位置估計。
表5 聲源的實際位置及其定位結果Table 5 Actual locations of two sound sources and their localization results
圖7 聲源實際位置及其定位結果的對比圖Fig.7 Contrast map between actual locations of two sound sources and their localization results
4.2.2 均方根誤差分析
圖8為三維MUSIC算法和本文算法隨著SNR變化的均方根誤差曲線,其中三維MUSIC算法的搜索步長為1°和1 cm。從圖8可以看出,在實際應用中兩個算法的精度均有所下降,但本文算法保持著高精度的同時依然比傳統(tǒng)三維MUSIC算法的定位精度高。
圖8 不同算法定位均方根誤差曲線(藍色:三維MUSIC算法;紅色:本文算法)Fig.8 Root mean square error curves of localization by different algorithms(blue for 3D MUSIC algorithm,red for the algorithm proposed in this paper)
4.2.3 計算時間分析
實驗對比了本文算法和三維MUSIC算法的運算時間,結果如表6所示。其中運算時間為20次實驗結果的平均值。在實驗條件下本文算法所花費的計算時間僅為三維MUSIC算法的3.2%,這說明在實驗中本文算法在保證定位精度的前提下具有極好的實時性能。
表6 運算時間對比Table 6 Comparison of operation time
針對近場三維定位MUSIC算法存在計算量大、實時性差的缺點,本文提出了一種基于雞群算法的三維MUSIC近場聲源定位算法。本文算法使用雞群算法替代網(wǎng)格搜索來進行尋優(yōu),提升了定位精度且大大降低了計算量和運算時間。仿真和實驗結果表明:對于穩(wěn)態(tài)聲源,本文算法的定位精度更高,抗噪能力強,且計算速度更快。本文算法的提出有利于聲源三維定位技術的推廣于應用,未來將對瞬態(tài)聲源的定位效果進行探究。