李 丹 趙榮陽
(1.北部灣大學電子與信息工程學院,廣西 欽州 535011;2.欽州市物聯網先進技術重點實驗室,廣西 欽州 535011)
在海底監測等應用的擴展和更新過程中,水聲傳感器網絡(Underwater Acoustic Sensor Networks,UASNs)在設備互連和數據通信等方面發揮了巨大作用。數據傳輸作為UASNs的重要功能,使設備從個體轉變為群體[1]。水下有線部署成本昂貴,光波和電磁波在海水中衰減嚴重,因此聲波成為海底無線通信的主要載體[2]。海底環境復雜多變,因此水聲信道具有強噪聲、高延遲、低帶寬和節點移動等特點[3],如何維護UASNs通信鏈路的穩定性是該領域的研究重點之一。錨定節點的移動現象會影響網絡鏈路的穩定性[3-6]。通信鏈路的穩定性是路由尋路策略的一個重要指標,對通信鏈路的穩定性進行評估,有利于提高UASNs 路由協議性能。文獻[3]把錨定節點的移動作為鏈路穩定性的影響因素,對鄰節點偏移行為建立馬科夫模型,判斷節點是否適合作為數據轉發的下一跳節點。文獻[6]針對指定海域的錨定節點建立運動模型,通過實驗驗證節點位移對網絡通信性能的影響。針對節點位移造成的網絡拓撲不穩定問題,本文基于隱馬爾科夫模型(Hidden Markov Model,HMM)對水聲傳感器位置穩定性建立評估模型,為路由尋路提供決策依據。
HMM 是一種隨機概率模型,包含一條隱含狀態序列和一條觀測序列。在已知的隱含狀態初始向量π、隱含狀態轉移概率矩陣A和觀測狀態轉移概率矩陣B的基礎上,建立模型λ=(A,B,π),再結合觀測序列O,利用算法推導出隱含狀態序列Q,滿足P(O|λ)最大。
當網絡中存在多條通往目的節點的路由時,轉發節點穩定性是衡量路由鏈路質量的一個重要指標。節點在通信過程中的某些狀態值可以作為其穩定性判斷的依據,例如節點的休眠頻率或者位置偏移頻率。根據節點之間的相對距離來調整數據發射功率可以減少發送節點能耗,并減少網絡信道沖突,因此功率調節技術常被用于解決無線網絡能量優化問題。
假設UASNs節點具有相同的最大數據發射功率且發射功率可調節。節點向下一跳節點發送數據后,如果收到反饋報文,則證明數據成功發送;如果等待一段時間后,沒有收到反饋報文,則證明數據發送失敗,節點將加大發射功率直到數據發送成功或者達到最大發射功率。節點記錄下每次與某個鄰節點成功通信的發射功率。當發射功率減小時,表示鄰節點向自己靠近;當發射功率不變時,表示鄰節點和自己的相對距離保持不變;當發射功率增大時,表示鄰節點遠離自己;當無法通信時,表示節點已不在自己的信號覆蓋范圍內,具體過程如圖1所示。

