杜秀娟,王麗娟,劉靜萍,金龍
(1.青海師范大學計算機學院,青海 西寧 810008;2.青海省物聯網重點實驗室,青海 西寧 810008;3.藏語智能信息處理及應用國家重點實驗室,青海 西寧 810008;4.高原科學與可持續發展研究院,青海 西寧 810008;5.蘭州大學信息科學與工程學院,甘肅 蘭州 730000;6.青海師范大學網絡信息中心,青海 西寧 810016)
水下無線傳感器網絡(UWSN,underwater wireless sensor network)逐漸成為一種實現海洋大規模監測的技術方向[1]。對于海洋資源開發和海洋災害預警來說,能夠提供精準的時空數據是對UWSN 的一個重要需求[2]。此外,還有許多UWSN 技術,如媒體訪問控制(MAC,medium access control)機制、路由轉發以及拓撲控制等,都依賴于節點位置信息來實現[3]。然而,水下環境的動態性或節點的自主運動導致節點位置時刻在改變,使UWSN 中的節點定位問題成為時變定位問題。如何對時變定位問題進行建模并實現快速且精確的求解值得關注。
國內外學者針對UWSN 節點定位開展了各種研究,并以測距定位方法和無測距定位方法為主[4]。前者通過測距技術獲得節點間距離,進而采用三角定位法或三邊定位法實現定位;后者通過節點連通性實現定位[5]。在測距定位方法中,使用的測量技術有到達角度(AoA,angle of arrival)、到達時間(ToA,time of arrival)、到達時間差(TDoA,time difference of arrival)以及接收信號強度(RSS,received signal strength)[6]。少部分位置信息已知的節點被稱為錨節點;其他節點被稱為未知節點,需要借助錨節點坐標來確定位置。文獻[7]提出了一種被動式水下定位方案(UPS,underwater positioning scheme),未知節點通過被動接收錨節點依次發來的定位信息,采用TDoA 測量實現靜默定位。文獻[8]提出一種按需異步定位(ODAL,on-demand asynchronous localization)機制,將主動定位與被動定位相結合,按需實現高精度或相對低精度的定位,被動定位過程涉及TDoA 測量。借助深度傳感器,文獻[9]提出了一種將三維ToA 測距結果投影到二維平面的解決思路,不僅不影響定位性,還在一定程度上降低了定位難度。文獻[10-11]結合ToA 和AoA信息,通過單個錨節點對水下潛器進行定位。測距定位方法的定位精度高于無測距定位方法。但上述文獻都以一種靜態的方式處理定位問題,并未考慮真實情況下定位問題的時變特性。鑒于此,本文使用測距定位方法,即AoA 定位算法和TDoA 定位算法,結合UWSN 節點定位問題的時變性,采用一種高效的解決辦法——神經動力學方法,實現對未知節點的快速精確定位。
遞歸神經網絡(RNN,recurrent neural network)可用于解決一些復雜問題,如時變希爾維斯特方程求解[12]、非線性優化[13]、自動控制[14]等。此外,一些基于遞歸神經網絡的方法被用于解決無線定位問題。文獻[12]提出了一種用于求解時變廣義希爾維斯特方程的具有噪聲抑制功能的RNN 模型,其在聲源定位上的應用證明該RNN 模型適用于移動節點定位場景。此外,Assaf 等[15]針對無線信道開發了一種新的無測距定位算法用于對抗各向異性衰減。文獻[16]提出的一種RNN方法被有效應用于WSN的無測距定位場景中。作為一種特殊的遞歸神經網絡,歸零神經網絡及其不同程度的改進版本[17-20]為神經網絡的發展和應用做出了突出貢獻。歸零神經動力學(ZND,zeroing neural dynamics)由神經網絡發展而來,是一種特殊的神經動力學,可以保證誤差函數收斂于零。如前文所述,RNN 已被應用于無線定位系統,但其與UWSN 節點定位相融合的有關工作并未被開展。本文設計了帶有非線性激活函數的歸零神經動力學(NL-ZND,nonlinear function-activated ZND)模型分別求解基于AoA 和TDoA 的UWSN 時變定位問題。理論分析和計算機仿真結果表明,該神經動力學模型具有良好的收斂性能、高精確度以及動態環境下的穩健性。本文主要貢獻如下。
1) 將神經動力學技術拓展到UWSN 領域,使用歸零神經動力學模型實現對節點定位問題的高效求解。
2) 由于水下環境的動態性或節點的自主運動,UWSN 節點定位問題為時變問題,對該問題進行分析,將其建模為線性動態矩陣方程。
3) 提出了帶有非線性激活函數的改進神經動力學模型,并通過嚴格的數學分析證明其具有有限時間收斂性能。仿真實驗表明,所提NL-ZND 模型在求解基于AoA 和TDoA 定位問題時具有較高定位精度以及移動定位穩健性。
本節闡述了基于AoA 和TDoA 的UWSN 定位問題,并給出了這2 個問題的統一數學模型;然后,給出利用傳統ZND 求解定位問題的解決方案。
本文分別考慮了二維AoA 定位算法以及三維TDoA 定位算法。以一個小型的局部拓撲為研究范圍,一個未知節點通過幾個錨節點的輔助實現定位。需要說明的是,UWSN 通常被視為處于三維場景中,但對于處在相同深度的節點,可以暫時忽略深度信息,視為二維平面進行簡化處理,因此本文討論了二維AoA 定位算法。無論是二維還是三維UWSN拓撲結構,本文所提模型均具有靈活的適用性。
1.1.1 AoA 定位算法
對于AoA 定位算法,未知節點的位置坐標需借助通信信號(聲波信號)在接收節點即錨節點處的到達角度求得。考慮在一個二維場景中,未知節點的位置隨時間而改變,錨節點則被隨機部署,且位置固定。首先,定義m個錨節點的坐標H以及未知節點的坐標h(t)分別為

