劉 琛
(江蘇警官學院,江蘇 南京 210031)
無線傳感器網(wǎng)絡[1-3](Wireless Sensor Network, WSN)是一種由大量傳感器節(jié)點以自組織和多跳方式構(gòu)成的無線網(wǎng)絡。由于無需固定的通信設施,無線傳感器網(wǎng)絡靈活性高,在氣象監(jiān)測、搶險救災、目標跟蹤等領域具有重要的應用價值[4-6]。
網(wǎng)絡監(jiān)測質(zhì)量很大程度上取決于傳感器節(jié)點的部署[7-9]。一個良好的節(jié)點部署方案可以減少網(wǎng)絡形成的時間,提高目標區(qū)域的覆蓋率,并延長網(wǎng)絡生存時間。按照傳感器節(jié)點是否可以移動,無線傳感器網(wǎng)絡節(jié)點部署方案可以分為靜態(tài)部署和動態(tài)部署兩類。其中,靜態(tài)部署又包括確定性部署和隨機性部署。確定性部署通常應用于環(huán)境已知、比較安全或網(wǎng)絡狀態(tài)相對穩(wěn)定的區(qū)域,部署規(guī)模一般較小。而隨機部署常應用于環(huán)境惡劣或人工無法到達的監(jiān)控環(huán)境中,如戰(zhàn)爭、洪水、森林火險等災害監(jiān)測,部署規(guī)模較大??紤]到成本及網(wǎng)絡通信等因素,動態(tài)部署通過對移動節(jié)點位置實施優(yōu)化,能夠在有限的節(jié)點數(shù)量下實現(xiàn)較高的網(wǎng)絡覆蓋率,具有十分重要的理論意義與實用價值。本文提出了一種基于虛擬力算法的無線傳感器網(wǎng)絡動態(tài)部署方案,該方案采用布爾探測模型,考慮2種典型的虛擬力,并根據(jù)節(jié)點密度預先調(diào)整距離閾值。仿真實驗表明,與隨機部署相比,本方案可以有效提高監(jiān)測區(qū)域的覆蓋率,減少覆蓋空洞與覆蓋冗余,具有良好的部署性能。
虛擬力算法將傳感器節(jié)點看成電勢場中的粒子,節(jié)點與節(jié)點、節(jié)點與覆蓋區(qū)域之間存在虛擬的電場力作用,受力方向由預先設置的距離閾值決定。傳感器節(jié)點在虛擬力的作用下不斷調(diào)整位置信息,直到滿足網(wǎng)絡覆蓋率的要求。文獻[10]中的虛擬力模型考慮了3種虛擬力,分別是覆蓋區(qū)域與節(jié)點的吸引力、節(jié)點與節(jié)點的吸引力以及節(jié)點與節(jié)點之間的排斥力。由于節(jié)點之間既包含吸引力又包含排斥力,因此該算法容易產(chǎn)生局部節(jié)點過于密集的問題。為解決上述問題,本文只考慮被監(jiān)測區(qū)域?qū)?jié)點的吸引力以及節(jié)點之間的排斥力。首先,當被監(jiān)測區(qū)域未被節(jié)點覆蓋時,區(qū)域?qū)εR近節(jié)點的吸引力占主導作用,使節(jié)點盡快向未被覆蓋的區(qū)域移動,減少覆蓋空洞。其次,對于已被多個臨近節(jié)點同時覆蓋的區(qū)域,節(jié)點間的排斥力占主導作用,通過移動距離過近的節(jié)點來減少覆蓋冗余。
本文選用布爾感知模型實現(xiàn)相關功能,即傳感器節(jié)點以自身坐標為圓心,以感知半徑為半徑構(gòu)成其感知范圍。感知范圍內(nèi)的區(qū)域認為被有效覆蓋,感知范圍外的區(qū)域認為未被覆蓋。被監(jiān)測區(qū)域的覆蓋率可以表示為傳感器節(jié)點已覆蓋區(qū)域的面積As與監(jiān)測區(qū)域總面積A的比值,定義為q=As/A。
被監(jiān)測區(qū)域未被節(jié)點覆蓋時,區(qū)域?qū)εR近節(jié)點的吸引力占主導作用。這一虛擬力使節(jié)點盡快向未被覆蓋的區(qū)域移動,從而減少覆蓋空洞。被監(jiān)測區(qū)域?qū)鞲衅鞴?jié)點的吸引力可以由公式(1)表示:
式中:ωa為吸引力系數(shù),表征被監(jiān)測區(qū)域的重要程度,對于處處均勻的被監(jiān)測區(qū)域,ωa為常數(shù);dki為被監(jiān)測區(qū)域標識點K(xk, yk)與節(jié)點Si(xsi, ysi)的距離;Rc與Rs分別為傳感器節(jié)點的通信半徑與感知半徑。根據(jù)連通性原理,通信半徑與感知半徑滿足Rc≥2Rs。Rs<dki表示被監(jiān)測區(qū)域標識點處于節(jié)點Si的感知范圍外,此時需要移動節(jié)點實現(xiàn)覆蓋。dki≤Rc表示對于被監(jiān)測區(qū)域標識點而言,只有處于通信半徑范圍內(nèi)的傳感器節(jié)點才會受到標識點的吸引力。這樣的設定可以保證被監(jiān)測區(qū)域總是優(yōu)先考慮臨近傳感器節(jié)點的覆蓋,避免傳感器節(jié)點長距離移動。
對于已被多個臨近節(jié)點同時覆蓋的區(qū)域,節(jié)點間的排斥力占主導作用。此作用力通過移動距離過近的節(jié)點來減少覆蓋冗余。傳感器節(jié)點間的排斥力可以由公式(2)表示:
式中:ωR是排斥力系數(shù),表征節(jié)點間排斥的程度;dij為節(jié)點Si(xsi, ysi)與節(jié)點Sj(xsj, ysj)的距離;dth為預先設定的距離閾值。僅當dij<dth時,節(jié)點Si與節(jié)點Sj的感知范圍發(fā)生重疊,節(jié)點間存在排斥力??梢钥闯?,dij決定了節(jié)點的聚集程度。相關研究表明[11-12],dth合適的取值范圍為1.7Rs≤dth≤2Rs。
節(jié)點位置的更新由每一步節(jié)點所受虛擬力作用計算得到,可以用公式(3)表示:
式中:Fi是傳感器節(jié)點Si受到的合力;Fx,F(xiàn)y是合力分解在x軸和y軸上的分力;(xold, yold)是傳感器節(jié)點的原坐標;(xnew,ynew)是傳感器節(jié)點的新坐標;dmax是傳感器單次移動的最大距離。
第一步:給定被監(jiān)測區(qū)域范圍、節(jié)點信息參數(shù)以及預期覆蓋率指標,初始化模擬環(huán)境;
第二步:計算被監(jiān)測區(qū)域的覆蓋率,判斷是否達到預期指標,未達標轉(zhuǎn)第三步,否則轉(zhuǎn)第五步;
第三步:由公式(1)和公式(2)計算節(jié)點所受虛擬力的大小及方向,根據(jù)公式(3)計算節(jié)點移動位置,并更新節(jié)點坐標;
第四步:判斷算法是否達到設定的循環(huán)次數(shù),若達到轉(zhuǎn)第五步,否則轉(zhuǎn)第三步;
第五步:將節(jié)點移動到最終位置并輸出結(jié)果。
在MATLAB R2014平臺上對算法進行仿真實驗。被監(jiān)測區(qū)域為100×100,傳感器節(jié)點數(shù)量N為40,節(jié)點感知半徑Rs為10,通信半徑Rc為20,節(jié)點單次最大移動步長dmax為0.1,算法迭代次數(shù)為100次,節(jié)點排斥距離閾值為dth=1.7Rs。
如圖1所示,節(jié)點首先采用隨機拋灑方式部署。圖中圓點為傳感器節(jié)點位置,數(shù)字為節(jié)點序號,藍色圓形區(qū)域為傳感器節(jié)點的感知范圍,初始覆蓋率為70%。
圖1 節(jié)點初始分布情況
經(jīng)過算法100次迭代之后,圖2給出了調(diào)整后的傳感器節(jié)點在被監(jiān)測區(qū)域的位置分布情況??梢钥吹?,節(jié)點已基本覆蓋被監(jiān)測區(qū)域,此時覆蓋率為91%。
圖2 算法運行后節(jié)點分布情況
在監(jiān)測區(qū)域和節(jié)點感知半徑不變的情況下,本文研究了覆蓋率隨節(jié)點個數(shù)的變化情況。如圖3所示,隨著節(jié)點個數(shù)的增多,覆蓋率呈現(xiàn)同步增大趨勢。當節(jié)點個數(shù)超過30之后,覆蓋率增幅開始降低。這是由于理論上需要N=A/(πRs2)個節(jié)點即可實現(xiàn)覆蓋,按照本文采用的參數(shù)A=100×100,Rs=10,對應的數(shù)值約為32。因此,節(jié)點個數(shù)小于32時,節(jié)點間的重疊部分較小,單位節(jié)點覆蓋效率較高。當節(jié)點個數(shù)超過32時,節(jié)點間重疊部分逐漸增多,單位節(jié)點覆蓋效率降低,導致總覆蓋率增幅下降。
圖3 覆蓋率與節(jié)點個數(shù)的關系
本文針對無線傳感器網(wǎng)絡節(jié)點部署問題,以虛擬力算法思想為基礎,提出一種基于虛擬力算法的部署方案。本方案相比于隨機部署,可以有效提高覆蓋率,減少覆蓋盲區(qū)與覆蓋冗余。