圖1 節點和鄰節點功率、位置變化圖
圖1 的N0表示發送節點,N1表示下一跳鄰節點。N1_S1、N1_S2和N1_S3分別表示鄰節點N1的三種位置狀態,其中N1_S1表示N0和N1的相對距離保持不變,N1_S2表示N0和N1的相對距離變大,N1_S3表示N0和N1的相對距離變小。PN1_S1、PN1_S2和PN1_S3分別N0向N1發送數據的功率,PN1_S3 當節點要評估某鄰節點的位置偏移情況時,無法直接獲取鄰節點的位移活動狀態,但是可以觀察與鄰節點通信時的數據發射功率變化情況。在不考慮信道沖突的情況下,當鄰節點遠離或者靠近的距離不大時,則數據發射功率不會發生變化;當鄰節點位移距離變大時,則數據發射功率會發生變化。因此發射功率不變不能表示鄰節點的位置固定不變,但數據發射功率的變化則表示鄰節點的位置發生變化。將某個鄰節點的位置偏移狀態變化過程作為隱馬爾科夫模型的隱含狀態分布,與之通信時使用的數據發射功率變化過程作為觀測狀態分布。鄰節點的隱含狀態集為SQ={sq1,sq2,sq3},其中sq1表示與鄰節點的距離保持不變,sq2表示鄰節點在遠離自己,sq3表示鄰節點在靠近自己。鄰節點的觀測狀態集SO={so1,so2,so3},其中so1表示與之通信的數據發射功率保持不變,so2表示與之通信的數據發射功率增大,so3表示與之通信的數據發射功率減小。隱含狀態初始向量π、觀測序列O和隱含狀態序列Q分別記為: 在時刻t=i時,πi表示鄰節點處于隱含狀態sqi的概率,oi表示鄰節點的觀測狀態值,qi表示鄰節點的隱含狀態值。隱含狀態轉移概率矩陣A記為: aij表示在時刻t鄰節點處于隱含狀態sqi,在時刻t+1鄰節點處于隱含狀態sqj的概率,其中i∈[1,2,3],j∈[1,2,3]。觀測狀態轉移概率矩陣B記為: bij表示在時刻t鄰節點處于隱含狀態sqi,生成觀測狀態soj的概率。 在UASNs的實際運行過程中,觀測序列O是已知的,隱馬爾科夫模型λ=(A,B,π)是未知的。使用Baum-Welch算法對參數A、B和π 進行推導[7],使得生成觀測序列O的概率P(O|λ)最大。Baum-Welch 算法用長度為T 的觀測序列O作為條件,用聯合分布P(O,Q;λ)作為輔助,使用期望最大化(Expectation-Maximum,EM)算法進行迭代,最終得到一個收斂的λ。聯合分布P(O,Q;λ)記為: π 的計算過程記為: 從UASNs節點中提取某鄰節點的數據發射功率變化序列,作為觀測序列O,再用式(9)、(10)和(11)推導出HMM 模型λ。在觀測序列O和HMM 模型λ的基礎上,利用Viterbi算法計算最可能的隱含狀態序列Q。 定義變量δt(i),用于表示t時刻的觀測序列O和qt=sqi的所有路徑中最大概率,其計算過程為: 其中,i∈[1,N],t∈[1,T]。在式(12)中引入前向概率at(i)和后向概率βt(i),變為: 定義變量φi(i),用于表示t時刻狀態為qt的所有單個路徑中概率最大的第t-1個節點,其計算過程為: 在i∈[1,N],t∈[1,T] 范圍內求出δt(i) 的最大值,再對t=t-1,t-2,……,1進行最優路徑回溯,計算qt,過程是: 最終得到觀測序列O和HMM模型λ下的最佳隱含狀態序列Q。統計隱含狀態序列Q中狀態sq1,sq2和sq3分別出現的概率,判斷鄰節點在觀測期間位置偏移的情況。當出現狀態sq1的概率最大時,說明鄰節點位置沒有發生偏移,能夠穩定轉發數據;當出現狀態sq2的概率最大時,說明鄰節點在不斷遠離源節點,該鄰節點不適合作為轉發節點;當出現狀態sq3的概率最大時,說明鄰節點在不斷靠近源節點,能夠作為備用轉發節點。 在北部灣海域水聲傳感器網絡動態拓撲仿真實驗[6]的基礎上,修改Vector based Void Avoidance(VBVA)路由協議,在數據轉發過程中,基于HMM模型評估下一跳節點的穩定性,選擇位置穩定的節點轉發數據。在文獻[6]實驗環境的基礎上,把原來所有節點做規律的擺錘運動改為隨機挑選若干節點進行擺錘運動,保證在實驗環境中存在位置不變和改變的節點,實驗環境參數見表1。 表1 實驗環境參數[6] 實驗采用分組對照的方式,分別模擬網絡在VBVA協議和加入HMM 模型評估后的HMM_VBVA 協議下,節點低速運動網絡和節點高速運動網絡分組投遞率的變化情況。采用文獻[6]的數據處理方法計算每個周期內的分組投遞率。圖2是VBVA協議和HMM_VBVA協議在節點低速運動網絡中的分組投遞率對比圖,從圖中可以發現,HMM_VBVA 路由協議能夠提高網絡的分組投遞率。 圖2 節點低速運動網絡分組投遞率對比圖 圖3是VBVA協議和HMM_VBVA協議在節點高速運動網絡中的分組投遞率對比圖,從圖中可以發現,HMM_VBVA路由協議能夠有效提高網絡的分組投遞率。 圖3 節點高速運動網絡分組投遞率對比圖 圖4是HMM_VBVA協議在節點低速運動網絡和高速運動網絡中的分組投遞率對比圖,從圖中可以發現,在節點運動速度加快的情況下,分組投遞率沒有大幅度下降,這說明HMM_VBVA 路由協議能夠有效避免因節點偏移帶來路由鏈路不穩定的問題。 圖4 HMM_VBVA在節點低速和高速運動網絡的分組投遞率對比圖 在環境多變的UASNs 中,由節點偏移帶來的路由鏈路不穩定問題,會造成數據轉發性能下降,增加數據重傳次數,造成網絡能量浪費。利用節點數據發射功率的變化過程提取觀測值序列,基于HMM對鄰節點進行位置穩定性建模,使用Baum-Welch 算法和Viterbi 算法對模型進行求解,評估鄰節點位置穩定性,在數據轉發時從鄰節點集合中選擇位置最穩定的節點作為轉發節點,提高路由鏈路的穩定性。通過實驗證明,基于HMM的路由協議改進,能夠降低節點偏移對路由鏈路的負面影響,提高網絡數據轉發性能。2.3 模型定義



2.4 模型求解



3 鄰節點位置穩定性評估方法




4 仿真實驗




5 結語