郭 瑛, 王進(jìn)新, 鄭連振
(1.青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院 山東 青島 266061; 2. 中國海洋大學(xué) 信息科學(xué)與工程學(xué)院 山東 青島 266100)
海洋物聯(lián)網(wǎng)廣泛應(yīng)用于海洋學(xué)等領(lǐng)域,例如海洋數(shù)據(jù)收集、環(huán)境監(jiān)測、資源勘探和海軍軍事[1].在這些應(yīng)用中,收集的數(shù)據(jù)必須與位置信息匹配[2-3].因此,研究海洋物聯(lián)網(wǎng)定位具有重要現(xiàn)實(shí)意義.
近年來,海洋物聯(lián)網(wǎng)定位技術(shù)發(fā)展日漸成熟[4],但是與陸地物聯(lián)網(wǎng)定位技術(shù)相比,依然存在著較大差距[5].陸地物聯(lián)網(wǎng)定位通過全球定位系統(tǒng)(global positioning system,GPS)或者是直接定位方法快速實(shí)現(xiàn)節(jié)點(diǎn)定位,GPS技術(shù)得到了廣泛應(yīng)用[6].但在海洋物聯(lián)網(wǎng)水下環(huán)境中,主要通過聲波進(jìn)行通信,聲波在水中傳播速度受到多種因素的影響,例如:發(fā)射信號的功率低、噪聲大、信號能量衰減快以及信道的沖激響應(yīng)等[7].
水下信號的傳播介質(zhì)與陸地上的傳播介質(zhì)相差較大,GPS信號會迅速衰減,以至于無法定位[8-9].并且海洋物聯(lián)網(wǎng)中的節(jié)點(diǎn)位置會隨著海流移動而變化,從而增加了水下節(jié)點(diǎn)定位的誤差[10]. 因此,陸地定位技術(shù)不能直接應(yīng)用于海洋物聯(lián)網(wǎng),并且后者因很多限制因素而難以實(shí)現(xiàn).目前,陸地物聯(lián)網(wǎng)定位技術(shù)一般分兩種:基于距離的定位算法(range-based)和距離無關(guān)的定位算法(range-free)[11-12].range-based主要依據(jù)相鄰節(jié)點(diǎn)間的精確距離計(jì)算來測量節(jié)點(diǎn)的位置.包括多種算法機(jī)制,如:到達(dá)時間(time of arrival,TOA)、到達(dá)角度(angle of arrival,AoA)[13]、接收信號強(qiáng)度(received signal strength indicator,RSSI)[14]等.range-free不需要精確的節(jié)點(diǎn)位置即可定位.很多算法采用了這種技術(shù),如:質(zhì)心算法[15]、距離向量-跳段算法(distance vector-hop,DV-Hop)[16].由于水下和陸地環(huán)境的差異,這些方法不能用于海洋物聯(lián)網(wǎng).
大多數(shù)基于距離的定位算法都需要高精度的時間同步算法.其中,多跳擬合定位方法(multihops fitting localization approach,MFLA)[17]用于定位孤立未知節(jié)點(diǎn).此算法中使用的中間節(jié)點(diǎn)設(shè)置為路由器,通過貪婪方法構(gòu)建路徑,多跳路徑近似描述為直線,通過三邊定位方程來計(jì)算未知節(jié)點(diǎn)位置.Cheng等[18]提出了一種不需要時間同步的定位方案,這種大規(guī)模定位(localization scheme for large scale underwater networks,LSLS)采用到達(dá)時間差異方法測量不同傳感器的距離,LSLS算法應(yīng)用于大規(guī)模水下網(wǎng)絡(luò)定位.
距離無關(guān)的定位算法僅提供節(jié)點(diǎn)位置的模糊估計(jì).Hu等[19]介紹了蒙特卡洛定位方法,可以在節(jié)點(diǎn)的移動性不可控制的情況下,改善節(jié)點(diǎn)定位的精度和準(zhǔn)確度.一些研究人員使用無人機(jī)進(jìn)行海洋定位,多直升機(jī)協(xié)同網(wǎng)絡(luò)物理系統(tǒng)是一種無人駕駛四軸飛行器的網(wǎng)絡(luò)物理系統(tǒng),進(jìn)行空氣污染源的定位.在該系統(tǒng)中,采用了GPS定位,為系統(tǒng)提供連續(xù)和精確的定位信息,四軸飛行器需要布置大量傳感器定位污染源,通過射頻方式將所得信息返回到基站.然而射頻信號在水下傳輸距離較短,并且傳感器節(jié)點(diǎn)布置困難,此系統(tǒng)很難直接應(yīng)用于水下節(jié)點(diǎn)定位[20].
雖然這些算法涉及了在靜動態(tài)海洋環(huán)境中,信標(biāo)節(jié)點(diǎn)部署以及水下節(jié)點(diǎn)定位的問題,但都沒有同時考慮多信源節(jié)點(diǎn)靜動態(tài)定位以及速度對單信標(biāo)節(jié)點(diǎn)移動的影響等問題,從而無法在不同的海洋環(huán)境中精確部署節(jié)點(diǎn),不能達(dá)到準(zhǔn)確定位.為解決上述問題,基于海洋物聯(lián)網(wǎng)的特點(diǎn),本文提出了一種新的多信源海洋物聯(lián)網(wǎng)定位算法.該算法包括多信源靜態(tài)定位算法 MSL和多信源動態(tài)定位算法 MDL.該算法解決了信標(biāo)節(jié)點(diǎn)難以準(zhǔn)確部署的問題,節(jié)約了定位成本.同時,由于定位過程中,沒有輔助節(jié)點(diǎn)的參與,大大縮短了定位時間,減少了定位誤差.除此之外,本文算法較之前算法,更好地解決了當(dāng)前海洋物聯(lián)網(wǎng)定位的問題.
本文的貢獻(xiàn)主要是3個方面:1) 基于多信源海洋物聯(lián)網(wǎng)的特點(diǎn),將位置精確的岸邊建筑物、海面艦船和航標(biāo)等作為信標(biāo)節(jié)點(diǎn)輔助定位,減少了定位過程所需要信標(biāo)節(jié)點(diǎn)的數(shù)量(多信源靜態(tài)定位算法:近海海域需要的信標(biāo)節(jié)點(diǎn)的數(shù)量為4個,遠(yuǎn)海海域需要的信標(biāo)節(jié)點(diǎn)數(shù)量為2個;多信源動態(tài)定位算法中需要的信標(biāo)節(jié)點(diǎn)的數(shù)量僅為1個).2) 分析了海洋物聯(lián)網(wǎng)節(jié)點(diǎn)定位的基本原理,并說明了信標(biāo)節(jié)點(diǎn)與水下待定位節(jié)點(diǎn)之間的通信過程,設(shè)計(jì)了針對不同海洋環(huán)境的多源定位算法.3) 與其他定位算法進(jìn)行仿真比較,通過仿真結(jié)果,總結(jié)分析了不同海洋環(huán)境下MSL算法和MDL算法的性能.
為了實(shí)現(xiàn)水下目標(biāo)位置和軌跡的精確預(yù)判,需要利用信標(biāo)節(jié)點(diǎn)來進(jìn)行輔助定位.但是在實(shí)際部署過程中,由于受到海域外在條件限制,信標(biāo)節(jié)點(diǎn)的部署工作難以順利進(jìn)行.在海洋物聯(lián)網(wǎng)中,岸邊基站、建筑物以及海面船舶等具有精確位置的物體可作為信標(biāo)節(jié)點(diǎn)來輔助定位.本節(jié)設(shè)計(jì)了多信源海洋物聯(lián)網(wǎng)定位算法用于水下靜態(tài)、動態(tài)節(jié)點(diǎn)定位.
本節(jié)設(shè)計(jì)了多信源靜態(tài)節(jié)點(diǎn)定位算法 MSL,用于水下待定位節(jié)點(diǎn)定位過程中保持靜止的情況.
圖1 近海多信源靜態(tài)節(jié)點(diǎn)定位圖Fig.1 Multi-source static node localization in the offshore area
圖1標(biāo)明了信標(biāo)節(jié)點(diǎn)和水下待定位節(jié)點(diǎn)的分類,岸邊建筑物A、浮標(biāo)B、海面帆船C、輪船D作為信標(biāo)節(jié)點(diǎn),這類信標(biāo)節(jié)點(diǎn)可以利用攜帶的定位裝置時刻確定自身位置,節(jié)點(diǎn)N作為水下待定位節(jié)點(diǎn).水下待定位節(jié)點(diǎn)N以廣播形式發(fā)出定位請求信息,信標(biāo)節(jié)點(diǎn)在收到水下待定位節(jié)點(diǎn)N的請求定位信息后,采用TOA測距方法計(jì)算出其與水下待定位節(jié)點(diǎn)N之間的距離,具體公式為
di,N=c×ti,N,
(1)
其中:c為節(jié)點(diǎn)之間通信的水下聲波速度;ti,N為節(jié)點(diǎn)之間通信時間;i=A,B,C,D.
信標(biāo)節(jié)點(diǎn)和水下待定位節(jié)點(diǎn)通信過程中水下聲波速度公式[21]為
c=1449.30+4.6T-0.055T2+0.000 29T3+(1.34-0.010T)×(S-35)+0.168P,
(2)
其中:T表示節(jié)點(diǎn)所在海域水下溫度;S代表節(jié)點(diǎn)所在海域海水鹽度;P為節(jié)點(diǎn)在海域水下位置的壓強(qiáng).
信標(biāo)節(jié)點(diǎn)返回自身位置信息和它們與水下待定位節(jié)點(diǎn)N之間的距離.水下待定位節(jié)點(diǎn)N收到信標(biāo)節(jié)點(diǎn)返回的信息,利用多邊定位原理,得到多邊距離公式
(3)
圖2 遠(yuǎn)海多信源靜態(tài)節(jié)點(diǎn)定位圖Fig.2 Multi-source static node localization in the remote sea
其中:(xA,yA,zA)、(xB,yB,zB)、(xC,yC,zC)和(xD,yD,zD)分別是岸邊建筑物A、浮標(biāo)B、海面帆船C和輪船D的坐標(biāo);(xN,yN,zN)表示水下待定位節(jié)點(diǎn)N坐標(biāo);dAN、dBN、dCN、dDN分別是岸邊建筑物A、浮標(biāo)B、海面帆船C和輪船D與水下待定位節(jié)點(diǎn)N之間的距離.根據(jù)多邊公式(3)可以求得水下待定位節(jié)點(diǎn)N的坐標(biāo).MSL算法精度高、計(jì)算量小,但是在定位過程中,至少需要4個信標(biāo)節(jié)點(diǎn).
在遠(yuǎn)海,艦船、航標(biāo)、建筑物等分布相對稀疏,造成信標(biāo)節(jié)點(diǎn)數(shù)目有限,當(dāng)返回的位置信息數(shù)目不能達(dá)到使用定位算法中信標(biāo)節(jié)點(diǎn)數(shù)目下限時,水下待定位節(jié)點(diǎn)利用與移動的船舶多次通信完成位置坐標(biāo)的計(jì)算.圖2展現(xiàn)了這一過程.水下待定位節(jié)點(diǎn)N利用公式(3)計(jì)算得到位置.
MSL算法定位過程如下.
Algorithm 1: Multi-source static localization algorithm (MSL)Step 1 A1: Broadcast (Loc_request);Step 2 Receive (Position and Distance); Step 3 if (Num_beacon≤4)Step 4 Goto A1;Step 5 endifStep 6 Compute Position N with equation (3);
通常,水下節(jié)點(diǎn)在洋流等的影響下會隨水流移動,這樣就造成了作為信標(biāo)節(jié)點(diǎn)的船舶和水下待定位節(jié)點(diǎn)位置會隨著時間的變化而改變.在近海海域,分布著充足的信標(biāo)節(jié)點(diǎn),水下待定位節(jié)點(diǎn)發(fā)送一次定位請求信息,就可以得到充足定位信息.節(jié)點(diǎn)的移動不會影響最終算法性能.在遠(yuǎn)海,信標(biāo)節(jié)點(diǎn)數(shù)目不足,水下待定位節(jié)點(diǎn)收到定位信息不會達(dá)到定位需求,這就會給節(jié)點(diǎn)定位帶來影響.
由于水下待定節(jié)點(diǎn)得到定位請求回復(fù)位置不是固定的,直接利用靜態(tài)定位算法對水下待定位節(jié)點(diǎn)進(jìn)行位置的計(jì)算會帶來較大誤差.為了解決上述問題,本節(jié)設(shè)計(jì)了多信源動態(tài)節(jié)點(diǎn)定位算法MDL.
如圖3所示,水下待定位節(jié)點(diǎn)N廣播定位請求信息,船舶在位置A收到該請求信息,利用公式(1)計(jì)算得到兩點(diǎn)之間的距離dAN,并將其返回給水下待定位節(jié)點(diǎn)N.水下待定位節(jié)點(diǎn)N收到返回的信息后,立刻連續(xù)發(fā)送3次定位請求信息.船舶在位置B、C、D收到這些定位請求信息,利用公式(1)分別計(jì)算出兩點(diǎn)之間的距離dBN、dCN、dDN,再將求得的信息返回給水下待定位節(jié)點(diǎn)N,具體的通信過程如圖4所示.
圖3 多信源動態(tài)節(jié)點(diǎn)定位圖Fig.3 Multi-source dynamic node localization
圖4 信息交換圖Fig.4 Information exchange process
水下待定位節(jié)點(diǎn)N在水流作用下具有移動特性,其在收到船舶的信息后,連續(xù)發(fā)送3次信息,時間間隔很短,在幾秒內(nèi)就能完成.在計(jì)算兩點(diǎn)之間距離的時候,依然可以利用TOA測距方法進(jìn)行計(jì)算.水下待定位節(jié)點(diǎn)的移動速度較慢,位置變化在非常短的時間內(nèi)可以忽略不計(jì)[22].因此,可以采用方程組(3)解得水下待定位節(jié)點(diǎn)N的位置.
當(dāng)多艘船舶經(jīng)過水下待定位節(jié)點(diǎn)部署區(qū)域,利用MDL算法可以得到水下待定位節(jié)點(diǎn)的位置.每增加一艘經(jīng)過水下待定位節(jié)點(diǎn)部署區(qū)域的船舶,MDL算法運(yùn)行次數(shù)增加一次,這樣求得不同的定位結(jié)果,將其求平均值,并將所得平均值作為水下待定位節(jié)點(diǎn)的最終位置,這樣就可提升水下待定位節(jié)點(diǎn)的定位精度.MDL算法運(yùn)行如下.
Algorithm 2: Multi-source dynamic localization algorithm (MDL)Step 1 Broadcast (Loc_request);Step 2 Receive (Position A); Step 3 Send (Location message 1);Step 4 Send (Location message 2);Step 5 Send (Location message 3);Step 6 Compute Distance (dAN);Step 7 Receive (Position B、C、D and DistancedBN、dCN、dDN); Step 8 Compute Position N with equation (3);
在海洋物聯(lián)網(wǎng)水下待定位節(jié)點(diǎn)進(jìn)行定位的過程中,首先選擇數(shù)量較為充足的多信源節(jié)點(diǎn)進(jìn)行定位.當(dāng)信源節(jié)點(diǎn)數(shù)量少于4個,應(yīng)將移動船舶與水下待定位節(jié)點(diǎn)進(jìn)行多次通信,以得到足夠多的位置信息進(jìn)行節(jié)點(diǎn)的位置計(jì)算.當(dāng)部分節(jié)點(diǎn)無法與類似于船舶的信標(biāo)節(jié)點(diǎn)進(jìn)行通信,而無法得到足夠多的定位信息的時候,則可以利用與其周圍已經(jīng)定位的水下節(jié)點(diǎn)進(jìn)行通信,從而讓已經(jīng)定位的水下節(jié)點(diǎn)充當(dāng)信標(biāo)節(jié)點(diǎn)進(jìn)行輔助定位.最終實(shí)現(xiàn)全網(wǎng)范圍的水下待定位節(jié)點(diǎn)的定位.
大多數(shù)商用和民用船舶的位置信息都是公開的,并且可以公開用于水下節(jié)點(diǎn).因此,該算法可以應(yīng)用于許多領(lǐng)域,如水下環(huán)境監(jiān)測、目標(biāo)跟蹤等.
在該節(jié)中,我們通過仿真分析MSL算法和MDL算法的性能.為了簡化,我們將船舶作為信標(biāo)節(jié)點(diǎn).仿真實(shí)驗(yàn)分為兩部分:第一部分是MSL算法的仿真實(shí)驗(yàn);第二部分是MDL算法的仿真實(shí)驗(yàn).同時,將MSL和MDL算法的性能與MFLA算法和LSLS算法進(jìn)行比較. MFLA和LSLS算法考慮受水流影響的節(jié)點(diǎn)運(yùn)動情況,由于這兩種算法的水下待定位節(jié)點(diǎn)獨(dú)特的定位過程,致使這兩種算法可以用于靜態(tài)或動態(tài)海洋環(huán)境;另外,這兩種算法的水下待定位節(jié)點(diǎn)位置可以通過三邊定位方程來計(jì)算.因此,本文將所提出的算法分別與MFLA和LSLS算法進(jìn)行了比較,仿真結(jié)果表明了MSL和MDL算法要優(yōu)于MFLA和LSLS這兩種算法.
在整個仿真實(shí)驗(yàn)中,使用Matlab R2016a作為仿真平臺,并對算法參數(shù)進(jìn)行設(shè)置.第一部分為MSL算法參數(shù)設(shè)置,在400 m×400 m×100 m的區(qū)域內(nèi)隨機(jī)部署了20個水下待定位節(jié)點(diǎn),設(shè)置水下待定位節(jié)點(diǎn)的通信半徑為100 m.第二部分為MDL算法參數(shù)設(shè)置,水下待定位節(jié)點(diǎn)隨機(jī)部署在相同的區(qū)域內(nèi), 將船舶移動速度設(shè)定為2~20 m/s,水下待定位節(jié)點(diǎn)隨水流移動的速度設(shè)定為0.5 m/s,參與定位的船舶數(shù)量設(shè)置為1艘, 信息發(fā)送時隙為1 s,設(shè)置水下待定位節(jié)點(diǎn)的通信半徑為100 m.在整個仿真過程中,將海水溫度和鹽度設(shè)定為15 ℃和3.5%.為了簡化,忽略海水溫度和鹽度的變化.水下待定位節(jié)點(diǎn)的Z軸坐標(biāo)可以通過其壓力傳感器直接獲得. 距離估計(jì)誤差服從標(biāo)準(zhǔn)差為0.3%的正態(tài)分布.另外,使用的計(jì)算水下待定位節(jié)點(diǎn)的定位誤差公式[23]為
(4)
其中:xest、yest、zest是通過算法計(jì)算得到的水下待定位節(jié)點(diǎn)的坐標(biāo);xori、yori、zori是水下待定位節(jié)點(diǎn)的原始坐標(biāo).
2.2.1MSL算法仿真 在MSL算法仿真實(shí)驗(yàn)中,隨機(jī)部署的20個水下待定位節(jié)點(diǎn),將其原始位置與計(jì)算所得的位置進(jìn)行比較. 比較結(jié)果如圖5所示,由圖中展示的水下待定位節(jié)點(diǎn)的位置可以得到,通過MSL算法計(jì)算得到的節(jié)點(diǎn)位置更加接近原始節(jié)點(diǎn)的位置.
圖6顯示了通過MSL、MFLA和LSLS算法分別得到的水下待定位節(jié)點(diǎn)的定位誤差比較結(jié)果.表1更直觀地列出了3種算法定位誤差的相關(guān)細(xì)節(jié).從表1可以得到,MSL算法的節(jié)點(diǎn)定位平均誤差減少的倍數(shù)分別為MFLA算法的30%和LSLS算法的49%.這是因?yàn)镸SL算法的節(jié)點(diǎn)定位原理與MFLA和LSLS算法不同,MFLA算法用到的節(jié)點(diǎn)之間夾角角度變化幅度具有差異性.在LSLS算法中,信標(biāo)節(jié)點(diǎn)與水下待定位節(jié)點(diǎn)之間距離的變化,造成了兩點(diǎn)之間通信時間的增大,進(jìn)而使算法中時間運(yùn)算部分的誤差加大.這些因素增加了MFLA和LSLS算法的節(jié)點(diǎn)定位誤差.
圖5 水下節(jié)點(diǎn)分布位置Fig.5 Nodes′ original and estimated positions
圖6 節(jié)點(diǎn)定位誤差Fig.6 Localization errors
表1 定位誤差的比較Tab.1 Comparison result of localization errors 單位:m
為了分析這3種算法在大規(guī)模節(jié)點(diǎn)部署中的定位誤差,在同一區(qū)域內(nèi)隨機(jī)部署了1 000個水下待定位節(jié)點(diǎn). 圖7顯示了MSL、MFLA和LSLS算法的節(jié)點(diǎn)定位誤差的CDF.從圖中可以看出當(dāng)CDF值為0.6時,MSL、MFLA和LSLS算法的節(jié)點(diǎn)定位誤差分別為3.65 m、5.10 m和6.15 m.相比于其他兩種算法,MSL算法在靜態(tài)海洋環(huán)境中具有較小的節(jié)點(diǎn)定位誤差和較好的穩(wěn)定性.
2.2.2MDL算法仿真 圖8展示了MDL、MFLA和LSLS算法的動態(tài)水下待定位節(jié)點(diǎn)定位誤差CDF.實(shí)驗(yàn)結(jié)果如圖8所示,當(dāng)CDF值為0.6時,MDL算法節(jié)點(diǎn)定位誤差為4.84 m,MFLA和LSLS算法的節(jié)點(diǎn)定位誤差分別為6.15 m和7.55 m. 由此可以得到,在動態(tài)的海洋環(huán)境中,MDL算法大規(guī)模節(jié)點(diǎn)定位誤差要遠(yuǎn)小于這兩種算法,其穩(wěn)定性更好.
圖7 靜態(tài)節(jié)點(diǎn)定位誤差的CDFFig.7 CDF of static node localization errors
圖8 動態(tài)節(jié)點(diǎn)定位誤差的CDFFig.8 CDF of dynamic node localization errors
圖9 MDL、MFLA、LSLS算法船舶速度對定位誤差的影響Fig.9 Localization errors and speed by MDL, MFLA, LSLS Algorithm
在水下待定位節(jié)點(diǎn)動態(tài)定位過程中,信標(biāo)節(jié)點(diǎn)的移動速度是一個重要的影響因素.為了研究船舶速度變化的影響,將其速度變化范圍設(shè)置在2~20 m/s之間.在圖9中,MDL、MFLA和LSLS算法的節(jié)點(diǎn)定位誤差隨著信標(biāo)節(jié)點(diǎn)速度的增加而逐漸減少.對于MDL算法來說,在水下待定位節(jié)點(diǎn)定位過程中,船舶和水下待定位節(jié)點(diǎn)的移動,以及船舶速度增加,這兩個因素致使兩點(diǎn)之間通信距離增大,從而提高了三邊定位法的求解精度,進(jìn)而使節(jié)點(diǎn)定位誤差逐漸減小,圖中曲線整體趨勢由高到低.MFLA算法采用多跳傳輸?shù)姆椒?,信?biāo)節(jié)點(diǎn)和水下待定位節(jié)點(diǎn)之間的通信過程相對穩(wěn)定,由兩邊(同一側(cè)的兩個節(jié)點(diǎn)構(gòu)成一條邊)形成的角度變化很小,從而導(dǎo)致節(jié)點(diǎn)定位誤差變化幅度緩慢. LSLS算法不考慮信標(biāo)節(jié)點(diǎn)的移動性,并且不能很好地通過信標(biāo)節(jié)點(diǎn)來構(gòu)建錨節(jié)點(diǎn)組,因此在節(jié)點(diǎn)定位過程中,定位誤差變化較大. MDL、MFLA和LSLS算法的平均節(jié)點(diǎn)定位誤差分別為4.174 5 m、5.108 3 m和7.020 m.與MFLA和LSLS算法相比,MDL算法的平均節(jié)點(diǎn)定位誤差分別減少了19%和40%.由此可以證明,在動態(tài)的海洋環(huán)境中,MDL算法的定位精度要高于MFLA和LSLS算法.
從上述的仿真實(shí)驗(yàn)結(jié)果圖可以明顯看出,MSL和MDL算法的定位誤差要小于MFLA和LSLS算法.MSL和MDL算法節(jié)點(diǎn)定位過程,需要信標(biāo)節(jié)點(diǎn)的數(shù)量僅為一個,且無須其他輔助節(jié)點(diǎn).水下待定位節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)直接通信,避免了其他節(jié)點(diǎn)輔助通信定位帶來的誤差影響.但是,MFLA算法需要其他輔助節(jié)點(diǎn)來構(gòu)造多跳路徑.路徑長度(相鄰路徑的長度由三個相鄰節(jié)點(diǎn)組成的角度計(jì)算)誤差隨信標(biāo)節(jié)點(diǎn)移動而變大.LSLS算法需要3個節(jié)點(diǎn)(包含金、銀和銅節(jié)點(diǎn))來形成一個節(jié)點(diǎn)組.在本文相同的仿真實(shí)驗(yàn)環(huán)境中,信標(biāo)節(jié)點(diǎn)的數(shù)量只有一個,無法自由形成節(jié)點(diǎn)組,這樣造成節(jié)點(diǎn)組組成部分受到限制,從而導(dǎo)致節(jié)點(diǎn)之間通信時延增大.因此,MSL和MDL定位精度更高、穩(wěn)定性更好、實(shí)用性更強(qiáng).
根據(jù)海洋物聯(lián)網(wǎng)的特性,提出了多信源海洋物聯(lián)網(wǎng)定位算法,包括多信源靜態(tài)定位算法MSL和多信源動態(tài)定位算法MDL.該算法可以只利用有定位信息的艦船、航標(biāo)、建筑物作為信標(biāo)節(jié)點(diǎn),進(jìn)行水下節(jié)點(diǎn)定位,而不需要其他錨節(jié)點(diǎn)等輔助節(jié)點(diǎn).通過仿真實(shí)驗(yàn),證明MSL算法和MDL算法是精確的定位算法,在海洋物聯(lián)網(wǎng)應(yīng)用中,具有很好的實(shí)用性.