李 丹 趙榮陽(yáng)
(1.北部灣大學(xué)電子與信息工程學(xué)院,廣西 欽州 535011;2.欽州市物聯(lián)網(wǎng)先進(jìn)技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣西 欽州 535011)
在海底監(jiān)測(cè)等應(yīng)用的擴(kuò)展和更新過(guò)程中,水聲傳感器網(wǎng)絡(luò)(Underwater Acoustic Sensor Networks,UASNs)在設(shè)備互連和數(shù)據(jù)通信等方面發(fā)揮了巨大作用。數(shù)據(jù)傳輸作為UASNs的重要功能,使設(shè)備從個(gè)體轉(zhuǎn)變?yōu)槿后w[1]。水下有線部署成本昂貴,光波和電磁波在海水中衰減嚴(yán)重,因此聲波成為海底無(wú)線通信的主要載體[2]。海底環(huán)境復(fù)雜多變,因此水聲信道具有強(qiáng)噪聲、高延遲、低帶寬和節(jié)點(diǎn)移動(dòng)等特點(diǎn)[3],如何維護(hù)UASNs通信鏈路的穩(wěn)定性是該領(lǐng)域的研究重點(diǎn)之一。錨定節(jié)點(diǎn)的移動(dòng)現(xiàn)象會(huì)影響網(wǎng)絡(luò)鏈路的穩(wěn)定性[3-6]。通信鏈路的穩(wěn)定性是路由尋路策略的一個(gè)重要指標(biāo),對(duì)通信鏈路的穩(wěn)定性進(jìn)行評(píng)估,有利于提高UASNs 路由協(xié)議性能。文獻(xiàn)[3]把錨定節(jié)點(diǎn)的移動(dòng)作為鏈路穩(wěn)定性的影響因素,對(duì)鄰節(jié)點(diǎn)偏移行為建立馬科夫模型,判斷節(jié)點(diǎn)是否適合作為數(shù)據(jù)轉(zhuǎn)發(fā)的下一跳節(jié)點(diǎn)。文獻(xiàn)[6]針對(duì)指定海域的錨定節(jié)點(diǎn)建立運(yùn)動(dòng)模型,通過(guò)實(shí)驗(yàn)驗(yàn)證節(jié)點(diǎn)位移對(duì)網(wǎng)絡(luò)通信性能的影響。針對(duì)節(jié)點(diǎn)位移造成的網(wǎng)絡(luò)拓?fù)洳环€(wěn)定問(wèn)題,本文基于隱馬爾科夫模型(Hidden Markov Model,HMM)對(duì)水聲傳感器位置穩(wěn)定性建立評(píng)估模型,為路由尋路提供決策依據(jù)。
HMM 是一種隨機(jī)概率模型,包含一條隱含狀態(tài)序列和一條觀測(cè)序列。在已知的隱含狀態(tài)初始向量π、隱含狀態(tài)轉(zhuǎn)移概率矩陣A和觀測(cè)狀態(tài)轉(zhuǎn)移概率矩陣B的基礎(chǔ)上,建立模型λ=(A,B,π),再結(jié)合觀測(cè)序列O,利用算法推導(dǎo)出隱含狀態(tài)序列Q,滿足P(O|λ)最大。
當(dāng)網(wǎng)絡(luò)中存在多條通往目的節(jié)點(diǎn)的路由時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)穩(wěn)定性是衡量路由鏈路質(zhì)量的一個(gè)重要指標(biāo)。節(jié)點(diǎn)在通信過(guò)程中的某些狀態(tài)值可以作為其穩(wěn)定性判斷的依據(jù),例如節(jié)點(diǎn)的休眠頻率或者位置偏移頻率。根據(jù)節(jié)點(diǎn)之間的相對(duì)距離來(lái)調(diào)整數(shù)據(jù)發(fā)射功率可以減少發(fā)送節(jié)點(diǎn)能耗,并減少網(wǎng)絡(luò)信道沖突,因此功率調(diào)節(jié)技術(shù)常被用于解決無(wú)線網(wǎng)絡(luò)能量?jī)?yōu)化問(wèn)題。
假設(shè)UASNs節(jié)點(diǎn)具有相同的最大數(shù)據(jù)發(fā)射功率且發(fā)射功率可調(diào)節(jié)。節(jié)點(diǎn)向下一跳節(jié)點(diǎn)發(fā)送數(shù)據(jù)后,如果收到反饋報(bào)文,則證明數(shù)據(jù)成功發(fā)送;如果等待一段時(shí)間后,沒(méi)有收到反饋報(bào)文,則證明數(shù)據(jù)發(fā)送失敗,節(jié)點(diǎn)將加大發(fā)射功率直到數(shù)據(jù)發(fā)送成功或者達(dá)到最大發(fā)射功率。節(jié)點(diǎn)記錄下每次與某個(gè)鄰節(jié)點(diǎn)成功通信的發(fā)射功率。當(dāng)發(fā)射功率減小時(shí),表示鄰節(jié)點(diǎn)向自己靠近;當(dāng)發(fā)射功率不變時(shí),表示鄰節(jié)點(diǎn)和自己的相對(duì)距離保持不變;當(dāng)發(fā)射功率增大時(shí),表示鄰節(jié)點(diǎn)遠(yuǎn)離自己;當(dāng)無(wú)法通信時(shí),表示節(jié)點(diǎn)已不在自己的信號(hào)覆蓋范圍內(nèi),具體過(guò)程如圖1所示。
圖1 節(jié)點(diǎn)和鄰節(jié)點(diǎn)功率、位置變化圖
圖1 的N0表示發(fā)送節(jié)點(diǎn),N1表示下一跳鄰節(jié)點(diǎn)。N1_S1、N1_S2和N1_S3分別表示鄰節(jié)點(diǎn)N1的三種位置狀態(tài),其中N1_S1表示N0和N1的相對(duì)距離保持不變,N1_S2表示N0和N1的相對(duì)距離變大,N1_S3表示N0和N1的相對(duì)距離變小。PN1_S1、PN1_S2和PN1_S3分別N0向N1發(fā)送數(shù)據(jù)的功率,PN1_S3 當(dāng)節(jié)點(diǎn)要評(píng)估某鄰節(jié)點(diǎn)的位置偏移情況時(shí),無(wú)法直接獲取鄰節(jié)點(diǎn)的位移活動(dòng)狀態(tài),但是可以觀察與鄰節(jié)點(diǎn)通信時(shí)的數(shù)據(jù)發(fā)射功率變化情況。在不考慮信道沖突的情況下,當(dāng)鄰節(jié)點(diǎn)遠(yuǎn)離或者靠近的距離不大時(shí),則數(shù)據(jù)發(fā)射功率不會(huì)發(fā)生變化;當(dāng)鄰節(jié)點(diǎn)位移距離變大時(shí),則數(shù)據(jù)發(fā)射功率會(huì)發(fā)生變化。因此發(fā)射功率不變不能表示鄰節(jié)點(diǎn)的位置固定不變,但數(shù)據(jù)發(fā)射功率的變化則表示鄰節(jié)點(diǎn)的位置發(fā)生變化。將某個(gè)鄰節(jié)點(diǎn)的位置偏移狀態(tài)變化過(guò)程作為隱馬爾科夫模型的隱含狀態(tài)分布,與之通信時(shí)使用的數(shù)據(jù)發(fā)射功率變化過(guò)程作為觀測(cè)狀態(tài)分布。鄰節(jié)點(diǎn)的隱含狀態(tài)集為SQ={sq1,sq2,sq3},其中sq1表示與鄰節(jié)點(diǎn)的距離保持不變,sq2表示鄰節(jié)點(diǎn)在遠(yuǎn)離自己,sq3表示鄰節(jié)點(diǎn)在靠近自己。鄰節(jié)點(diǎn)的觀測(cè)狀態(tài)集SO={so1,so2,so3},其中so1表示與之通信的數(shù)據(jù)發(fā)射功率保持不變,so2表示與之通信的數(shù)據(jù)發(fā)射功率增大,so3表示與之通信的數(shù)據(jù)發(fā)射功率減小。隱含狀態(tài)初始向量π、觀測(cè)序列O和隱含狀態(tài)序列Q分別記為: 在時(shí)刻t=i時(shí),πi表示鄰節(jié)點(diǎn)處于隱含狀態(tài)sqi的概率,oi表示鄰節(jié)點(diǎn)的觀測(cè)狀態(tài)值,qi表示鄰節(jié)點(diǎn)的隱含狀態(tài)值。隱含狀態(tài)轉(zhuǎn)移概率矩陣A記為: aij表示在時(shí)刻t鄰節(jié)點(diǎn)處于隱含狀態(tài)sqi,在時(shí)刻t+1鄰節(jié)點(diǎn)處于隱含狀態(tài)sqj的概率,其中i∈[1,2,3],j∈[1,2,3]。觀測(cè)狀態(tài)轉(zhuǎn)移概率矩陣B記為: bij表示在時(shí)刻t鄰節(jié)點(diǎn)處于隱含狀態(tài)sqi,生成觀測(cè)狀態(tài)soj的概率。 在UASNs的實(shí)際運(yùn)行過(guò)程中,觀測(cè)序列O是已知的,隱馬爾科夫模型λ=(A,B,π)是未知的。使用Baum-Welch算法對(duì)參數(shù)A、B和π 進(jìn)行推導(dǎo)[7],使得生成觀測(cè)序列O的概率P(O|λ)最大。Baum-Welch 算法用長(zhǎng)度為T 的觀測(cè)序列O作為條件,用聯(lián)合分布P(O,Q;λ)作為輔助,使用期望最大化(Expectation-Maximum,EM)算法進(jìn)行迭代,最終得到一個(gè)收斂的λ。聯(lián)合分布P(O,Q;λ)記為: π 的計(jì)算過(guò)程記為: 從UASNs節(jié)點(diǎn)中提取某鄰節(jié)點(diǎn)的數(shù)據(jù)發(fā)射功率變化序列,作為觀測(cè)序列O,再用式(9)、(10)和(11)推導(dǎo)出HMM 模型λ。在觀測(cè)序列O和HMM 模型λ的基礎(chǔ)上,利用Viterbi算法計(jì)算最可能的隱含狀態(tài)序列Q。 定義變量δt(i),用于表示t時(shí)刻的觀測(cè)序列O和qt=sqi的所有路徑中最大概率,其計(jì)算過(guò)程為: 其中,i∈[1,N],t∈[1,T]。在式(12)中引入前向概率at(i)和后向概率βt(i),變?yōu)椋?/p> 定義變量φi(i),用于表示t時(shí)刻狀態(tài)為qt的所有單個(gè)路徑中概率最大的第t-1個(gè)節(jié)點(diǎn),其計(jì)算過(guò)程為: 在i∈[1,N],t∈[1,T] 范圍內(nèi)求出δt(i) 的最大值,再對(duì)t=t-1,t-2,……,1進(jìn)行最優(yōu)路徑回溯,計(jì)算qt,過(guò)程是: 最終得到觀測(cè)序列O和HMM模型λ下的最佳隱含狀態(tài)序列Q。統(tǒng)計(jì)隱含狀態(tài)序列Q中狀態(tài)sq1,sq2和sq3分別出現(xiàn)的概率,判斷鄰節(jié)點(diǎn)在觀測(cè)期間位置偏移的情況。當(dāng)出現(xiàn)狀態(tài)sq1的概率最大時(shí),說(shuō)明鄰節(jié)點(diǎn)位置沒(méi)有發(fā)生偏移,能夠穩(wěn)定轉(zhuǎn)發(fā)數(shù)據(jù);當(dāng)出現(xiàn)狀態(tài)sq2的概率最大時(shí),說(shuō)明鄰節(jié)點(diǎn)在不斷遠(yuǎn)離源節(jié)點(diǎn),該鄰節(jié)點(diǎn)不適合作為轉(zhuǎn)發(fā)節(jié)點(diǎn);當(dāng)出現(xiàn)狀態(tài)sq3的概率最大時(shí),說(shuō)明鄰節(jié)點(diǎn)在不斷靠近源節(jié)點(diǎn),能夠作為備用轉(zhuǎn)發(fā)節(jié)點(diǎn)。 在北部灣海域水聲傳感器網(wǎng)絡(luò)動(dòng)態(tài)拓?fù)浞抡鎸?shí)驗(yàn)[6]的基礎(chǔ)上,修改Vector based Void Avoidance(VBVA)路由協(xié)議,在數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程中,基于HMM模型評(píng)估下一跳節(jié)點(diǎn)的穩(wěn)定性,選擇位置穩(wěn)定的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。在文獻(xiàn)[6]實(shí)驗(yàn)環(huán)境的基礎(chǔ)上,把原來(lái)所有節(jié)點(diǎn)做規(guī)律的擺錘運(yùn)動(dòng)改為隨機(jī)挑選若干節(jié)點(diǎn)進(jìn)行擺錘運(yùn)動(dòng),保證在實(shí)驗(yàn)環(huán)境中存在位置不變和改變的節(jié)點(diǎn),實(shí)驗(yàn)環(huán)境參數(shù)見(jiàn)表1。 表1 實(shí)驗(yàn)環(huán)境參數(shù)[6] 實(shí)驗(yàn)采用分組對(duì)照的方式,分別模擬網(wǎng)絡(luò)在VBVA協(xié)議和加入HMM 模型評(píng)估后的HMM_VBVA 協(xié)議下,節(jié)點(diǎn)低速運(yùn)動(dòng)網(wǎng)絡(luò)和節(jié)點(diǎn)高速運(yùn)動(dòng)網(wǎng)絡(luò)分組投遞率的變化情況。采用文獻(xiàn)[6]的數(shù)據(jù)處理方法計(jì)算每個(gè)周期內(nèi)的分組投遞率。圖2是VBVA協(xié)議和HMM_VBVA協(xié)議在節(jié)點(diǎn)低速運(yùn)動(dòng)網(wǎng)絡(luò)中的分組投遞率對(duì)比圖,從圖中可以發(fā)現(xiàn),HMM_VBVA 路由協(xié)議能夠提高網(wǎng)絡(luò)的分組投遞率。 圖2 節(jié)點(diǎn)低速運(yùn)動(dòng)網(wǎng)絡(luò)分組投遞率對(duì)比圖 圖3是VBVA協(xié)議和HMM_VBVA協(xié)議在節(jié)點(diǎn)高速運(yùn)動(dòng)網(wǎng)絡(luò)中的分組投遞率對(duì)比圖,從圖中可以發(fā)現(xiàn),HMM_VBVA路由協(xié)議能夠有效提高網(wǎng)絡(luò)的分組投遞率。 圖3 節(jié)點(diǎn)高速運(yùn)動(dòng)網(wǎng)絡(luò)分組投遞率對(duì)比圖 圖4是HMM_VBVA協(xié)議在節(jié)點(diǎn)低速運(yùn)動(dòng)網(wǎng)絡(luò)和高速運(yùn)動(dòng)網(wǎng)絡(luò)中的分組投遞率對(duì)比圖,從圖中可以發(fā)現(xiàn),在節(jié)點(diǎn)運(yùn)動(dòng)速度加快的情況下,分組投遞率沒(méi)有大幅度下降,這說(shuō)明HMM_VBVA 路由協(xié)議能夠有效避免因節(jié)點(diǎn)偏移帶來(lái)路由鏈路不穩(wěn)定的問(wèn)題。 圖4 HMM_VBVA在節(jié)點(diǎn)低速和高速運(yùn)動(dòng)網(wǎng)絡(luò)的分組投遞率對(duì)比圖 在環(huán)境多變的UASNs 中,由節(jié)點(diǎn)偏移帶來(lái)的路由鏈路不穩(wěn)定問(wèn)題,會(huì)造成數(shù)據(jù)轉(zhuǎn)發(fā)性能下降,增加數(shù)據(jù)重傳次數(shù),造成網(wǎng)絡(luò)能量浪費(fèi)。利用節(jié)點(diǎn)數(shù)據(jù)發(fā)射功率的變化過(guò)程提取觀測(cè)值序列,基于HMM對(duì)鄰節(jié)點(diǎn)進(jìn)行位置穩(wěn)定性建模,使用Baum-Welch 算法和Viterbi 算法對(duì)模型進(jìn)行求解,評(píng)估鄰節(jié)點(diǎn)位置穩(wěn)定性,在數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)從鄰節(jié)點(diǎn)集合中選擇位置最穩(wěn)定的節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),提高路由鏈路的穩(wěn)定性。通過(guò)實(shí)驗(yàn)證明,基于HMM的路由協(xié)議改進(jìn),能夠降低節(jié)點(diǎn)偏移對(duì)路由鏈路的負(fù)面影響,提高網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)性能。2.3 模型定義
2.4 模型求解
3 鄰節(jié)點(diǎn)位置穩(wěn)定性評(píng)估方法
4 仿真實(shí)驗(yàn)
5 結(jié)語(yǔ)