黃 健, 嚴(yán)勝剛
(西北工業(yè)大學(xué) 航海學(xué)院, 西安 710072)
近年來,對水下目標(biāo)的精確定位有著廣泛的應(yīng)用,如海底大地形變測量研究、近海勘探和海洋工程等[1-3].水下目標(biāo)定位系統(tǒng)按照基線長度劃分可分為長基線(LBL)系統(tǒng), 短基線(SBL)系統(tǒng)和超短基線(USBL)系統(tǒng)3大類.相比之下,長基線系統(tǒng)具有更高的定位精度和更大的定位范圍[4].
為了定位目標(biāo),LBL系統(tǒng)需要測量聲信號在目標(biāo)與水聽器之間傳播的到達時間(TOA)或到達時間差(TDOA),這其中,基于TOA的長基線定位技術(shù)具備較高的精度和頑健性.在TOA估計過程之后,可以通過將TOA值和聲速相乘來計算目標(biāo)和水聽器之間的距離,然后使用諸如非線性最小二乘法(NLS)、最大似然估計(ML)、線性最小二乘法(LLS)或加權(quán)線性最小二乘法(WLLS)等方法對目標(biāo)進行定位.
不準(zhǔn)確的聲速是造成LBL系統(tǒng)定位誤差的主要原因之一.在之前的研究中,距離的測量是基于聲速是一個常數(shù)值,并且能被預(yù)先測量或準(zhǔn)確估計這一前提[5].事實上,水下環(huán)境復(fù)雜,聲速結(jié)構(gòu)存在深度方向上的梯度[6],這導(dǎo)致遵循Snell定律的聲信號傳播路徑存在折射現(xiàn)象.使用恒定的聲速并且假設(shè)聲信號沿直線傳播,必然會對LBL系統(tǒng)定位造成嚴(yán)重的誤差.聲速隨深度的變化情況由聲速剖面(SSP)表示,可通過聲速分析器(SVP)測量,或由電導(dǎo)率、溫度和密度(CTD)的測量值計算獲得.然而,目標(biāo)與水聽器之間的平均聲速卻難以直接測量.因此,聲速修正成為提高水下聲學(xué)定位精度的關(guān)鍵技術(shù)之一.在之前的研究中,聲速修正通常是在準(zhǔn)確測量聲速剖面的基礎(chǔ)上,通過使用射線聲學(xué)理論追蹤聲信號的傳播路徑來實現(xiàn)[7-12].為減小聲速誤差造成的影響,需要測量實際的聲速剖面.然而,SVP或CTD測量的結(jié)果不可避免地存在誤差.這導(dǎo)致基于固定聲速剖面的聲速修正方法性能的退化.在考慮聲速未知的定位算法中,文獻[13-14]將聲速視為未知變量,并在定位的同時計算有效聲速(ESS).然而,這類方法通常假設(shè)LBL系統(tǒng)中目標(biāo)到任一水聽器之間的聲速相等,這也與理論和實際情況不符.
通過分析有效聲速與目標(biāo)和水聽器相對位置之間的關(guān)系,本文提出一種基于粒子群優(yōu)化(PSO)算法的LBL系統(tǒng)定位方法.首先,利用LBL系統(tǒng)中的冗余信息建立多參數(shù)優(yōu)化函數(shù)來估計有效聲速.其次,選擇PSO算法來解算優(yōu)化函數(shù),得到目標(biāo)與不同水聽器之間的有效聲速.最后,由所得有效聲速對目標(biāo)進行定位.仿真結(jié)果表明,該方法可以在無法準(zhǔn)確獲得聲速剖面的情況下提高LBL系統(tǒng)定位精度.
如圖1所示,本文所使用的LBL系統(tǒng)由位于海面的4個浮標(biāo)組成.每個浮標(biāo)都配置有水聽器和GPS設(shè)備,以便實時獲取自身的位置.目標(biāo)為位于海面以下的同步信標(biāo).定義坐標(biāo)系如下:通過選擇由4個浮標(biāo)所圍多邊形中的某點作為原點O(0,0,0)來建立大地坐標(biāo)系(NED).4個浮標(biāo)的坐標(biāo)分別為A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3)和D(x4,y4,z4).目標(biāo)坐標(biāo)為T(x,y,z),每個浮標(biāo)和目標(biāo)之間的相對距離分別定義為R1,R2,R3和R4.
圖1 LBL系統(tǒng)定位原理圖Fig.1 Positioning principle diagram of LBL system
目標(biāo)首先發(fā)射探測信號.由于目標(biāo)與各浮標(biāo)時間同步,浮標(biāo)接收到該探測信號可以計算聲信號的傳播時間.將傳播時間與平均聲速相乘可以獲得目標(biāo)與各浮標(biāo)之間的相對距離
(1)
在測量目標(biāo)與浮標(biāo)之間的相對距離后,它們之間的三維幾何關(guān)系可以表示為
(2)
在LBL系統(tǒng)中,浮標(biāo)與目標(biāo)之間的相對距離通常為數(shù)百米到數(shù)十公里.因此,可以假設(shè)浮標(biāo)位于相同的水平面,即
z-zi=z-zj,i≠j
(3)
將由2個不同的浮標(biāo)建立的方程相減可以消除未知變量的二次項,進而獲得如下的簡化形式:
(4)
在聲速已知的前提下,LBL系統(tǒng)的定位模型可以描述為如下函數(shù):
(5)
(6)
在傳統(tǒng)的定位方法中,式(1)中的平均聲速通常被定義為常量(1 500 m/s),這無疑會導(dǎo)致較大的誤差.根據(jù)射線聲學(xué)理論,由聲源發(fā)出的聲信號會沿不同的路徑傳播到海洋中的任意一點,而這一點所接收到的聲信號是全部本征聲線的和.兩點之間的有效聲速則被定義為最先到達的本征聲線所對應(yīng)的等效聲速,即聲源與接收點之間的斜距與聲信號最小傳播時間的比值[15].若聲速剖面已知,聲信號在聲源和接收點之間的傳播路徑可以通過Snell定律進行追蹤,并由此計算兩點之間的有效聲速.通過調(diào)整初始入射角,可以迭代計算定位區(qū)域內(nèi)任意兩點間的有效聲速.在準(zhǔn)確獲得有效聲速之后,使用它們來代替式(1)中的平均聲速可以提高LS方法的定位精度.
海洋中的有效聲速不僅由聲速剖面決定,還取決于兩點之間的相對位置關(guān)系(水平距離、深度差和俯仰角等).本文設(shè)計了一個實驗來測試當(dāng)聲源位于海面,目標(biāo)點位于800 m深處時,海洋中兩點之間的有效聲速c與水平距離d的關(guān)系,實驗結(jié)果如圖2所示.其中,圖2(a)為實驗區(qū)域內(nèi)的聲速剖面,h為水深.選擇BELLHOP[16]模型計算聲信號傳播時間,BELLHOP模型是水聲信道仿真中應(yīng)用最廣泛的模型之一,該模型以海洋環(huán)境文件(包括聲速剖面,海面/海底反射系數(shù)等因素)作為輸入,通過對聲場模型進行計算可得到傳播損失、本征聲線以及聲線到達時間序列等多種實用數(shù)據(jù),是聲場建模及分析的一種有效手段.計算得到的有效聲速如圖2(b)所示.可以看出,在深度一定的情況下,不同的水平距離對應(yīng)不同的有效聲速值,且差別較大(在水平距離相差4 km的情況下,有效聲速相差接近3 m/s).由此可以看出,若假設(shè)長基線系統(tǒng)的定位區(qū)域內(nèi)目標(biāo)到任一浮標(biāo)的聲信號傳播速度相等會造成較大定位誤差.
圖2 有效聲速與相對水平距離的關(guān)系Fig.2 The relationship between ESS and horizontal distance
在如圖1所示的LBL系統(tǒng)中,雖然目標(biāo)與每個浮標(biāo)之間的深度差是相等的,但由于水平距離不同,相應(yīng)的有效聲速也不相等.這導(dǎo)致使用單個有效聲速的LS方法會產(chǎn)生較大誤差.因此,通過設(shè)置聲信號在目標(biāo)和不同浮標(biāo)之間以不同的有效聲速傳播來提高LBL系統(tǒng)的定位精度.
如圖1所示,4個浮標(biāo)位于海面,目標(biāo)位于水下一定深度,其深度值可以通過深度傳感器測量,并通過水聲通信技術(shù)傳輸至控制中心.通過這種方式,目標(biāo)的三維定位可以轉(zhuǎn)換為二維定位問題.本文僅考慮目標(biāo)位于LBL系統(tǒng)定位區(qū)域內(nèi)的情況.
圖3所示為LBL定位系統(tǒng)的二維原理圖,其中4個浮標(biāo)的坐標(biāo)分別為:B1=(0,0,0)、B2=(L,0,0)、B3=(L,L,0)和B4=(0,L,0),L=8 km為基線長度.圖中的4個圓是以每個浮標(biāo)為中心,以目標(biāo)到每個浮標(biāo)之間水平距離為半徑所繪.這些水平距離是根據(jù)測量的傳播時間和目標(biāo)深度計算的.在有效聲速估計精確的理想情況下,4個圓應(yīng)相交在一點,即目標(biāo)的真實位置.
圖3 LBL定位系統(tǒng)的二維原理圖Fig.3 2-dimensional positioning diagram of LBL system
然而,當(dāng)有效聲速估計出現(xiàn)誤差時,4個圓不會在一點相交,而是圍成一個小的區(qū)域.這將難以準(zhǔn)確估計目標(biāo)的真實位置.為此,本文通過縮小4個圓的相交區(qū)域來建立適應(yīng)度函數(shù).在LS算法中,3個浮標(biāo)即可用于估計目標(biāo)位置.因此,4個浮標(biāo)可以通過不同的組合而獲得4個不同的定位結(jié)果.將式(1)~式(6)定義的算法定義為函數(shù)LS(·),4個定位結(jié)果如下:
(7)
在此基礎(chǔ)上,本文給出如下適應(yīng)度函數(shù):
(8)
本文利用PSO算法解決多參數(shù)優(yōu)化問題. PSO算法是Kennedy于1995年提出的隨機優(yōu)化算法.在PSO算法中,優(yōu)化問題的解決方案被視為搜索空間中的粒子,并通過迭代跟蹤目前搜尋到的最優(yōu)值來找到全局最優(yōu)解.PSO算法精度高,收斂快且易于實現(xiàn),近年來,已經(jīng)得到廣泛的研究和發(fā)展,顯示出其解決隨機優(yōu)化問題的優(yōu)勢.
PSO由一組粒子構(gòu)成,每一個粒子都是優(yōu)化問題的備選解.粒子有自身的位置和速度矢量,矢量大小取決于優(yōu)化問題所包含的參數(shù).在PSO的每一輪迭代中,粒子通過跟蹤自身的歷史最優(yōu)解和全局最優(yōu)解來更新其位置,并分別通過式(9)和(10)來更新其速度和位置矢量.即
式中:v為速度矢量;x為位置矢量;下標(biāo)Id為粒子標(biāo)識;ω為慣性權(quán)重,常用來平衡粒子群的全局搜索能力和局部搜索能力;η1和η2均為在[0, 4]范圍內(nèi)的學(xué)習(xí)因子,通常取η1=η2=2;rrand1和rrand2均為[0, 1]內(nèi)均勻分布的隨機浮點數(shù),它們賦予粒子在搜索空間內(nèi)移動的能力;pbestId為粒子迄今為止已經(jīng)獲得的最佳位置向量;gbest為整個粒子群的全局最優(yōu)位置向量,迭代次數(shù)可以預(yù)先確定或根據(jù)適應(yīng)度函數(shù)的收斂來動態(tài)調(diào)整,當(dāng)滿足停止條件時,gbest中存儲的即為優(yōu)化問題的最優(yōu)解.
為了簡化計算,設(shè)置目標(biāo)與各浮標(biāo)間的有效聲速組成的一維向量作為粒子在使用PSO算法求解適應(yīng)度函數(shù)的過程中使用的位置向量,即
x=[c1c2c3c4]
(11)
式中:c1、c2、c3和c4均為目標(biāo)與對應(yīng)浮標(biāo)之間有效聲速的估計值.
在PSO算法的開始,需要初始化粒子的位置矢量,可以根據(jù)經(jīng)驗選擇聲速的搜索空間,并在搜索空間內(nèi)隨機初始化粒子的位置矢量.
PSO算法的約束條件:
(1) 聲速限制.海洋中的聲速值有一定的范圍,不會太大或太小.因此,將這個算法中的聲速限制在如下范圍內(nèi):
cmin≤ci≤cmax
(12)
(2) 定位點之間幾何位置關(guān)系的約束.有效聲速的估計應(yīng)受目標(biāo)和浮標(biāo)之間的位置關(guān)系的限制,在實際操作過程中,應(yīng)根據(jù)浮標(biāo)的排列來對有效聲速的估計值加入一定約束條件.以圖3所示的LBL系統(tǒng)為例,由兩個相鄰浮標(biāo)確定的圓僅在LBL定位區(qū)域內(nèi)的一個點處相交,并且這些交點的位置具有一些幾何關(guān)系約束.例如,由浮標(biāo)1和浮標(biāo)2形成的交點應(yīng)比由浮標(biāo)3和浮標(biāo)4形成的交點具有更小的y值,否則有效聲速的估計值將過大.令E(·)表示由任意兩個浮標(biāo)的圓確定的交點,可以得到以下的約束條件:
(13)
PSO算法的終止條件:
F≤TH
(14)
式中:TH為一閾值,決定了在PSO算法收斂時由式(7)給出定位點所圍成多邊形區(qū)域的大小.由于在LBL系統(tǒng)中,定位精度與時延估計精度有關(guān),而時延估計的精度與目標(biāo)距離成反比,距離越遠(yuǎn)則時延估計精度越低.因此,TH值可以在PSO算法開始之前由LBL系統(tǒng)的基線長度確定.
在基于PSO的LBL系統(tǒng)定位方法中, PSO被用來計算目標(biāo)與各水聽器間的有效聲速.在迭代結(jié)束時,gbest存儲了有效聲速的估計結(jié)果.最后在獲得有效聲速的基礎(chǔ)上,使用LS算法來估計目標(biāo)的坐標(biāo).基于PSO的LBL系統(tǒng)定位方法步驟如下:
(1) 輸入已知參數(shù).定義所需變量并隨機生成具有N個粒子的種群,隨機初始化每個粒子的位置和速度.
(2) 計算每個粒子的適應(yīng)度值,分別存儲每個粒子當(dāng)前的最優(yōu)歷史解和全局最優(yōu)解.
(3) 根據(jù)式(9)和(10)更新每個粒子的速度和位置.
(4) 判斷算法是否滿足停止條件.如果滿足,則進行下一步,否則轉(zhuǎn)到步驟(2).
(5) 輸出全局最優(yōu)個體,即各有效聲速的估計值,然后可以通過LS算法對目標(biāo)進行定位.
通過仿真實驗來測試本文提出方法的性能.實驗環(huán)境:CPU為Intel Core i7-4710MQ; 內(nèi)存為DDR3L-8 GB.操作系統(tǒng)為Windows 8.1;MATLAB 版本為R2014a.實驗中,LBL系統(tǒng)的浮標(biāo)布置仍如圖1所示.基線長度設(shè)定為L=8 km.聲信號在水下的傳播時間由BELLHOP模型計算,并假設(shè)信標(biāo)所測量的時延中包含服從N(0,σ2)分布的高斯白噪聲,其中:σ=0.5 ms.所用的聲速剖面如圖2(a)所示.因為目標(biāo)配置有深度傳感器,可以準(zhǔn)確地測量其深度值,所以本文只估計其二維坐標(biāo)(x,y).
在使用LS方法的定位過程中,恒定聲速取為 1.505 km/s,即圖2(a)所示聲速剖面在目標(biāo)深度上的加權(quán)平均聲速[17].PSO算法中粒子的數(shù)量選擇為50.最大迭代次數(shù)設(shè)置為100,學(xué)習(xí)因子η1和η2都取為 2.0,慣性權(quán)重設(shè)置為 0.9,有效聲速的搜索空間限制在聲速剖面的最小值與最大值之間,即 1.495 km/s≤ci≤1.545 km/s,終止條件中令TH=1 m.
令目標(biāo)三維坐標(biāo)為(3.25 km,4.30 km,0.80 km).定位結(jié)果如圖4(a)所示.圖中:4條線是4個定位圓的局部放大圖;“+”號表示目標(biāo)的實際位置;“o”是LS方法的定位結(jié)果(3.266 km,4.294 km),其與目標(biāo)真實坐標(biāo)之間的距離為 16.58 km.
圖4 定位結(jié)果Fig.4 Positioning results
本文通過在LBL系統(tǒng)的定位區(qū)域中隨機選擇10個點來比較基于PSO的方法和LS方法的定位精度.目標(biāo)的深度為800 m,水平坐標(biāo)在表1中列出.對于每個目標(biāo)點分別使用LS方法和基于PSO的方法對其進行定位,且2種方法均獨立運行50次.最后,計算2種方法定位誤差的均方根誤差(RMSE)以及定位誤差的標(biāo)準(zhǔn)差(STD),以評估其定位性能.定位誤差的均方根誤差為
(15)
式中:(x,y)為目標(biāo)的真實位置;E[·]為求數(shù)學(xué)期望的算子.
仿真結(jié)果如圖5所示.可以看出,LS方法由于無法獲得準(zhǔn)確聲速,且采用單一聲速進行定位,造成其定位結(jié)果距離誤差較大,且目標(biāo)的位置也會對結(jié)果產(chǎn)生一定的影響,難以獲得理想的結(jié)果.而基于PSO的方法在定位的同時對有效聲速進行調(diào)整,可以明顯降低定位誤差,并且可以看出誤差獨立于目標(biāo)的位置,說明其定位的穩(wěn)定性更好.
表1 測試點坐標(biāo)Tab.1 The coordinates of target points
圖5 仿真結(jié)果Fig.5 Simulation results
PSO算法的收斂速度是實際應(yīng)用中需要重點考慮的因素之一.本文分析上述多個點定位實驗中PSO算法迭代過程的平均適應(yīng)度值,為了獲得每次迭代的適應(yīng)度值,實驗中令TH=0,測試結(jié)果如圖6所示.
圖6 平均適應(yīng)度隨迭代次數(shù)變化的曲線Fig.6 The changing of average fitness value with number of iterations
由圖6可以看出,PSO算法可以在24次迭代左右達到收斂,且收斂后的適應(yīng)度值小于1 m.由此也可以看出實驗中設(shè)置終止條件為F≤1 m是合適的.
另外,本文還測試了運行PSO算法所耗費的時間,在模擬環(huán)境下運行基于PSO的方法一次的時間約為2 s,雖然比LS方法慢,但比常規(guī)測量聲速剖面再進行聲線跟蹤的定位方法更快.
本文通過使用PSO算法,實現(xiàn)了聲速不確定情況下LBL系統(tǒng)定位精度的顯著提高.傳統(tǒng)LBL系統(tǒng)定位方法通常設(shè)定單個恒定聲速值,并求解線性或非線性方程組來定位目標(biāo).這些方法不僅難以確定聲速,而且與實際情況有很大的差異,導(dǎo)致定位精度較差.本文提出了一種基于PSO算法的LBL系統(tǒng)定位方法.該方法通過設(shè)置每個應(yīng)答器和目標(biāo)之間的聲信號傳播速度不相等來建立多參數(shù)優(yōu)化問題,并利用PSO算法來解算得到有效聲速,再由得到的有效聲速對目標(biāo)進行定位.仿真實驗結(jié)果表明,所提出的算法具有比傳統(tǒng)算法更高的定位精度和更好的穩(wěn)定性,且計算效率足夠高.這表明該算法適用于解決無法獲得精確聲速剖面情況下的LBL系統(tǒng)定位問題.