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