根據AoA 的幾何意義,在任一時刻,每個錨節點與未知節點的AoA 的正切函數值為

其中,i∈ {1,2,…,m},αi(t)表示未知節點與第i個錨節點的通信信號到達角度。式(1)可被等價轉化為-tan(αi(t))x(t)+y(t)=yi-xitan(αi(t))。最終,二維場景下基于AoA 的節點定位問題可表示為

1.1.2 TDoA 定位算法
TDoA 定位算法通過測量未知節點發出的通信信號分別到達各個錨節點的時間差來估計未知節點的位置,其考慮的是一個動態的三維場景。定義m個錨節點的坐標N和未知節點的坐標n(t)分別為

根據TDoA 的物理意義可得

其中,i∈ {1,2,…,m},v表示通信信號在介質中的傳播速度,Ti(t)表示信號從未知節點到第i個錨節點的傳播時間,ΔTi1(t)表示信號從未知節點分別傳播到第i個和第一個錨節點的時間差,ri(t)表示未知節點和第i個錨節點間的距離,ri1(t)表示未知節點到第i個和第一個錨節點的距離差。經推導(如附錄1 所示)可得三維場景中基于TDoA 的節點定位問題為

1.1.3 統一的表達式
根據式(2)和式(3),基于AoA和TDoA的UWSN定位問題可表示為動態矩陣方程,即

其中,P(t) ∈Rp×q為已知的系數矩陣,并且涉及通信信號的到達角度和到達時間差;z(t) ∈Rp為已知向量;s(t) ∈Rq(q=2或者q=4)為未知向量,并且涉及未知節點的待求位置。
目前,ZND 在動態問題上已得到了較好的應用。傳統ZND 模型的構建分為以下3 個步驟。
步驟1構建誤差函數e(t)=P(t)s(t) -z(t) ∈Rp。
步驟2為了保證誤差函數e(t)的每一個元素收斂于0,定義演化方程e˙ (t)=-γF(e(t)),其中,e˙ (t)為e(t)的時間導數;縮放因子γ> 0;F(·) : Rp→Rp為線性激活函數組,其中的每個元素為f(·):R →R。
步驟3將e(t)誤差函數代入演化方程,獲得用于求解UWSN 定位問題式(4)的傳統歸零神經動力學求解方案,即

基于以上ZND 模型,本文進一步探索并提出了一種改進的歸零神經動力學模型——NL-ZND 模型,用來求解式(4)。
首先,定義誤差函數為e(t)=P(t)s(t) -z(t)∈Rp;然后,采用非線性的單調遞增的奇函數加快e(t)收斂。因此,步驟2 中的演化方程可改寫為

