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