王 鵬,賀雪芳,張明星,白艷萍
(中北大學(xué) 理學(xué)院,太原 030051)
波達方向(DOA)估計作為陣列信號處理的一部分,在通信、雷達和聲吶等領(lǐng)域有著大范圍的應(yīng)用[1-2]。在過去幾十年對DOA估計的研究發(fā)展中,出現(xiàn)了很多經(jīng)典的估計技術(shù),其中包括最大似然法(ML)、多重信號分類(MUSIC)、旋轉(zhuǎn)不變子空間(ESPRIT)等方法[3-6]。其中ML就是一種比較獨特且估計性能出眾的算法,它將含參的聯(lián)合概率密度函數(shù)作為觀測信號的似然函數(shù),之后通過最大化求解的方式來進行DOA估計,這使得它在面對低信噪比,小快拍數(shù)據(jù)等不利情況下,依舊有著不錯的估計效果[7]。但該算法在求解非線性似然函數(shù)最優(yōu)解時,自身的多維搜索會導(dǎo)致龐大的運算量,這嚴重影響了它的工作效率,限制了它的工程實用性和適用性。
為了解決ML多維受限的問題,已有學(xué)者提出了很多行之有效的方法,比如輪換投影法(AP)[8],迭代二次型極大似然(IQML)等[9];除此之外,還包括近年來提出的利用智能優(yōu)化算法的思想來解決,比如遺傳算法(GA),粒子群算法(PSO)和差分進化(DE)法等[10-16],這樣就可以利用它們通用性強、全局優(yōu)化性能高以及適合并行處理的優(yōu)勢,來完成搜尋目標(biāo)方向角度的任務(wù),而且在實驗中都取得了不錯的估計效果。
本文將人工魚群算法(AFSA)應(yīng)用于其中并優(yōu)化似然函數(shù),利用魚群優(yōu)化算法的高效性和自身所具有的強自適應(yīng)性,能夠避免像GA和PSO等算法一樣出現(xiàn)早熟和收斂慢的問題;與此同時,為了進一步提高估計速度和精度,還對標(biāo)準(zhǔn)人工魚群算法的視野(visual)和步長(step)進行了動態(tài)調(diào)整,實驗對比結(jié)果證實了改進算法的有效性和實時性,并在一定程度上拓展了算法的實際應(yīng)用性[17-20]。
考慮L個遠場非相干窄帶信號源從不同的角度θi(1,2,…,L)入射到陣元數(shù)為M的均勻線陣上,且各陣元之間相互獨立。陣列的接收信號為
X(t)=Aq(θ)S(t)+N(t) .
(1)
式中:X(t)為3M×1維的陣列輸出矢量,S(t)為L×1維的信號源矢量,N(t)為3M×1維的零均值高斯白噪聲矢量,且噪聲與信號相互獨立。而Aq(θ)為3M×L維的矢量水聽器陣的信號方向矩陣,具體結(jié)構(gòu)為
Aq(θ)=[aq(θ1),aq(θ2),…,aq(θL)]=[ap(θ1)?
u1,ap(θ2)?u2,…,ap(θL)?uL] .
(2)
式中:aq(θi),i=1,2,…,L為矢量水聽器陣的方向矢量,陣元對第i個信號的聲壓響應(yīng)系數(shù)記為ap(θi)=[1,ejφi,…,e-j(M-1)φi]T,其中的φi=2πdsin(θi)/λ,λ為信號最大頻率的相關(guān)波長,d為陣元間距。ui=[1,cos(θi),sin(θi)]T為第i個信號的方向矢量。符號?為克羅內(nèi)克積。
基于上述條件,陣列接收信號的協(xié)方差矩陣為
(3)
式中:Rs是信號的協(xié)方差矩陣;σ2是陣列接收噪聲的功率;I是單位矩陣,(·)H則表示該矩陣的復(fù)共軛轉(zhuǎn)置。在實際運算中,考慮到接收數(shù)據(jù)長度是有限的,所以陣列協(xié)方差矩陣為
(4)
式中:K為快拍數(shù)。
在滿足1.1小節(jié)的條件下,假設(shè)信源數(shù)已知或通過其他方式估計已獲得,則由確定性最大似然(DML),可得到樣本數(shù)據(jù)K次快拍的聯(lián)合概率密度函數(shù)為
(5)
式中:det{g}為該矩陣的行列式。將未知參量σ2和S的確定性最大似然估計代換進式的負對數(shù)函數(shù)中,通過該方法可得到關(guān)于參量θ的最大似然估計為:
(6)
式中:tr(g)為該矩陣的跡,PAq=Aq(θ)(AqH(θ)Aq(θ))-1AqH(θ)為正交投影矩陣。
人工魚群算法是李曉磊等[17]在魚群行為研究的基礎(chǔ)上提出的一種群體智能優(yōu)化算法。該算法結(jié)構(gòu)簡單,僅以目標(biāo)函數(shù)值為準(zhǔn)則,引導(dǎo)人工魚向著食物充足的方向快速游動。于此同時,人工魚個體通過行為的變化調(diào)整狀態(tài),以減少不利環(huán)境和部分因素變更造成的影響,促使個體不斷向全局極值逼近,避免出現(xiàn)在局部極值附近停留的狀況。總之,該算法具有魯棒性強、收斂速度快、對初值要求不高等優(yōu)點,很適合用來優(yōu)化1.2小節(jié)提到的最大似然估計函數(shù)并找到該函數(shù)的全局極大值。
人工魚群算法是一個搜尋水域里最高食物濃度位置的過程,這片水域就是解決問題所需的解空間,也是限制魚群活動的最大范圍。食物濃度值和位置作為兩個重要的觀測值,其相關(guān)數(shù)據(jù)都蘊含在人工魚中,這樣不但方便了人工魚在迭代過程中實時的更新自己,還有助于人工魚的行為選擇。在搜尋過程中,人工魚依靠自己的視野和步長來探索環(huán)境和隨機游動,在聚群過程中,人工魚根據(jù)彼此距離來統(tǒng)計當(dāng)前視野內(nèi)的個體數(shù)量與位置,并計算此時中心位置的濃度值與擁擠度,若中心位置濃度更高且不擁擠時,就朝著中心位置的方向適當(dāng)?shù)囊苿?,完成聚群行為,否則的話執(zhí)行覓食行為。在追尾過程中,同樣要統(tǒng)計視野內(nèi)的個體數(shù)量和位置,尋找出濃度最高的伙伴,并計算該伙伴的擁擠度,若該伙伴的周圍不擁擠時,就朝著該伙伴的方向適當(dāng)?shù)囊苿?,完成追尾行為,否則的話執(zhí)行覓食行為。在這兩種行為中,擁擠度的計算是必不可少的,它能避免人工魚在某一范圍內(nèi)過度擁擠而陷入局部最優(yōu),保證了算法的穩(wěn)定性和全局性。而在覓食過程中,參數(shù)try的作用至關(guān)重要,它控制著人工魚搜索新位置的次數(shù),若新位置的濃度更高,則向新位置靠近,否則的話就舍棄。如果在規(guī)定次數(shù)內(nèi)仍然找不到,就開始進行隨機游動。所以說它的大小反映著覓食能力的強弱,選取合適的該參數(shù)能夠有效提高算法的收斂性能。
在算法迭代中,通過改變視野和步長的取值方式,能夠提高算法的收斂速度,或者適當(dāng)擴大魚群規(guī)模,以此來增強算法克服局部最優(yōu)解的能力。人工魚群算法的主要步驟如下:
1) 設(shè)置魚群的初始位置和其他算法參數(shù);
2) 選用食物濃度函數(shù)并將其作為評判個體位置優(yōu)劣的唯一標(biāo)準(zhǔn),并且計算所有個體的食物濃度,將最優(yōu)值和其對應(yīng)的個體位置記錄在數(shù)據(jù)表中;
3) 分析人工魚個體視野領(lǐng)域內(nèi)的環(huán)境條件,根據(jù)結(jié)果來選擇聚群、追尾或覓食行為;
4) 執(zhí)行所選的行為活動,隨即更新自己的位置與食物濃度,最終構(gòu)成新的魚群;
5) 統(tǒng)計所有個體的食物濃度,如果優(yōu)于數(shù)據(jù)表的記錄,則更新為該濃度值和其所對應(yīng)的個體位置;
6) 若達到迭代次數(shù)上限,算法終止,否則轉(zhuǎn)至步驟3).
將人工魚群算法應(yīng)用于最大似然的DOA估計中。把式(6)的似然函數(shù)看做優(yōu)化問題的目標(biāo)函數(shù),用該函數(shù)來計算食物濃度值,且食物濃度值所對應(yīng)的解向量,就是所有待估計方向角的一個可行解。而關(guān)于最大化目標(biāo)函數(shù)的問題,其實就等價于在水域中搜尋出最高的食物濃度值,最終找到對應(yīng)的全局最優(yōu)解。
假設(shè)魚群規(guī)模為P,搜索維數(shù)等于信源數(shù)L,即每一條人工魚的狀態(tài)位置Xi=[xi1,xi2,…,xiL],(i=1,2,…,P)都是L維的。擁擠度因子δ為0.6,參數(shù)try不固定,會根據(jù)實驗做出適當(dāng)改變。對視野(V)和步長(S)按照式(7)進行非線性動態(tài)調(diào)整,使得算法前期以全局搜索為主,后期鎖定到最優(yōu)解的大致位置時,則以局部精細搜索為主。
(7)
式中:Vmin=5,Vmax=20,Smin=3,Smax=5,常數(shù)c=50,n和nmax分別為迭代次數(shù)與最大迭代次數(shù)。
搜索范圍為[Xmin,Xmax],其中Xmin=0 °和Xmax=180 °是人工魚活動的上下限。按照式(8)對魚群位置進行初始化。
Xi=Xmin+rand(0,1)(Xmax-Xmin) .
(8)
食物濃度函數(shù)定義為下式:
(9)
在每次迭代中,每條人工魚都要在3種行為方式中選擇1種。當(dāng)人工魚選擇覓食時,該個體在視野領(lǐng)域中按照式(10)所示隨機游動,通過感知食物濃度的高低來逐次尋找可以自己前進的方向,并在這個方向上按照式(11)所示游動
(10)
(11)
式中:rand()為介于(0,1)的隨機數(shù),‖Xj-Xi‖代表個體間的距離,其中的Xj和Xnext均表示下一步的位置,只是形式表達需要而已。而執(zhí)行聚群所依靠的擁擠度由式(12)給出
(12)
式中:nf為視野內(nèi)伙伴數(shù)目,ρfood,c是中心位置的食物濃度,ρfood,i是當(dāng)前位置的食物濃度。將該擁擠度與δ做比較,并以此判斷是否執(zhí)行行為。同時追尾中擁擠度的計算與式(12)一樣,只需用最優(yōu)伙伴位置Xu的ρfood,u替換ρfood,c即可。
參數(shù)的選擇與調(diào)整,都是為了提高人工魚克服局部最優(yōu)解的能力,盡可能的向著全局最優(yōu)的方向游動。在合適的參數(shù)條件下,通過幾次迭代,算法就可以準(zhǔn)確地找到最高食物濃度以及對應(yīng)的全局最優(yōu)解,即需要的DOA估計角度。
所有實驗中均選擇以上提到的GA,PSO和DE這3種智能優(yōu)化算法,且采用六元矢量水聽器陣列,均勻線陣和300個數(shù)據(jù)快拍。
收斂性能能夠很好地反映算法的估計效率。為了得到準(zhǔn)確的實驗結(jié)果,在平均100次的實驗中獲得了似然函數(shù)最大值隨迭代次數(shù)增加的曲線圖。仿真實驗采用兩個信號源,方向為θ=[30° 60°].所有算法的總體數(shù)量設(shè)為30,迭代次數(shù)為100,并且算法的其他參數(shù)被適當(dāng)?shù)卣{(diào)整。
圖1顯示了IAFSA,GA,PSO和DE這4種算法在信噪比SNR為0 dB和-15 dB時的收斂性能。從迭代曲線中發(fā)現(xiàn),IAFSA算法在兩個實驗中均表現(xiàn)優(yōu)異,且相較于其他3種算法而言,IAFSA算法不僅收斂速度快,還能準(zhǔn)確找到似然函數(shù)的最大值。另外,在SNR為-15 dB時,PSO算法已經(jīng)失去了效果,只能找到一個局部最優(yōu)值,這說明PSO算法在低信噪比時的性能遠不如其他3種算法。
圖1 兩信源下似然函數(shù)的最大化曲線Fig.1 Maximization curve of likelihood function under two sources
為進一步檢驗IAFSA算法的收斂效果。圖2顯示了在信噪比為0 dB時,信源數(shù)增加情況下的變化曲線圖。四信源時的方向為θ=[30° 60° 80° 150°],而三信源時則依次取前3個。在實驗中,由于部分算法的需要,將迭代次數(shù)增加到了200次,以保證實驗結(jié)果的完整性。其余條件則與上述實驗保持一致。
圖2 信噪比為0 dB時似然函數(shù)的最大化曲線Fig.2 Maximization curve of likelihood function with signal-to-noise ratio of 0 dB
從圖2中看出,信源數(shù)的增加對IAFSA算法的影響并不大,DE算法的狀況比較良好,但是GA和PSO的情況就不容樂觀了,在實驗中面臨的狀況要么是迭代次數(shù)的大幅度上升,要么就是失效,即只能收斂到局部最優(yōu)解,同時這些問題也影響著算法的性能與計算量。
為比較信噪比條件下4種算法的DOA估計性能,進行了100次蒙特卡羅實驗,并以均方根誤差(RMSE)作為判斷標(biāo)準(zhǔn),以此來驗證各算法的誤差統(tǒng)計特性。均方根誤差(ERMS)計算公式為:
(13)
實驗中設(shè)置信噪比(SNR)從-20 dB到20 dB,間隔為2 dB,其余實驗條件與3.1節(jié)保持一致。圖3分別表示了信源數(shù)為2、3和4時,DOA估計的均方根誤差值ERMS隨信噪比變化的曲線圖。
圖3 DOA估計的均方根誤差值ERMS隨信噪比的變化曲線Fig.3 Curve of ERMS against SNR estimated by DOA
從圖像上發(fā)現(xiàn),隨著信源數(shù)增加,4種算法的RMSE曲線發(fā)生了不同幅度的上升。其中GA和PSO的變化尤為明顯,在L=2,3時,它們與IAFSA和DE曲線的差距還不大,PSO算法甚至在高信噪比時能夠非常接近于這兩條曲線,而GA算法則相對較弱一些。直到L=4時,這兩種算法已經(jīng)遠遠偏離了IAFSA和DE,這說明它們只能收斂到某個局部最優(yōu)解。至于IAFSA和DE,這兩種算法從始至終都很穩(wěn)定,RMSE曲線不但很接近,而且變化幅度很小,在估計性能上明顯優(yōu)于其他兩種算法。
此外,低信噪比下的IAFSA和DE的整體曲線也要低于GA和PSO,并且這種情況在L=2,3,4時都存在。隨著信源數(shù)量和SNR的同時增加,GA和PSO的RMSE曲線開始逐漸偏離,一直到L=4時,曲線始終高居不下,這說明算法的估計性能已經(jīng)完全失效,而此時IAFSA和DE的估計效果依舊比較良好,并且IAFSA的整體情況略好于DE,這也說明了改進方式的有效性和估計優(yōu)勢。
利用智能優(yōu)化算法解決最大似然DOA估計的問題時,種群個數(shù)的選取非常重要,數(shù)量過少會加大搜索的難度,數(shù)量過多則會增加算法的運算量。在不影響算法估計精度的前提下,合理的選取種群數(shù)量,是有助于提高算法速度與效率的。
考慮信噪比為0 dB時不同信源數(shù)傳播到陣列的情況。圖4分別表示了信源數(shù)為2、3和4時,DOA估計的均方根誤差值ERMS隨Population size變化的曲線圖。
從圖4可以看出,在L=2時,所有算法在種群數(shù)量超過30以后都能達到一個非常接近的誤差值,在L=3時,IAFSA和DE的情況變化不大,而其余兩種算法則就需要更多的種群數(shù)量才能夠達到與它們一樣的估計效果,但是從整體上看,信號源數(shù)的增加也導(dǎo)致所有算法的誤差值都有所上升。直到L=4時,IAFSA和DE的誤差值依舊在上升,但是幅度不明顯,即使是這樣,這兩種算法還是需要增加種群數(shù)量到30,甚至是40之后才能達到一個比較穩(wěn)定的誤差值。并且GA與PSO的曲線已經(jīng)完全和它們分離開來,超出了可以接受的估計范圍,失去了本身估計的作用。從始至終,IAFSA和DE的曲線都很接近,但IAFSA還是略好一些,而且使用的種群數(shù)量也是最小的,這有效地降低了算法的計算量。
圖4 DOA估計的均方根誤差值ERMS隨Population size的變化曲線 Fig.4 Curve of ERMS against Population size estimated by DOA
本文基于尋找極大值的思想,提出了用IAFSA算法來優(yōu)化ML的似然函數(shù),并以此為目標(biāo)函數(shù)進行快速搜索求解。仿真結(jié)果表明,所提算法相較于GA,PSO和DE這些算法而言,具有更快的收斂速度和更好的收斂效果;與此同時,分析討論了所有算法的誤差統(tǒng)計特性和運算量影響,發(fā)現(xiàn)相較于其他三種算法而言,IAFSA算法擁有更小且更加穩(wěn)定的估計精度,這說明在一定程度上該算法進行DOA估計時是更具有優(yōu)勢的。另外,實驗結(jié)果的表現(xiàn)也說明所提改進方法的有效性,它不僅保證了估計精度不受影響,同時還能進一步減少迭代次數(shù),同等實驗條件下大大減少了算法的計算量。因此,基于IAFSA算法的最大似然DOA估計是一種非常有效的DOA估計方式,有利于實際應(yīng)用的實現(xiàn)和拓展。