其中,φ為一個正值,用于控制神經動力學模型的收斂速率;與傳統ZND 模型所使用的線性激活函數組F(·): Rp→Rp不同,L(·) :Rp→Rp為一組單調遞增的奇函數ι(·) : R →R,使誤差函數的每一項都在有限時間內收斂于零。式(5)中,等號左邊表示e(t)的變化率,右邊表示以負反饋的方式使e(t)趨近于0。對于實際應用中的網絡部署場景,式(4)在數學上通常是正定或超定的。接下來,利用式(5)得出正定情況下求解UWSN 定位問題的神經動力學模型為

其中,P+(t)表示矩陣P(t)的逆矩陣。對于超定情況(p>q),通過將誤差函數代入式(5)并對兩邊同時乘以P(t)T,得到神經動力學模型為

如果P(t)是列滿秩的,那么P+(t)P(t)是可逆的,并且P+(t)=(P(t)TP(t))-1P(t)T成立。因此,式(7)可寫作

顯然,正定或者超定情況下的神經動力學模型是一致的。因此,用于求解UWSN 定位問題的神經動力學模型可以統一表示為式(8)。從上述分析中可以看出,式(7)和式(8)在一定情況下是等價的,本文在后續的計算機仿真實驗中也證實了這一點。仿真部分展示的式(8)模型的結果同樣可以解釋式(7)模型。
一般而言,一個激活函數表示從一個集合到另一個集合的投影操作,不同的激活函數產生不同的收斂性能。使用線性激活函數的ZND 模型往往花費較長時間達到收斂效果。因此,本文基于式(8)模型,提出了帶有非激活函數的歸零神經動力學模型來求解UWSN 定位問題式(4),并對其收斂性能進行了嚴格的理論證明。
正如前文所述,使用線性激活函數的ZND 模型的能力是受限的。受文獻[21]的啟發,本文將一個特殊設計的非線性激活函數應用于式(8)模型,即

其中,符號| |表示標量的絕對值;縮放因子κ1,κ2> 0;設計參數τ∈ (0,1),σ∈ [1,+∞)。符號函數定義如下

將激活函數式(9)代入式(8),可以得到用于求解定位問題式(4)的改進神經動力學模型為

式(11)所示改進模型稱為NL-ZND 模型。接下來,本文對NL-ZND 模型的收斂性能進行理論證明。
定理1給定一個任意的初始位置s(0),由NLZND模型估計的未知節點運動的實時位置可以在有限時間C內收斂于理論位置s*(t),有限時間C表示為

其中,ε(0)為誤差e(0)中絕對值最大的元素。
證明s*(t)是基于AoA 或基于TDoA 的UWSN 定位問題的理論解。從一個隨機產生的初始值s(0)開始,由NL-ZND 模型生成的狀態向量s(t)將在有限時間C內收斂于s*(t)。根據誤差函數的定義,當誤差函數收斂于0 時,s(t)收斂于s*(t)。因此,可以對誤差函數e(t)進行討論。針對第i個子系統可以定義為

然后,定義ε(t)為向量e(t)中絕對值最大的元素,即在t時刻,對于所有的i(i=1,2,…,p)都有成立。根據ε(0)的符號,分為以下3 種情況進行討論。
情況1意味著當ε(t)達到0 時,ei(t)收斂于0。設C為ε(t)的收斂時間,也就是NL-ZND 模型在時間C收斂于理論解。基于ι(x)的定義,可通過式(14)~式(18)來計算C。

因為κ2εσ(t)>0,式(14)可化簡為

根據微分的概念,可寫為如下形式

兩邊同時積分可得

求解式(17)可得

情況2ε(0) < 0。經過與情況1 類似的推導,可得收斂時間為

情況3ε(0)=0。經過與情況1 類似的推導,可得收斂時間為

