陳嘉興,程 杰,董云玲,劉志華
(1.河北師范大學計算機與網(wǎng)絡空間安全學院,河北石家莊 050024;2.河北師范大學河北省網(wǎng)絡與信息安全重點實驗室,河北石家莊 050024;3.河北師范大學河北省供應鏈大數(shù)據(jù)分析與數(shù)據(jù)安全工程研究中心,河北石家莊 050024;4.河北正定師范高等??茖W校,河北石家莊 050800)
近年來,水下無線傳感器網(wǎng)絡(Underwater Wireless Sensor Networks,UWSNs)受到國內外學者的廣泛關注[1].UWSNs作為無線傳感器網(wǎng)絡(Wireless Sensor Networks,WSNs)的延伸,用來獲取監(jiān)測水域的實時信息.其中,位置信息對某些UWSNs的應用場景至關重要,如環(huán)境監(jiān)測、海洋采樣、災害預防等[2].因此,UWSNs的節(jié)點定位技術頗具研究意義.然而,GPS(Global Positioning System)難以為水下節(jié)點提供位置參考[3].因此,需要通過節(jié)點部署、路徑規(guī)劃等方法賦予一部分節(jié)點精確的位置信息,以便為其他節(jié)點提供位置參考,通常稱其為參考節(jié)點,而其余節(jié)點稱為未知節(jié)點,需根據(jù)參考節(jié)點估計自身位置[4,5].
由于水下參考節(jié)點位置難以獲得且易受水流影響,所以參考節(jié)點的部署策略、位置獲取是UWSNs定位的首要難題[6].此外,UWSNs的聲波通信方式使其通信時延遠大于WSNs[7].因此,UWSNs 中基于時間的測距方法如到達時間(Time of Arrival,ToA)的精度也會有所下降;由于介質分層導致的聲線(聲信號傳播軌跡)彎曲的影響,基于到達角度(Angle of Arrival,AoA)的UWSNs定位算法需重新設計[8].
綜上,UWSNs 定位算法應考慮以下方面:(1)因參考節(jié)點位置不精確導致的定位誤差[9];(2)因水下聲信號傳播特性及傳感器精度導致的測量誤差[10];(3)因障礙物對信號反射導致的測量誤差.
為降低因參考節(jié)點位置不精確導致的定位誤差,文獻[10]采用了自上而下的定位思路,將帶有GPS 的參考節(jié)點布置在水面,逐層定位水下節(jié)點.文獻[7]推導了度量翻轉歧義的節(jié)點置信度用以優(yōu)化自上而下的定位框架,有效降低了累積誤差.其他針對參考節(jié)點位置不確定性的優(yōu)化方案有基于射線方程的最大似然法[6]和基于測量過程的狀態(tài)演化模型[11].為了降低由于水下聲信號傳播特性及傳感器精度導致的測量誤差,文獻[12]構建了適用于彎曲聲線的ToA 測距誤差和有效聲速的映射關系.文獻[8]在噪聲分布和聲線已知的前提下提出了一種適用于彎曲聲線的ToA 補償技術.為了降低障礙物對信號反射導致的非視距路徑測距誤差,文獻[13]提出了兩步加權最小二乘定位策略.文獻[14]在兩步最小二乘的基礎上構造了概率分布函數(shù)來降低非視距路徑的影響.其他非視距路徑優(yōu)化方案有高斯混合模型[15]、半定規(guī)劃[16].
然而,在UWSNs 中需同時考慮彎曲聲線和障礙物對測距影響.此時,沿用視距路徑與非視距路徑對兩種測距情況進行描述并不恰當.因此,下文將使用理想路徑和非理想路徑描述上述兩種情況.
為了降低非理想路徑及聲線彎曲對測距的影響,本文提出了一種拋物模型PMRL(Parabolic Model Ranging Localization)定位算法.
針對水下參考節(jié)點位置的不確定性,本文在自上而下定位框架[10]的基礎上,將參考節(jié)點同時部署在水面和水下.此外,假設水下的普通節(jié)點和障礙物隨機分布,如圖1所示.
在圖1所示的模型中,僅有水面參考節(jié)點能夠通過GPS實時獲取自身位置,而水下參考節(jié)點通過與水面參考節(jié)點通信獲得自身位置,水下普通節(jié)點則通過與水下參考節(jié)點通信獲得自身位置.因此水下參考節(jié)點需具備較強的通信能力.此外,為了降低由于誤差累積引起的定位誤差,將置信度η[10]大于95%的已定位的普通節(jié)點升級為參考節(jié)點,其中η由式(1)算得.
圖1 節(jié)點分布模型
其中,△hi=|w-zi|為普通節(jié)點U與參考節(jié)點Ci之間的深度差.(u,v,w)為節(jié)點U的坐標,(xi,yi,zi)為能與U通信的第i(i=1,2,…,nc)個參考節(jié)點Ci的坐標,nc為能與節(jié)點U通信的參考節(jié)點的數(shù)量.di為普通節(jié)點U與參考節(jié)點Ci之間距離的測量值.
基于上述模型,PMRL 算法需要對水下參考節(jié)點和普通節(jié)點進行定位.由于兩種節(jié)點的定位過程在算法思路上沒有區(qū)別.因此,下文中將使用參考節(jié)點和未知節(jié)點對上述兩種情況進行統(tǒng)一闡述.
PMRL 算法結合AoA 和壓力傳感器得到了拋物模型測距法,然后結合ToA 得到了非理想路徑判別閾值和測距優(yōu)化公式的系數(shù)的計算方法.
根據(jù)文獻[12],水下聲速為僅與水深h相關的函數(shù)v(h).這與聲速分層效應[8]相吻合,即在豎直方向聲速變化較大.因此,該過程可類比拋物運動模型,假設水平方向聲速不變.
設參考節(jié)點C在t1時刻廣播自身位置,未知節(jié)點U在t2時刻接收到節(jié)點C的信息.當聲信號從深度為hC的節(jié)點C到達深度為hU的節(jié)點U時,可利用AoA 測得此時聲信號的傳播速度vU與z軸夾角為α且α∈[0,π 2],則聲信號在水平、豎直方向上的速度vxy、vz(h)分別為
聲信號從節(jié)點C到U的所用的時間ΔtCU為
根據(jù)積分對稱性,不妨設hU>hC.若僅考慮速度變化而忽略彎曲聲線,可用式(5)計算節(jié)點C與U之間的距離
由于障礙物影響,當聲信號無法沿理想路徑傳播時,聲信號將沿非理想路徑傳播.此時,AoA 測得的非理想角度α將導致拋物模型測距法失效.因此,需要對非理想路徑下的測距進行識別并剔除.
識別某一測距是否為非理想路徑的過程如下:首先利用式(4)計算信號傳播時間然后利用可以避免時鐘同步的ToA 測量信號傳播時間,即節(jié)點U在t2時接收到節(jié)點C的位置信息后,在t3時刻發(fā)送返回信息,而節(jié)點C在t4時刻接收到該信息.則為
最后計算測量時間與計算時間之間的差值et
若|et|大于閾值μ,則認為該測距為非理想路徑測距.
由拉格朗日中值定理得
其中,ΔtCU為信號傳播時間真值為信號傳播測量時間,ξ為測量噪聲,且ξ~N(0,Q).
設信號傳播角度真值為α,測量值為,修正值為,修正誤差為結合擴展卡爾曼濾波算法得
其中K為系數(shù).K取
步驟1 參考節(jié)點C實時廣播自身位置信息及相應時間戳.
步驟2 未知節(jié)點U接收到C廣播的信息后,向C發(fā)送包含時間戳的確認信息.
步驟3 利用拋物模型測距法計算,利用閾值μ識別并剔除非理想路徑測距,并修正剩余測距.
步驟4 利用投影法和最小二乘法完成定位.
本文使用Matlab2017b 對算法進行仿真驗證,其余仿真參數(shù)如表1 所示.由于算法需要實測的深度與聲速關系建立水下聲速模型,本文利用Origin2019b 和文獻[12]中數(shù)據(jù)v(h)進行擬合,其結果為:
表1 仿真參數(shù)表
為了模擬實際測距過程,在深度差和角度α隨機的情況下,改變參數(shù)計算時間誤差如圖2 所示.當=0.001 時,時間誤差的下降效果最為明顯.因此,在接下來的仿真過程中取=0.001.
圖2 參數(shù)與時間誤差的關系
由于彎曲聲線下難以仿真本文算法所需的信號接收角度α,所以必須基于全部測距結果計算一個最大的非理想路徑識別閾值用于仿真識別.
圖3為參數(shù)=0.001,Q隨機,其他參數(shù)取表1所示參數(shù)時,計算去真率、存?zhèn)温屎妥R別錯誤率得到的仿真圖.由于識別閾值偏大而導致去真率一直為0 而存?zhèn)温瘦^大,從而使識別錯誤率一直偏大,且隨著通信半徑增大而不斷減小.這是由于隨著R增大,其真正的識別閾值與全局最大的非理想路徑識別閾值逐漸接近.直至R增大網(wǎng)絡區(qū)域最大值,去真率達到0.7%,存?zhèn)温蔬_到9.6%,識別錯誤率達到7.7%.此時的非理想路徑識別閾值與設定值吻合,識別效果最優(yōu).
圖3 通信半徑與非理想路徑識別率的關系
為驗證PMRL 算法的有效性,本文設置了以下4 種算法:不考慮彎曲聲線和測距修正的SM(Straight sound ray and Measurement)定位算法、僅考慮測距修正的SO(Straight sound ray and Optimization)定位算法、僅考慮彎曲聲線的CM(Curved sound ray and Measurement)定位算法和考慮彎曲聲線和測距修正的CO(Curved sound ray and Optimization)定位算法.并將文獻[10]的CGT 算法和文獻[6]的CRLB 算法作為對比算法,取參數(shù)=0.001,其他參數(shù)如表1所示.
圖4為參考節(jié)點數(shù)(理想路徑測距對應的參考節(jié)點數(shù))取3 到7,改變參數(shù)Q并將CO 算法應用于水下參考節(jié)點定位的仿真圖.由圖4 可知,隨著參數(shù)Q減小,定位誤差逐漸降低但不穩(wěn)定.這是由于參考節(jié)點數(shù)不同時,通信范圍和參數(shù)Q及α使參考節(jié)點的測距誤差出現(xiàn)了較大差異,弱化了最小二乘法的優(yōu)化能力.
圖4 參考節(jié)點數(shù)與參數(shù)Q對定位誤差的影響
圖5 為參考節(jié)點數(shù)取3 到7,參數(shù)Q取0.001 得到的仿真圖.由圖5 可知,提出的測距修正方法對考慮彎曲聲線的測距算法和不考慮彎曲聲線的測距算法均有效,而且經(jīng)過測距修正后的算法定位誤差更低,定位效果更穩(wěn)定,這與角度α的誤差有關.而CGT 和CRLB 算法不受α的影響,因此定位誤差隨著參考節(jié)點數(shù)增加而減少.
圖5 參考節(jié)點數(shù)對定位誤差的影響
圖6為通信半徑取300 m到1 500 m,參數(shù)Q取0.001得到的仿真圖.由圖6 可知,通信半徑對CGT、CRLB 算法的影響較小,較SM、SO、CM、CO 算法更為穩(wěn)定,但SO、CO算法定位誤差更低.這表明,提出的測距模型雖然受角度α和深度差的影響而穩(wěn)定性較差,但通過對角度α修正能有效降低測距誤差.
圖6 通信半徑對定位誤差的影響
本文構建了水下聲速拋物模型,并提出了PMRL定位算法,解決了水下聲線彎曲及障礙物干擾引起的定位誤差較大的問題.在噪聲滿足高斯分布的條件下提出了非理想路徑測距識別和理想路徑測距修正方法.仿真表明,該算法綜合性能較好,能夠有效地降低定位誤差.未來將針對覆蓋和節(jié)能要求對此類技術進行深入研究.