劉樹東,梁婷蓉,王 燕,張 艷
(天津城建大學 計算機與信息工程學院,天津 300384)
隨著國家對海洋開發、海洋工程及海防技術的重視程度逐年提高,基于水下傳感網絡(Underwater Wireless Sensor Networks,UWSNs)的水下定位技術被越來越多的學者關注.水下定位技術在海洋資源勘探、軍事偵察、水下目標監測與跟蹤、防災、導航等領域都有著廣泛的應用前景[1-2].
當未知目標移動到目標海域或者目標海域有事件發生時,UWSNs中的傳感器節點將接收到相應的聲信號,定位系統通過對聲信號進行分析,獲得到達時間[3](Time of Arrival,TOA)、到達角[4](Direction of arrival,DOA)、接收信號強度[5](Received Signal Strength,RSS)、多普勒頻移[6]等信息進行目標定位.相對于主動定位,被動定位具有隱蔽性好、耗能少、安全系數高的特點[7].在被動定位系統中,通過任意兩個傳感器節點都可以獲得到達時間差[8](Time difference of arrival,TDOA),基于TDOA的定位方式簡單易實現.
目前,針對TDOA被動定位中的非線性方程組求解依然是水下定位技術的研究熱點.學者們基于最小二乘(Least Sqaure,LS)[9]提出改進算法,包括Chan算法[10]、加權整體最小二乘法[11]、迭代約束加權最小二乘法[12]等實現目標定位,但是此類算法存在矩陣奇異和結果發散的問題,且由于非線性運算多致使其閉型解僅在噪聲足夠小的情況下才有效.近年來,研究者又將智能優化算法應用到非線性方程組求解中,Kenneth等[13]提出直接利用粒子群優化算法進行TDOA無源定位,該算法在噪聲足夠小的情況下能夠獲得比LS算法更準確的目標位置估計值;
Rosic等[14]提出遺傳算法與牛頓迭代相結合,該算法利用牛頓法對遺傳算法獲取的初始全局最優解進行改善;
陳濤等[15]提出了利用樽海鞘群算法進行定位,此算法比基于粒子群的算法定位精度更高;
Jiang等[16]將萊維飛行機制與布谷鳥搜索算法相結合提出一種基于TDOA的定位算法,該算法定位效果較直接使用粒子群算法進行搜索有明顯的提升;
馬一鳴等[17]利用Chan算法改進哈里斯鷹算法的初始種群,然后通過哈里斯鷹算法求解TDOA非線性方程,提高了算法收斂速度;
林云航等[18]首先通過入侵雜草算法獲得目標初始解,然后利用初始解和改進加權最小二乘算法獲得粗略解及精確解;
唐菁敏等[19]通過設計自適應感知概率模型平衡烏鴉搜索法的局部搜索和全局搜索能力,提高了目標的估計精度.此類算法在求解非線性位置方程時均需要在全局范圍內不斷迭代尋找最優解,因此相比于最小二乘類算法雖然定位精度有所提高但耗時較長.
針對上述問題,本文提出了一種提高水下目標被動定位性能的兩步定位法.該算法分為2步:第1步,線性化到達時差方程組估計初始目標位置;
第2步,引入鯨魚優化算法[20](Whale Optimization Algorithm,WOA)校正初始目標位置.校正過程中,針對水下定位場景設置WOA中的適應度函數;
通過初始估計值限制種群范圍,避免無效的全局搜索,減少定位時間;
采用不同的位置更新策略對初始目標位置不斷進行校正,得到最終目標位置的估計值.實驗仿真結果表明,基于改進鯨魚優化算法(Improved Whale Optimization Algorithm,IWOA)的兩步定位法(T-IWOA)比其他算法具有更高的目標定位精度,且更接近克拉美羅下限(Cramer-Rao Lower Bound,CRLB),提高了水下目標被動定位的性能.
本文提出的算法應用在的水聲傳感器網絡中(如圖1所示).在該場景中,已知錨節點的位置信息,當未知目標進入水下傳感器網絡區域時,錨節點感知到未知目標的輻射信號,將信號存儲轉發到具有計算能力的匯聚節點.匯聚節點關聯不同錨節點接收到的波形得到到達時間差信息,最終通過定位算法得到目標位置.
圖1 水聲傳感網絡
目標位置到參考錨節點與錨節點間的距離差表示為:
利用廣義互相關法對匯聚節點得到的波形做廣義互相關運算,測得的錨節點si到目標u的時間與錨節點s0到目標u的時間之間的差值為(i=1,2,…,N-1),相應的測量距離差為Δd?0,i.
式中:τi為錨節點si到目標u的時間與錨節點s0到目標位置u的時間之間的真實差值;
ni為時延誤差,服從均值為0,方差為σd2的高斯分布;
c為水中聲速.則又可表示為:
所以,可以利用最大似然法來估計目標位置,最大似然函數表示為:
為了避免函數存在不可導、無解的情況,本文利用鯨魚優化算法對問題進行求解.該算法模擬了座頭鯨用隨機或最佳搜索代理捕食獵物的行為,并使用螺旋式方程模擬了座頭鯨的氣泡網圍捕攻擊獵物機制.整個算法過程控制參數較少,在探索和開發之間具有良好的平衡能力.
通過等式(1)-(5)可以構造以下優化模型,從而得到目標位置
本文所提T-IWOA算法分為兩步.首先,根據測得的時延值線性化TDOA觀測方程,得到初始目標位置估計值;
然后,針對性地對影響位置更新使用的控制變量進行改進,利用改進的捕食策略對初始目標位置進行局部校正和全局校正,直到得到最優的空間目標位置為止.
根據1.2可以得到N-1個非線性方程,其中第i個方程為:
因為該方程是非線性方程,所以先對該方程線性化,第i個和第i+1個等式分別為:
式(10)和式(11)相減可得:
將式(12)寫成矩陣形式,可得:
其中H=[h2,h3,…,hN-1],W=[w2,w3,…,wN-1],hi和wi分別表示為:
使用改進鯨魚優化算法對初始位置進行校正,實現精確水下定位.鯨魚優化算法包含開發階段和探索階段,這2個階段分別表示算法的全局搜索能力和局部搜索能力,所以使用IWOA算法對初始位置進行局部校正和全局校正.只有這2種校正能力之間達到良好的平衡,算法才能快速收斂于全局最優解,獲得最優目標位置.
在基本鯨魚優化算法中迭代次數為0時,X位置為隨機.為了減少尋優時間,加快算法收斂速度,根據初始目標位置限制種群X取值范圍,上限為:lb=δ,下限為:lb=u?0-δ,其中δ為擾動項.
2.2.1 開發階段——局部校正
開發階段,座頭鯨利用氣泡網攻擊捕食,在縮小種群范圍的同時,沿螺旋路徑向獵物移動.水下定位過程中,將座頭鯨的這種行為總結分解為2種位置更新策略:收縮包圍和螺旋移動,這2種策略均是利用目前最佳的目標位置更新下一代候選目標位置.假設在局部校正初始目標位置時采用上述2種位置更新策略的概率分別為50%,則目標位置更新的表達式為:
當p<0.5時,采用收縮包圍位置更新策略局部校正位置.A表示系數,X*表示迭代數為t時的最優解目標位置向量,X表示目標位置向量.為了提高局部搜索能力、收斂精度和收斂速度,引入慣性權值ω,ω的更新公式如下:
式中:t為當前迭代次數,max_iter為最大迭代次數.利用余弦函數在0到π/2的性質,ω從1到0,從而改變當前位置對更新位置的影響.
式中:C表示系數;
r為0~1之間的隨機數.設定A的值在區間[-1,1]上,k的值從2線性地減小到0.隨k值的減小,A的變化范圍也在不斷縮小,候選目標位置也不斷向最優目標位置的更新靠攏.
當p≥0.5時,采用螺旋移動位置更新策略局部校正位置.根據候選目標位置和當前最優目標位置之間的距離,在兩者之間建立一個螺旋方程來模擬座頭鯨的螺旋運動,以更新目標位置.螺旋方程為:
式中:D"=‖X*(t)-X(t)‖表示當前候選目標位置和當前最優目標位置之間的距離;
b為描述螺旋移動的常數;
l為區間[-1,1]上的隨機數.
2.2.2 探索階段——全局校正
此階段與開發階段不同之處在于收縮包圍中系數向量|A|≥1,使用隨機選擇的方式更新位置,允許全局探索,實現對初始位置的全局校正.
式中:Xrand為從當前種群中選擇的隨機位置.
本文的仿真實驗在64位的Windows10,MATLAB 2019a平臺上進行.仿真實驗中,設只有一個目標,此目標在定位過程中處于靜止狀態.蒙特卡洛仿真實驗的次數為1 000.在二維場景下,本文采用8個錨節點,錨節點坐標設置為(-1 000,-1 000)m、(-1 000,1 000)m、(1 000,-1 000)m、(1 000,1 000)m、(-2 000,-2 000)m、(-2 000,2 000)m、(2 000,-2 000)m、(2 000,2 000)m,目標位置為(1 500,0)m.仿真時假設TDOA測量誤差服從均值為0方差為σd2的高斯分布.實驗中對本文算法、兩相線性算法(G)[7]、經典Chan算法[10]、基于樽海鞘群算法(SSA)[15]的定位算法、基于基本鯨魚優化算法(WOA)[20]的定位算法進行比較.若無特殊說明,T-IWOA、SSA、WOA算法的種群數為30,迭代次數為200.
本文采用均方誤差(MSE)作為定位精度評價指標.
通常根據均方誤差是否接近CRLB來評估定位算法的性能,其計算公式為:
式中:d(u)=[Δd0,1,Δd0,2,…,Δd0,N-1].
不同測量誤差下,本文算法與其他定位算法估計目標位置、位置x方向以及位置y方向的MSE曲線及相應的CRLB曲線如圖2—4所示.由圖2結果可知,在本次仿真實驗所選取的誤差范圍內,T-IWOA算法及其對比算法均沒有出現當時間測量誤差方差達到某一值時定位精度迅速降低的現象,算法的位置均方誤差隨著誤差方差的增加平穩增大.T-IWOA、SSA、WOA定位算法估計目標位置的MSE曲線明顯低于Chan算法和G算法,且更接近CRLB曲線,表明T-IWOA、SSA、WOA的定位精度要高于Chan算法和G算法.這是由于Chan算法和G算法為解析算法,在解決非線性最優化問題引入了噪聲項的平方.對于T-IWOA、SSA和WOA算法,在誤差范圍為-70~-60 dB時,WOA算法表現較差,其余誤差范圍內三種算法估計目標位置的MSE曲線相差較小,可忽略不計.
圖2 位置均方誤差變化曲線
由圖3可見,隨著TDOA測量誤差方差的增大,T-IWOA算法及其對比算法估計目標位置x方向的MSE平穩增大,其中T-IWOA、SSA、WOA、Chan算法的MSE曲線幾乎完全重合,而G算法估計目標位置x方向的精度明顯低于這4種算法.T-IWOA算法及其對比算法估計目標位置y方向的MSE曲線(如圖4所示),由圖4可知,T-IWOA算法依然表現最優,SSA算法次之.
圖3 位置x-方向均方誤差變化曲線
圖4 位置y-方向均方誤差變化曲線
通過對T-IWOA、SSA、WOA算法進行1 000次蒙特卡洛仿真實驗所需的時間進行比較,發現T-IWOA所耗時間最短,如表1所示.雖然T-IWOA、SSA、WOA算法均是利用最大似然法來進行位置搜索,但是T-IWOA算法分為2步,算法第1步估計的粗略目標位置為第2步中利用鯨魚種群位置更新策略尋找全局最優解奠定了基礎,加快了算法收斂的速度,減少定位所需的時間,提高了定位性能.
表1 時間性能比較
在種群規模為30、迭代次數為1 000、σ2d=10-6的條件下,T-IWOA、SSA和WOA三種算法的收斂性能比較如圖5所示.從圖5可以看出,3種算法最后均收斂于相同的值,但是三者收斂于全局最優解的收斂情況是不同的.由于T-IWOA算法采用前后兩式相減法粗略估計目標位置,同時利用此結果限制初始種群范圍,所以在迭代初期適應度值較小,并且在迭代次數接近100時適應度值穩定不變.而WOA算法和SSA算法沒有對初始種群進行有效的限制,迭代初期適應度值較大,但是WOA算法收斂速度快,幾乎和T-IWOA算法同時達到收斂于全局最優解.SSA算法收斂分為4個階段:迭代初期收斂速度較慢;
在迭代次數接近200時,收斂速度加快,適應度值快速下降;
然后迭代次數為200~400時,適應度值基本保持不變;
迭代次數位于400~600之間,SSA算法又進行了緩慢的收斂,最終收斂于全局最優解.
圖5 收斂性能
為了驗證T-IWOA算法在TDOA定位中的定位成功率,分別在1 500 m×1 500 m和2 000 m×2 000 m的正方形區域內隨機產生100個坐標位置作為未知目標,統計T-IWOA、G、Chan、WOA以及SSA算法對100個不同位置定位的準確率,如圖6和圖7所示.圖中,五角星表示錨節點,白色圓圈表示成功定位的目標,黑色圓圈表示未成功定位的目標,即在MSE>20 m2.由圖6可知,當隨機生成目標位置位于1 500 m×1 500 m的正方形區域內時,T-IWOA、G、Chan、WOA以及SSA算法的定位準確率分別為97%、90%、26%、61%、97%,其中T-IWOA和SSA算法定位準確率最高,G算法次之,Chan算法定位準確率最低.由于TIWOA算法是G算法和WOA算法融合改進后的兩步定位法,所以T-IWOA算法定位準確率較G算法和WOA算法均有所提升.
圖6 100個隨機目標下不同算法的定位效果(1 500 m×1 500 m)
圖7為當隨機生成目標位置位于2 000 m×2 000 m的正方形區域內時每種算法的定位情況示意圖,TIWOA、G、Chan、WOA以及SSA算法的定位準確率分別為90%、72%、18%、59%、89%.對比圖6和圖7的定位準確率發現,由于圖7中隨機目標位置可能會大量隨機分布在錨節點附近的邊界區域,所以5種定位算法的定位準確率均有所下降.但是T-IWOA算法成功定位目標數最多,SSA算法次之.
圖7 100個隨機目標下不同算法的定位效果(2 000 m×2 000 m)
為了驗證不同錨節點數對T-IWOA算法影響,圖8給出了在固定錨節點個數為4~10時的定位精度變化情況.根據圖8所示實驗結果可知,當錨節點數為4時,定位性能不穩定;
當錨節點數大于等于5時,算法的定位誤差隨著測量誤差的增加平穩增加,并且隨著水下傳感網絡中錨節點數量的增加,定位精度提高.從TDOA定位原理可知,增加錨節點可以獲得更多的聲源信息,錨節點數量越多,雙曲線越多,定位越準確.但是隨著錨節點數目的增加,定位均方誤差減小的速度變慢.實際應用中,應考慮錨節點成本和定位精度之間的平衡.
圖8 不同錨節點數目下MSE的比較
本文通過一種基于TDOA兩步定位算法來求解非線性位置方程,從而提升水下目標被動定位的性能.該算法首先設計用于限制初始化種群的線性化TDOA定位模型,獲得初始目標位置估計值,然后將改進鯨魚優化算法應用在到達時間差定位的非線性問題求解中,對初始值進行局部校正和全局校正.仿真結果驗證了在同等噪聲條件下,相比于Chan算法、G算法和WOA算法,本文算法定位精度更高,更接近克拉美羅下限,并且通過對隨機目標位置定位實驗仿真,證明本文算法具有較強的魯棒性;
相比于SSA算法,雖然2種定位算法的定位精度不相上下,但是本文算法的收斂速度快,且定位所耗時間要低于SSA算法.綜上所述,本文算法的定位性能要優于其他定位算法.下一步,將在三維場景中考慮傳感器節點位置誤差,進一步提高定位性能.