從上述3 種情況的分析可得,NL-ZND 模型在求解式(4)時將在有限時間C內收斂于理論解,也就是說,未知節點的位置在時間C內收斂于理論位置。
需要說明的是,從時變的角度出發,將節點定位問題建模為控制理論中的調節問題,即P(t)s(t)=z(t),進而得到該問題的誤差函數為e(t)=P(t)s(t) -z(t)。NL-ZND 模型的目的是使誤差函數e(t)收斂到0,即可得出未知節點的位置s(t)。NL-ZND 模型被設計為一個常微分方程形式的動力學系統,當其達到收斂狀態時,該模型的平衡點與定位問題的解s(t)相同。
本節分別給出了NL-ZND 模型和傳統ZND 模型的計算復雜度。
從離散的角度計算本文所提出的神經動力學模型的復雜度。首先,利用歐拉差分公式對式(11)進行離散化可得

其中,τ> 0∈R 為采樣間隔,k=1,2,…為迭代索引,
()L· 為激活函數,。模型在第k個時刻產生的運算包括對Γk和sk+1的求解。此外,本文定義浮點運算如下。
1) 一個標量和一個向量(大小為ζ1)相乘需進行ζ1次浮點運算。
2) 一個矩陣(大小為ζ1×ζ2)和一個向量(大小為ζ2)相乘需進行ζ1(2ζ2-1)次浮點運算。
3) 2 個向量(大小都為ζ1)相加或相減需進行ζ1次浮點運算。
4) 一個方陣(大小為ζ1×ζ1)求逆需進行ζ13次浮點運算。
本文以正定情況下的復雜度為參考(即p=q)。在第k個時刻,計算Γk需要q3+6q2+(τ+σ+5)q次浮點運算,計算sk+1需要 2q次運算。因此,本文所提神經動力學模型在每個采樣間隔需進行q3+6q2+(τ+σ+7)q次浮點運算。不同于陸地的傳感器節點,水下的節點具備了更高的計算能力,可以滿足處理上述規模的計算以實現定位需求。
本文以相同的方式得出傳統ZND 模型在每個采樣間隔需進行q3+6q2+3q次浮點運算。由于采用了非線性激活函數,本文所提NL-ZND 模型的復雜度比傳統ZND 模型高,并且在每個采樣間隔增加了τ+σ+4q次運算,其中,τ∈ (0,1),σ> 1,q=2或4。增加的運算次數τ+σ+4q只是q的一階函數,但模型的收斂速度卻得到很大提升。
本文首先進行了基于AoA 和TDoA 的定位仿真實驗,實驗結果驗證了NL-ZND 模型在求解UWSN 定位問題時的有效性;然后,對NL-ZND 模型在收斂時間和收斂速率等方面的性能進行仿真驗證;最后,將該模型應用在UWSN 實驗床中的節點定位以進一步說明模型的可行性。
本節模擬了一個 30 m×20 m 范圍的二維UWSN 場景,其中,未知節點沿“鉆石形”軌跡運動,周圍的4 個錨節點被隨機部署且位置固定,如圖1(a)所示。從圖1(a)可以看出,未知節點的真實軌跡與模擬軌跡幾乎是重合的。圖1(b)展示了剩余誤差的收斂情況。圖1(c)描述了位置估計誤差,X坐標估計誤差epX和Y坐標估計誤差epY均在短時間內收斂到足夠小,達到10-4級別。因此,本文所提神經動力學模型具有較高的定位精度。

圖1 基于AoA 的UWSN 節點定位仿真實驗
綜上所述,所提神經動力學模型在求解基于AoA的節點定位問題時,可以正確計算出節點的運動軌跡,并且具有較高的精確度以及快速的收斂性能。
本節進行了基于TDoA 的UWSN 節點定位仿真實驗,實驗結果如圖2 所示。

圖2 基于TDoA 的UWSN 節點定位仿真實驗
如圖2(a)所示,錨節點被隨機且固定地部署在1.4 km×1.4 km×30 m 的三維空間內,未知節點在空間內沿Z軸正方向做螺旋線運動。NL-ZND 模型針對未知節點生成的模擬軌跡與真實軌跡重合。如圖2(b)所示,模型生成的剩余誤差在1 s 內收斂。如圖 2(c)所示,模型收斂時,位置估計誤差epX、epY、epZ的階數均為10-3。驗證了所提模型解決基于TDoA 的UWSN 節點定位問題的有效性。
綜上所述,所提神經動力學模型在求解基于TDoA 的節點定位問題時,可以正確計算出節點的運動軌跡,并且具有較高的精確度以及快速的收斂性能。
本節分別對NL-ZND 模型進行了收斂時間、收斂速率方面的性能驗證,此外,還觀察了錨節點數量及分布情況對定位結果的影響。
3.3.1 收斂時間
借助3.1 節中基于AoA 定位和3.2 節中基于TDoA 定位的實驗場景,本節對NL-ZND 模型和傳統ZND 模型的收斂時間進行了對比,結果如圖3 所示。

