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