胡 汀
(湖南廣播電視大學(xué)信息學(xué)院 湖南 長沙 410004)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由大量靜止或移動的傳感器以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),實現(xiàn)了數(shù)據(jù)的采集、處理和傳輸三種功能,被廣泛應(yīng)用于軍事、救災(zāi)、工農(nóng)業(yè)生產(chǎn)等領(lǐng)域[1]。無線傳感器網(wǎng)絡(luò)內(nèi)傳感器節(jié)點主要有三種部署方式:確定位置的節(jié)點部署、隨機拋灑且位置固定不定的節(jié)點部署和隨機拋灑且節(jié)點可移動的部署。目前,采用隨機拋灑且節(jié)點可移動部署的無線傳感器網(wǎng)絡(luò)最多,因為這種無線傳感器網(wǎng)絡(luò)使用靈活,適用面廣。但是,這種部署方式卻存在節(jié)點不均勻、容易形成覆蓋空洞等問題。
Zou等[2]最早提出虛擬力算法(virtual force algorithm,VFA),將虛擬力的概念應(yīng)用于節(jié)點的動態(tài)分析,節(jié)點之間的受力取決于節(jié)點之間的距離,卻沒有考慮節(jié)點的移動出界等問題。Howard等[3]把勢能概念運用到虛擬力的分析中,實現(xiàn)了惡劣環(huán)境下的網(wǎng)絡(luò)覆蓋,卻沒有充分考慮網(wǎng)絡(luò)的連通和算法的收斂。Chen等[4]提出了改進的虛擬力算法,對傳統(tǒng)虛擬力模型進行了一定程度上的改進,卻沒有考慮傳感器網(wǎng)絡(luò)范圍內(nèi)的障礙物問題。REN等[5]比較了四種虛擬力模型,對各個參數(shù)進行了性能測試,也沒有考慮傳感器網(wǎng)絡(luò)范圍內(nèi)的障礙物問題。針對以上虛擬力模型與算法的研究,本文提出了一種改進的虛擬力模型,確保無線傳感器節(jié)點不會移動出界。
虛擬力算法在無線傳感器網(wǎng)絡(luò)中的使用,是將物理學(xué)力學(xué)勢場中的萬有引力概念引用至無線傳感器網(wǎng)絡(luò),網(wǎng)絡(luò)中的所有節(jié)點抽象成力學(xué)勢場中的粒子,那么傳感器節(jié)點之間將存在著虛擬作用力(以下簡稱虛擬力)的作用,虛擬力可能是兩種不同的力,即:(1)吸引力;(2)排斥力。
在網(wǎng)絡(luò)部署優(yōu)化過程中,節(jié)點依據(jù)自身受力情況不斷移動,直到受力平衡或到達邊界時為止。
(1)監(jiān)測區(qū)域為二維矩形平面,監(jiān)測區(qū)域內(nèi)的傳感器節(jié)點隨機部署且可移動,每個節(jié)點的傳感范圍都是半徑為Rs的圓,所有的傳感器節(jié)點性能相同,都有相同的傳感半徑Rs和通信半徑Rc。(2)傳感器節(jié)點利用GPS或者其他定位算法獲取節(jié)點自身的坐標(biāo)信息,也可以獲得相鄰節(jié)點之間的距離關(guān)系。(3)每個節(jié)點包含一個移動執(zhí)行器,可以保證節(jié)點在移動區(qū)域內(nèi)自由移動。每個節(jié)點包含相同的初始能量,節(jié)點在移動過程中也會消耗一定量的能量。
在二維矩形監(jiān)測區(qū)域內(nèi),若源節(jié)點s和目標(biāo)節(jié)點t的位置坐標(biāo)分別為和,節(jié)點感知半徑為Rs,則目標(biāo)節(jié)點t被源節(jié)點s感知到的概率為[6]
式中,d(s,t)是源節(jié)點s和目標(biāo)節(jié)點t之間的歐式距離,可表示為
節(jié)點感知模型見圖1,目標(biāo)節(jié)點1t位于圓內(nèi),則,源節(jié)點s能感知到目標(biāo)結(jié)點t1;目標(biāo)節(jié)點t2位于圓外,則p(s,t2)=0,源節(jié)點s不能感知到目標(biāo)結(jié)點t2。
圖1 節(jié)點感知模型
3.3.1 傳統(tǒng)虛擬力模型
在Zou等提出的傳統(tǒng)虛擬力模型中,傳感器節(jié)點i感知范圍內(nèi)的相鄰節(jié)點集合為S1,假設(shè)傳感器節(jié)點i與節(jié)點j之間的距離dij大于事先規(guī)定的閾值Dth時,互相吸引;而時,互相排斥。則兩個節(jié)點之間的受力公式[7]為:
其中,dij表示節(jié)點i與節(jié)點j之間的歐式距離;αij表示節(jié)點i與節(jié)點j之間的方向角;wα表示節(jié)點i與節(jié)點j之間的虛擬吸引力;wγ表示排斥參數(shù);Dth是根據(jù)實際網(wǎng)絡(luò)運行狀況設(shè)置的距離閾值[8]。
如圖2所示,當(dāng)覆蓋率 1α< 時,監(jiān)測區(qū)域沒有被傳感器節(jié)點完全覆蓋。此時,距離閾值的計算公式為:
圖2 距離閾值
當(dāng)覆蓋范圍α≥1 時,整個監(jiān)測區(qū)域被完全覆蓋,距離閾值的計算公式可表示為:
3.3.2 區(qū)域邊界對節(jié)點的排斥效應(yīng)
從傳統(tǒng)虛擬力模型可以看出,網(wǎng)絡(luò)中的節(jié)點在不同的力的作用下有可能會移出監(jiān)測區(qū)域,形成無用的節(jié)點,這也是傳統(tǒng)虛擬力算法最主要的缺陷。
因此,在上述傳統(tǒng)虛擬力模型的基礎(chǔ)上,加入?yún)^(qū)域邊界對節(jié)點的排斥效應(yīng),以保證監(jiān)測區(qū)域內(nèi)的節(jié)點不會移動出界。假設(shè)節(jié)點之間沒有排斥,則存在邊界b對節(jié)點 的虛擬力:
其中,dib表示節(jié)點i與區(qū)域邊界b的距離;wb表示表示邊界b的斥力參數(shù);Dth?b表示節(jié)點i與區(qū)域邊界b之間的距離閾值(一般設(shè)置為Dth/2)。
前面已假設(shè)監(jiān)測區(qū)域為二維矩形平面,因此,節(jié)點會受到二維矩形平面4個邊界作用力,4個邊界區(qū)域的集合為S2,令x1、x2、y1、y2分別表示x軸與y軸的4個方向,傳感器節(jié)點i受到的4個邊界斥力的合力為:
3.3.3 障礙物對節(jié)點的虛擬力
實際使用中的無線傳感器網(wǎng)絡(luò)并不能避免障礙物的存在,所以定義障礙物對節(jié)點的虛擬力為排斥力,保證節(jié)點碰到障礙物時能主動避讓。假設(shè)傳感器節(jié)點i感知范圍內(nèi)的障礙物集合為S3,則障礙物obj對傳感器節(jié)點i的排斥力計算公式為:
式(8)中,wob表示障礙物obj對傳感器節(jié)點i的排斥力系數(shù);s(i)是傳感器節(jié)點i的坐標(biāo);s(obj)是障礙物obj的坐標(biāo);di?obj是障礙物obj與傳感器節(jié)點i之間的垂直距離;Dob障礙物obj與傳感器節(jié)點i之間的距離閾值。
3.3.4 改進虛擬力算法
改進虛擬力算法在考慮相鄰傳感器節(jié)點j與節(jié)點i之間虛擬力的基礎(chǔ)上,引入式(7)所示的區(qū)域邊界斥力,以及式(8)所示的障礙物對傳感器節(jié)點i的虛擬力,則傳感器節(jié)點i所受到的x方向合力為:
式(9)中,F(xiàn)ij_x表示相鄰傳感器節(jié)點j對節(jié)點i在x方向上的作用力,F(xiàn)ib_x表示邊界斥力合力對節(jié)點i在x方向上的作用力,k表示相鄰節(jié)點的數(shù)目,m表示相鄰障礙物的數(shù)目,F(xiàn)i?obj_x表示障礙物obj對傳感器節(jié)點i在x方向上的作用力。
傳感器節(jié)點i所受到的y方向合力為:
式(10)中,F(xiàn)ij_y表示相鄰傳感器節(jié)點j對節(jié)點i在y方向上的作用力,F(xiàn)ib_y表示邊界斥力合力對節(jié)點i在y方向上的作用力,k表示相鄰節(jié)點的數(shù)目,m表示相鄰障礙物的數(shù)目,F(xiàn)i?obj_y表示障礙物obj對傳感器節(jié)點i在y方向上的作用力。
傳感器節(jié)點i所受到的虛擬力合力計算公式為:
傳感器節(jié)點i在上述虛擬力合力的作用下,不斷移動,直到受力平衡時,傳感器節(jié)點達到穩(wěn)定狀態(tài)。節(jié)點i移動到的新位置在x方向和y方向上投影為:
其中,Xiold表示節(jié)點i移動前的位置在x方向上的投影;Fi_X表示節(jié)點i所受到的虛擬力合力在x方向的投影;Fi_Y表示節(jié)點i所受到的虛擬力合力在y方向上的投影;Fi表示節(jié)點i所受到的虛擬力合力;Maxdis表示節(jié)點的單位最大移動距離。
改進虛擬力算法主要流程如圖3。
圖3 虛擬力算法流程圖
在傳統(tǒng)虛擬力模型中,由于沒有對節(jié)點移動出界的邊界條件進行限制,節(jié)點有可能在虛擬力作用下移動出界,對傳感器的能耗造成巨大的浪費。本文在傳統(tǒng)虛擬力模型的基礎(chǔ)上,引入了監(jiān)測區(qū)域邊界對傳感器節(jié)點的排斥力,確保傳感器節(jié)點不會出界,一定在傳感區(qū)域內(nèi)。同時,本文在改進虛擬力算法時考慮了障礙物的存在,因為實際應(yīng)用過程中有可能會出現(xiàn)障礙物,導(dǎo)致網(wǎng)絡(luò)性能的下降。如何對改進虛擬力算法進行仿真分析是下一階段研究的重點。