圖3 收斂時間對比
從圖3(a)可以看出,使用NL-ZND模型和傳統ZND模型求解基于AoA 的定位問題時,NL-ZND 模型的剩余誤差在2 s 內收斂到0,而此時傳統ZND 模型還存在較大誤差且并未達到收斂狀態。從圖3(b)可以看出,求解基于TDoA 的定位問題時,NL-ZND 模型在1 s 時收斂,而傳統ZND 模型在仿真結束時仍未達到收斂狀態并且存在較大誤差。以上仿真結果有效地驗證了本文提出的NL-ZND 模型具有有限時間收斂性能。
3.3.2 收斂速率
在NL-ZND 模型中,φ是一個正值,用于控制神經動力學模型的收斂速率。本節借助3.2 節的實驗場景,設置φ分別為0.5、1、2,對NL-ZND模型的收斂速率進行了仿真驗證,結果如圖4 所示。從圖4 可以看出,隨著φ的增大,曲線斜率逐漸變大,即收斂速率逐漸增大;相應地,收斂時間縮短,從而驗證了NL-ZND 模型中φ具有調節收斂速率的作用。

圖4 NL-ZND 模型收斂速率驗證
3.3.3 錨節點數量及分布
為了觀察錨節點數量對定位結果的影響,本節將錨節點的數量設置為4~8 個,并在二維TDoA 定位場景中進行多次仿真實驗,得到相應的定位誤差
。未知節點運動軌跡及錨節點A1~A8分布如圖5 所示,錨節點數量及定位誤差如表1 所示。

圖5 未知節點運動軌跡及錨節點分布

表1 錨節點數量及定位誤差
如表1 所示,隨著錨節點數量的增加,未知節點的定位誤差降低。當錨節點數量達到TDoA 定位所需的最小節點數4 個時,本文所提NL-ZND 模型的定位結果即可滿足大多數應用的精度需求。然而考慮到實際部署場景,錨節點數量不會過于密集。隨著錨節點數量的增多,網絡中會不可避免地產生信號碰撞等問題,從而影響定位效果。
本文團隊已成功搭建了一個集成Micro-ANP協議棧[22-24]的UWSN 實驗床,并在青海湖進行了大量的湖試實驗。實驗床主要由工業路由器、節點和遠程服務器構成。每套節點又包括一個C15 CTD 傳感器、一個AquaSeNT OFDM modem 和一個樹莓派開發板。本節利用實驗床中部署的節點的地理坐標進行基于AoA 的定位實驗。在本節實驗中,節點的深度是忽略不計的,并且不考慮湖水流動速度。
基于AoA 的節點定位實驗結果如圖6 所示。實驗拓撲如圖6(a)所示,節點A1~A4是配備了GPS 模塊的錨節點。未知節點U1的實際坐標為(36.706 770,100.544 254)。位置估計誤差的收斂情況如圖6(b)所示。從圖6 可以看出,未知節點U1的實際位置被正確地計算出來。因此,NL-ZND模型在求解UWSN 實驗床中基于AoA 的節點定位問題時具有潛在的適用性。

圖6 基于AoA 的節點定位實驗結果
本文對神經動力學方法進行了探討并將其拓展到UWSN 領域。針對UWSN 定位問題,提出了改進的神經動力學模型,并對模型的收斂性能進行了嚴格的理論分析。在仿真部分,該模型成功地應用于基于AoA 和TDoA 的UWSN 節點定位問題,證明了模型在高精度和動態環境穩健性方面的有效性。此外,實驗驗證了所提模型具備有限時間收斂性能。目前,大多數UWSN 協議及算法的測試都基于仿真軟件,本文通過對UWSN 實驗床中的節點進行定位實驗,說明了神經動力學模型在真實環境中的潛在適用性。
附錄1 三維場景中基于TDoA 的節點定位問題推導過程

