葉繼華,肖 波,楊思渝,劉 凱,江愛文
1.江西師范大學計算機信息工程學院,南昌330022
2.南昌大學第一附屬醫(yī)院,南昌330022
從成本和應用價值考慮,無線傳感器網(wǎng)絡(wireless sensor network,WSN)具有節(jié)點能量有限、數(shù)據(jù)存在冗余[1]的特點,為了延長WSN 工作周期,必須盡可能降低網(wǎng)絡各節(jié)點的能耗,同時為保證WSN 對指定區(qū)域全面且有效的監(jiān)測,需要均衡各節(jié)點的能量消耗速率。2017 年,Boubrima 等人[2]在論文中提及了經(jīng)典的低功耗自適應集簇分層型協(xié)議(low energy adaptive clustering hierarchy,LEACH),并解釋該協(xié)議首次體現(xiàn)集簇思想,將網(wǎng)絡數(shù)據(jù)分層傳輸,大大降低了網(wǎng)絡節(jié)點的能耗,但是隨著應用系統(tǒng)的升級,該協(xié)議不再能夠滿足需求,因此大量改進LEACH 協(xié)議應運而生。Marappan 等人[3]在簇頭選舉策略中,為了維護節(jié)點的能耗均衡加入了代價函數(shù),距離Sink 更近、剩余能量更高者優(yōu)先被選中,但是論文并未考慮轉(zhuǎn)發(fā)過程中的總能耗,有可能會出現(xiàn)多跳轉(zhuǎn)發(fā)的能耗高于單跳直發(fā)的情況,從而導致網(wǎng)絡整體能耗更高。Rao 等人[4]基于粒子群優(yōu)化算法設計出了一種高效的簇頭選舉策略,雖然相比于隨機選舉簇頭型協(xié)議的確降低了網(wǎng)絡能耗,但是該文只是優(yōu)化了簇內(nèi)能耗問題,對于簇間以及路由層面的能耗沒有過多討論,有待進一步優(yōu)化。Mann 等人[5]基于改進后的人工蜂群元啟發(fā)式算法,提出了一種高效能蜜蜂聚類WSN 協(xié)議,它能在WSN 中獲得最優(yōu)簇頭,通過合理聚類和選簇頭的方式來均衡網(wǎng)絡能耗,但是沒有進一步在路由層面設計節(jié)點耗能均衡策略。Ye等人[6]認為節(jié)點間歇性休眠可以很好地節(jié)省能耗,從而設計出一種節(jié)點自適應的睡眠喚醒調(diào)度算法,但是論文僅僅是從降低單個節(jié)點能耗以實現(xiàn)降低網(wǎng)絡整體能耗的角度考慮的,對于均衡網(wǎng)絡能耗方面沒有過多考慮。潘華等人[7]利用普通節(jié)點與簇頭節(jié)點的雙向選擇進行優(yōu)化簇頭選舉,在數(shù)據(jù)傳輸階段,提出一種綜合考慮數(shù)據(jù)傳輸量和傳輸距離的多跳數(shù)據(jù)分發(fā)方式。雖然該方法能夠在一定程度上降低網(wǎng)絡能耗,但是該方法沒有考慮節(jié)點的剩余能量,不利于節(jié)點能耗的均衡。劉長紅等人[8]利用K-means 算法和數(shù)據(jù)回歸策略,針對節(jié)點分布不均勻的網(wǎng)絡實現(xiàn)合理分簇,論文通過均勻分簇的方式實現(xiàn)簇間能耗均衡,但是對于路由層面的能耗情況沒有討論。楊曉琴[9]試圖利用布谷鳥算法尋找最優(yōu)路徑,但是忽略了分簇與數(shù)據(jù)冗余方面的問題。王文等人[10]在LEACH 協(xié)議的基礎(chǔ)上,設置節(jié)點成簇因子,作為節(jié)點當選簇頭的依據(jù),再設計簇內(nèi)可變的數(shù)據(jù)發(fā)送周期,實現(xiàn)網(wǎng)絡節(jié)點的能耗均衡,但是該策略使用范圍有限,對于數(shù)據(jù)采集周期固定的網(wǎng)絡難以實現(xiàn)。萬葉晶等人[11]利用數(shù)據(jù)壓縮感知的方法,可以在準確獲取并分析數(shù)據(jù)的情況下,盡可能減少數(shù)據(jù)傳輸量以節(jié)能,論文通過數(shù)據(jù)融合方式減少數(shù)據(jù)傳輸量,但是沒有討論數(shù)據(jù)傳輸時的能耗均衡情況。莫文杰等人[12]先將監(jiān)測區(qū)域網(wǎng)格化,利用雙鏈遺傳算法設計合理的路徑,利用方便可移動式的Sink 節(jié)點循著路徑收集全網(wǎng)數(shù)據(jù),減少其他節(jié)點的通信距離節(jié)約網(wǎng)絡能耗,但是該策略對于固定Sink 節(jié)點網(wǎng)絡難以實現(xiàn)。
因為WSN 節(jié)點的能量消耗主要體現(xiàn)在數(shù)據(jù)傳輸方面,所以傳統(tǒng)的低功耗WSN 算法研究以及基于LEACH 的改進協(xié)議大多數(shù)都是從傳輸路徑、簇頭選舉和分簇策略等方面進行,而忽略了WSN 數(shù)據(jù)存在冗余的特點。針對WSN 數(shù)據(jù)冗余的特點,本文方法結(jié)合信息熵理論,利用相對熵計算模型,可以得到節(jié)點周期數(shù)據(jù)概率分布的差異度,進而得到數(shù)據(jù)之間的冗余度,通過拒絕冗余數(shù)據(jù)的傳輸,降低網(wǎng)絡整體的能耗。在數(shù)據(jù)傳輸階段,綜合考慮節(jié)點傳輸距離、能耗比等因素,設置合理的多跳轉(zhuǎn)發(fā)路由,以均衡網(wǎng)絡各節(jié)點的能耗。
LEACH 協(xié)議的核心思想為:規(guī)律性選舉簇頭,其余節(jié)點以最小距離原則選擇所屬簇,簇頭收集全簇節(jié)點的數(shù)據(jù)后再轉(zhuǎn)發(fā)給匯聚節(jié)點。簇頭是隨機選舉、輪流擔任,網(wǎng)絡中的每一個節(jié)點都需要產(chǎn)生一個(0,1)區(qū)間的隨機數(shù),并將該隨機數(shù)與閾值T(n)進行比較。

其中,p是網(wǎng)絡內(nèi)簇頭數(shù)量的比例,n是已經(jīng)完成的輪數(shù),n為節(jié)點編號,n∈Gr表示節(jié)點n屬于集合Gr,而Gr是在最近rmod(1/p)輪內(nèi)還沒有當選過簇頭的節(jié)點集合,一個輪次內(nèi),如果Gr內(nèi)的節(jié)點產(chǎn)生的隨機數(shù)小于閾值T(n),則將被選舉為簇頭。
LEACH 協(xié)議存在以下幾方面的缺陷:(1)LEACH協(xié)議采用的是單跳直發(fā)路由,遠距離通信的節(jié)點能量消耗更多,不利于全網(wǎng)節(jié)點的能耗均衡。(2)LEACH協(xié)議對無線傳感器網(wǎng)絡的數(shù)據(jù)沒有去冗余操作,節(jié)能效果有待進一步提升。
Parmar 等人[13]提出的LEACH-CM(modified centralized low-energy adaptive clustering hierarchy protocol)方法是對LEACH 的一種改進,其優(yōu)化了簇頭選舉策略,不僅簇頭是從剩余能量大于全網(wǎng)平均能量的節(jié)點中產(chǎn)生,而且簇頭節(jié)點的數(shù)量CHs 等于網(wǎng)絡中存活節(jié)點的數(shù)量nalive乘以簇頭比p,不僅如此,LEACHCM 還靈活變化了某些節(jié)點的數(shù)據(jù)傳輸路徑,實現(xiàn)更優(yōu)的節(jié)能效果。實驗部分將通過與LEACH-CM 的比較,驗證本文方法的有效性。
根據(jù)文獻[14],節(jié)點數(shù)據(jù)傳輸模型如下所示。傳感器發(fā)送與傳輸l(單位為bit)數(shù)據(jù)所消耗的能量:

類似于遠程貨運商品,除了需要運輸費,還需要裝載、卸載費,式(2)由兩部分組成:發(fā)送電路的能耗和傳輸能耗。其中Eelec表示發(fā)送電路發(fā)送單位bit數(shù)據(jù)的能耗,其大小與編碼、調(diào)制、濾波等相關(guān)。在傳輸過程中,根據(jù)傳輸距離d與閾值d0的關(guān)系,將模型細分為自由空間模型(傳輸能耗與距離的平方成正比)和多路徑衰減模型(傳輸能耗與距離的四次方成正比),兩種模型下的能耗參數(shù)分別為εfs和εamp。由于d大于0,因此兩個模型下的能耗都隨距離的增長而單調(diào)遞增,相比于自由空間模型,多路徑衰減模型下能耗更多,因此為了更好節(jié)能,縮減數(shù)據(jù)傳輸距離尤為重要。傳感器接收l(單位為bit)數(shù)據(jù)所消耗的能量:

與信號發(fā)送電路的能耗相類似,節(jié)點在接收數(shù)據(jù)時所消耗的能量只與數(shù)據(jù)包的大小有關(guān),因此式(3)中傳感器節(jié)點接收l(單位為bit)數(shù)據(jù)所消耗的能量為lEelec。
由于傳感器采集的是某個時刻的數(shù)據(jù)值,因此在計算周期數(shù)據(jù)相對熵時,采用離散變量的相對熵計算方法。假設存在兩個概率分布函數(shù)分別為f(x)={f(1),f(2),…}和g(y)={g(1),g(2),…},且:

相對熵KL(f||g)的值可以用來描述兩個概率分布函數(shù)f(x)和g(y)的差異度。通常情況下,概率分布差異越大,f(i)與g(i)的比值就越遠離于1,KL(f||g)的值也越遠離于0,極限情況下,當兩個概率分布完全相同時,KL(f||g)=0。
本文采用的數(shù)據(jù)集是Intel Berkeley Research Lab在真實環(huán)境中,利用多個異構(gòu)傳感器連續(xù)一個月采集的環(huán)境數(shù)據(jù),其中包括日期、時刻、傳感器編號、溫度、濕度等數(shù)據(jù)信息,本文采用溫度值數(shù)據(jù)ti,節(jié)點每隔30 s 完成一次環(huán)境數(shù)據(jù)的采集,每完成10 個數(shù)據(jù)采集的過程,就進行一次數(shù)據(jù)的發(fā)送,每個數(shù)據(jù)發(fā)送周期用Ti表示,如圖1 所示。

Fig.1 Node sampling cycle and sending cycle圖1 節(jié)點采樣周期與發(fā)送周期
節(jié)點周期數(shù)據(jù)概率分布計算方法與去冗余方法如下:
(1)先將傳感器節(jié)點當前數(shù)據(jù)發(fā)送周期Ti與前一個周期Ti-1的數(shù)據(jù)列向量X和Y重新組成一個新的10×2 維的向量x=[X,Y]。
(2)遍歷向量x中元素的最大值maxx和最小值minx,求出數(shù)據(jù)跨度區(qū)間為(maxx,minx),將區(qū)間分為duan段(在本文中duan=10),如下線段所示:

其中,Wid=(maxx-minx)/duan,記Ti與Ti-1周期的數(shù)據(jù)在每段出現(xiàn)的次數(shù)分別為:

則Ti周期與Ti-1周期數(shù)據(jù)的概率分布分別為:

(3)根據(jù)式(5)計算傳感器節(jié)點當前周期Ti與前一個周期Ti-1數(shù)據(jù)分布的相對熵值KL(P||Q),相對熵值越小,兩個周期的數(shù)據(jù)概率分布就越接近。

根據(jù)本文的實際應用設計,下面將簡單分析Qj是否為0 的情況:

由此總結(jié),節(jié)點當前周期Ti的數(shù)據(jù)概率分布P和前一個周期Ti-1的數(shù)據(jù)概率分布Q的相對熵值KL(P||Q)越接近于0,表明兩個周期數(shù)據(jù)的相關(guān)性就越強,兩個周期內(nèi)的數(shù)據(jù)冗余度就越高,因此需要設定合理的閾值Do作為衡量和判定數(shù)據(jù)冗余度的標準,只有KL(P||Q)≥Do時節(jié)點數(shù)據(jù)才會被發(fā)送出去。
在WSN 中通信是節(jié)點的主要能耗途徑[15],因此需要設計合理的路由協(xié)議以節(jié)能[16]。而且節(jié)點通信距離有限,為了均衡遠距離節(jié)點的通信能耗,需要進一步設計多跳轉(zhuǎn)發(fā)路由。
地域自適應保真算法(geographical adaptive fidelity,GAF)是WSN 中的一種能量高效的路由算法[17],其利用網(wǎng)絡節(jié)點分布的過密性,通過設置網(wǎng)絡中的冗余節(jié)點輪流休眠,降低網(wǎng)絡能耗,但是對于節(jié)點移動型網(wǎng)絡,該算法存在較大丟包率。朱敏等人[18]提出一種虛擬網(wǎng)格的分簇路由算法(cluster routing algorithm based on virtual grid,CRVB),該算法先將網(wǎng)絡虛擬分區(qū),每個區(qū)內(nèi)根據(jù)最大剩余能量原則選簇頭,簇頭與Sink 之間的通信采用多跳轉(zhuǎn)發(fā)的方式,降低網(wǎng)絡能耗的同時又均衡了網(wǎng)絡負載。余修武等人[19]提出了一種蜂窩網(wǎng)格的混合多跳路由算法(improved hybrid clustering routing algorithm,IHCRA),該算法將監(jiān)測區(qū)域分為若干個正六邊形,結(jié)合角度、距離等因素設置代價函數(shù),從鄰居節(jié)點中尋找擁有最小代價的中繼節(jié)點作為自己的下一跳節(jié)點,在延長網(wǎng)絡壽命方面有著比傳統(tǒng)LEACH、GAF和CRVB協(xié)議更好的效果。
本文提出的兼顧自身剩余能量的多跳轉(zhuǎn)發(fā)路由(multi-hop forwarding routing considering its own residual energy,MFRCRE)分為兩部分:簇內(nèi)多跳轉(zhuǎn)發(fā)以及簇間最大步長傳輸。簇內(nèi)傳輸采用化整為零的思想,將高能耗的遠距離單跳傳輸變?yōu)榈湍芎牡亩嗵D(zhuǎn)發(fā),降低網(wǎng)絡整體能耗的同時,均衡了各節(jié)點的能耗速率。簇間傳輸以高效為原則,采用最大步長進行傳輸,直至將數(shù)據(jù)傳輸至匯聚節(jié)點單跳距離(傳感器節(jié)點的最遠傳輸距離)以內(nèi)。本文將在與IHCRA方法的對比仿真實驗中,驗證MFRCRE方法的有效性。
通常情況下,簇頭與簇內(nèi)各節(jié)點均在單跳傳輸距離以內(nèi),或者雖然源節(jié)點與目標節(jié)點不屬于同一個簇,但是它們的距離在單跳距離以內(nèi)時,如圖2 所示:圖中的圓是區(qū)域內(nèi)的某一個簇,S1 節(jié)點是簇內(nèi)離簇頭最遠的節(jié)點,該節(jié)點的能量消耗更大,如果它提前失效,有可能造成正方形監(jiān)測區(qū)域內(nèi)左上角部分失去有效的監(jiān)測,為了防止此類情況的發(fā)生,需要將S1 與簇頭的直接通信轉(zhuǎn)變?yōu)殚g接通信,即找到合適的中繼節(jié)點S2 幫助轉(zhuǎn)發(fā)數(shù)據(jù)。

Fig.2 Multiple jumps forwarding within cluster圖2 簇內(nèi)多跳轉(zhuǎn)發(fā)
(1)距離公式(保證能耗更低)
距離公式:當源節(jié)點S1 與中繼節(jié)點S2 以及目標節(jié)點共同構(gòu)成鈍角三角形且S1 與目標節(jié)點的連線構(gòu)成鈍角三角形的最長邊時,必有,根據(jù)傳感器節(jié)點的能耗模型可知,傳感器節(jié)點的能耗與距離的平方成正比,據(jù)此將“遠距離、高功耗的單跳直發(fā)”轉(zhuǎn)換為“近距離、低功耗的多跳轉(zhuǎn)發(fā)”。因此d、d1、d2必須滿足以下距離公式:

其中,當d<d0時,如果有d1≥d0>d或者d2≥d0>d,那意味著,中繼節(jié)點轉(zhuǎn)發(fā)的距離比單跳直發(fā)的距離更長,能耗也更高。此時源節(jié)點S1 會直接與目標節(jié)點通信,而無需中繼節(jié)點S2 轉(zhuǎn)發(fā)。
(2)能耗比條件(保證能耗均衡)
控制能耗均衡的辦法不應該是控制節(jié)點的能耗值相同,而應該控制節(jié)點能耗比盡可能相同。能耗比即是節(jié)點此次通信能耗與當前剩余能量的比值,能耗比條件將高能耗比的單跳直發(fā)轉(zhuǎn)變?yōu)榈湍芎谋鹊亩嗵D(zhuǎn)發(fā)。

其中,Esc是源節(jié)點單跳直發(fā)方式時所消耗的能量,Es是源節(jié)點數(shù)據(jù)發(fā)送之前的剩余能量,Esic是滿足距離公式的某個候選中繼節(jié)點si在轉(zhuǎn)發(fā)源節(jié)點數(shù)據(jù)時所消耗的能量值,Esi表示該候選中繼節(jié)點轉(zhuǎn)發(fā)之前的剩余能量,只有滿足式(6)以及式(7)的節(jié)點才會被選作中繼節(jié)點執(zhí)行轉(zhuǎn)發(fā)任務。
在節(jié)點隨機分布的情況下,距離Sink 更近的節(jié)點起到了橋的作用,不僅傳遞自己的數(shù)據(jù)還負責轉(zhuǎn)發(fā)遠距離節(jié)點的數(shù)據(jù),因此能耗相對會更高些,在兼顧自身剩余能量的多跳轉(zhuǎn)發(fā)路由(MFRCRE)方法中,當源節(jié)點與目標節(jié)點的距離大于傳感器的單跳傳輸距離(dr)時,為了更好地均衡能耗,同時為了降低傳播時延(傳輸次數(shù)越多,丟包率越高,甚至能耗也會更高[20]),設置此類節(jié)點以最大步長傳輸至以Sink 為中心,dr為半徑的圓形區(qū)域內(nèi),如圖3 所示。

Fig.3 Schematic diagram of maximum step size transmission圖3 最大步長傳輸示意圖
最大步長傳輸步驟如下:
(1)距離Sink 大于dr的簇頭,會在自己最大的通信半徑內(nèi)尋找距離Sink 最近的節(jié)點作為自己的下一跳節(jié)點,實現(xiàn)最大步長的傳輸;
(2)如果步驟(1)中的下一跳節(jié)點仍然在中心圓區(qū)域外,重復步驟(1),直至數(shù)據(jù)到達中心圓區(qū)域內(nèi);
(3)數(shù)據(jù)在中心圓區(qū)域內(nèi)采用簇內(nèi)多跳轉(zhuǎn)發(fā)規(guī)則傳輸至Sink。
為了驗證本文方法的有效性,在Matlab R2014b中進行如下仿真實驗,設置監(jiān)測位置是一個面積為S=100 m×100 m 的正方形島嶼區(qū)域且傳感器節(jié)點沒有外界電源供應,其中Sink 節(jié)點位于正方形區(qū)域外,坐標為(150,50),其余50 個普通傳感器節(jié)點隨機分布在正方形區(qū)域內(nèi),數(shù)據(jù)采用英特爾伯克利實驗室(http://db.lcs.mit.edu/labdata/labdata.html)部署無線傳感器網(wǎng)絡節(jié)點釆集的真實環(huán)境數(shù)據(jù)集,用于監(jiān)測區(qū)域內(nèi)環(huán)境變化、預測火災以及測試網(wǎng)絡生存周期。對本文設置的無線傳感器網(wǎng)絡進行如下假設[21]:
(1)每個傳感器節(jié)點都擁有環(huán)境感知、數(shù)據(jù)收集、數(shù)據(jù)融合處理、計算、無線通信等能力,環(huán)境不會對傳感器節(jié)點造成損害,不影響節(jié)點的正常工作。
(2)傳感器節(jié)點在網(wǎng)絡中的位置一旦確定,就不再發(fā)生改變,且每個節(jié)點都知道自己的位置坐標,每個節(jié)點都由電池供電,初始能量不為零但有限。
(3)傳感器節(jié)點的能量消耗主要發(fā)生在數(shù)據(jù)的發(fā)送、接收、傳輸和融合中,傳感器環(huán)境監(jiān)測、計算等消耗的能量忽略不計。實驗參數(shù)設置如表1 所示。

Table 1 Experimental parameter settings表1 實驗參數(shù)設置
實驗性能對比指標的計算模型:
(1)網(wǎng)絡整體的失效節(jié)點數(shù)

其中,dead(r)是每個輪次周期內(nèi)的新增失效節(jié)點數(shù)量,將所有輪次失效節(jié)點數(shù)疊加求和,得到網(wǎng)絡整體的失效節(jié)點數(shù)。該對比指標隨時間變化的趨勢可以用來表征網(wǎng)絡失活速度的快慢,當網(wǎng)絡整體失效節(jié)點數(shù)等于網(wǎng)絡總的節(jié)點數(shù)時,網(wǎng)絡完全失活。
(2)網(wǎng)絡平均剩余能量

其中,eri為節(jié)點Si在第r輪次周期內(nèi)的能耗值,Eri為節(jié)點Si在完成第r輪次數(shù)據(jù)發(fā)送周期后的剩余能量值,avg(r)是第r輪周期結(jié)束時網(wǎng)絡的平均剩余能量,網(wǎng)絡平均剩余能量對比指標可以很好地進行不同方法間節(jié)能效果的比較,該指標參數(shù)隨時間降落的速度越快,意味著網(wǎng)絡能耗越高。
(3)數(shù)據(jù)誤差

其中,err(i)指的是每個周期內(nèi)節(jié)點i的數(shù)據(jù)誤差值,因為本文假設節(jié)點每個周期內(nèi)都進行了10 次數(shù)據(jù)采集過程,因此該計算模型下的分母為10,而rERR是網(wǎng)絡運行了rmax個周期后,匯聚節(jié)點獲取的數(shù)據(jù)值與n個傳感器節(jié)點實際采集數(shù)據(jù)的平均誤差。實驗需要在允許的誤差范圍內(nèi)進行才有效。
(4)網(wǎng)絡剩余能量均方差

其中,nalive表示當前周期內(nèi)網(wǎng)絡存活節(jié)點數(shù)量,Ei表示當前周期節(jié)點Si的剩余能量,網(wǎng)絡剩余能量均方差值越小,網(wǎng)絡能量均衡能力就越強[22]。
由于傳感器節(jié)點的數(shù)據(jù)值非負,因此相對熵值非負,且KL(P||Q) 越接近0 就意味著數(shù)據(jù)冗余度越高。在相對熵閾值Do設計方面,由于過大的Do設計會導致過多的數(shù)據(jù)被判定為冗余被丟棄,從而導致匯聚節(jié)點獲取的數(shù)據(jù)誤差過大,根據(jù)初步實驗限定Do<0.5,為了更詳細展示Do變化對于誤差的影響,設置Do以0.01為步長,從0.01增長到0.5,計算LEACHCIE(improved LEACH protocol combining relative information entropy)方法下的網(wǎng)絡在不同Do情況下運行200 個周期之后,節(jié)點的平均剩余能量(rAVG)以及網(wǎng)絡數(shù)據(jù)平均誤差(rERR)的變化情況。得到如圖4 所示的關(guān)系曲線圖。

Fig.4 Graph of mean error and average remaining energy of LEACH-CIE varying with Do圖4 LEACH-CIE 平均誤差和平均剩余能量隨Do 變化的曲線圖
從圖4 可以看出,隨著相對熵閾值Do不斷變大,網(wǎng)絡的平均剩余能量(rAVG)在不斷增長,平均誤差(rERR)也在增長。因此為了更好地解決能耗,需要Do越大越好;然而為了減少誤差,需要Do越小越好。在本文所假設的實際應用中,為了更好更長久地對環(huán)境進行監(jiān)測和預警,需要設置合理的誤差范圍,取最優(yōu)的節(jié)能策略。結(jié)合文獻許馳等人[23]系統(tǒng)測試精度±0.3 ℃,尹克強等人[24]設置的列車車載設備報警溫度測量值的誤差不超過0.4 ℃以及徐曉斌等人[25]設計的PCDA(precision configurable data aggregation algorithm)方法的均值查詢平均絕對誤差為0.136 6~0.303 0,誤差遠小于B-based 方法,因此本文設置WSN 允許的數(shù)據(jù)誤差為0.300,從圖4 可以看出,取Do=0.05 即能夠滿足理想誤差條件。
為進一步驗證Do=0.05 為理想設定值,現(xiàn)在保持Do不變,進行30 組基于LEACH-CIE 方法下的網(wǎng)絡運行200 個周期的實驗,每次實驗傳感器節(jié)點的位置都隨機產(chǎn)生,得到30 組數(shù)據(jù)平均誤差rERR 與網(wǎng)絡平均剩余能量rAVG 的值,如表2 所示。
從表2 的數(shù)據(jù)可見,30 次實驗的誤差均在理想范圍內(nèi)。根據(jù)圖4 和表2,確定Do=0.05 后,在平均情況下,LEACH-CIE 方法下的網(wǎng)絡運行200 個周期后仍然有著較為理想的能量節(jié)省,并且30 次實驗的平均數(shù)據(jù)誤差值為0.280 且小于誤差閾值0.300。
在類似的應用中,譚德坤等人[26]設計了一種基于異常數(shù)據(jù)驅(qū)動的WSN 簇內(nèi)數(shù)據(jù)融合方法(abnormal data-driven data aggregation method,DA-ADD),其在數(shù)據(jù)去除冗余的過程中,采用的策略是計算兩個數(shù)據(jù)差的絕對值,大于閾值的數(shù)據(jù)被判定為激變數(shù)據(jù),只有激變數(shù)據(jù)才傳輸。除此之外,當激變數(shù)據(jù)產(chǎn)生時,再利用復雜度為n2的算法計算節(jié)點之間的支持度,進一步判定激變數(shù)據(jù)的有效性。下面,將DAADD 方法與LEACH-CIE 方法(設定Do=0.05),就誤差與能耗兩個參數(shù)進行比較。
圖5 和圖6 分別是DA-ADD 方法與LEACH-CIE方法的30 組平均誤差與平均剩余能量的對比實驗,其中圖5、圖6 的橫坐標均表示實驗次序,圖5 縱坐標表示網(wǎng)絡平均誤差,圖6 縱坐標表示網(wǎng)絡平均剩余能量。圖7 的x軸表示的是平均誤差,y軸表示周期數(shù),z軸表示平均剩余能量,圖7 從三維角度展示了DA-ADD 與LEACH-CIE 的誤差與能耗的比較,從中不難看出,平均情況下,LEACH-CIE 方法具有更高的平均剩余能量以及更低的平均誤差。

Table 2 30 groups rERR and rAVG values under LEACH-CIE method when Do=0.05表2 Do=0.05 時LEACH-CIE 方法下的30 組rERR 與rAVG 的值

Fig.5 Comparison of average error between DA-ADD and LEACH-CIE圖5 DA-ADD 與LEACH-CIE 平均誤差的對比

Fig.6 Comparison of average residual energy between DA-ADD and LEACH-CIE圖6 DA-ADD 與LEACH-CIE 平均剩余能量的對比

Fig.7 Comparative experiment of DA-ADD and LEACH-CIE圖7 DA-ADD 與LEACH-CIE 的對比實驗
由于DA-ADD 方法采用單個數(shù)據(jù)之間的比較,用差的絕對值大小反映數(shù)據(jù)的異常性,而本文LEACH-CIE 方法則是采用相鄰周期內(nèi)各自10 個數(shù)據(jù)的概率分布的相對熵值來反映數(shù)據(jù)的異常性,兩種方法都是通過限量傳輸(只傳輸異常數(shù)據(jù))來達到節(jié)能的目的,DA-ADD 方法在去冗余的過程中,大力削減數(shù)據(jù)傳輸量的同時,也大幅度增長了匯聚節(jié)點的獲取的數(shù)據(jù)誤差。30 組仿真實驗中,LEACH-CIE方法的平均誤差值為0.280 4,平均剩余能量值為0.268 4,而DA-ADD 方法的平均誤差為0.286 5,平均剩余能量為0.264 1,結(jié)合圖5、圖6 和圖7,不難看出,LEACH-CIE 方法相較于文獻[24]的方法,網(wǎng)絡具有更高的平均剩余能量和更低的平均誤差,因此設置Do=0.05 是合理的,后續(xù)實驗將延續(xù)此參數(shù)設定值。
3.2.1 不同性能指標方面的比較
(1)每輪周期結(jié)束后,網(wǎng)絡失效節(jié)點數(shù)的比較。如圖8所示:①隨著網(wǎng)絡運行周期的不斷增長,LEACH、LEACH-CM、LEACH-CIE 方法下的傳感器節(jié)點失效數(shù)量都在不斷增多,但是本文提出的LEACH-CIE 方法,相較于其他兩種方法,失效節(jié)點數(shù)量的增加速度更為緩慢;②LEACH-CIE 幾乎最晚出現(xiàn)首個失效節(jié)點。表3 記錄了3 種方法在相同環(huán)境和數(shù)據(jù)集下運行10 次,每次第一個出現(xiàn)失效節(jié)點的周期。

Fig.8 Comparison of the number of failed nodes圖8 失效節(jié)點數(shù)的比較

Table 3 Number of cycles failed nodes first appear in 3 methods表3 3 種方法首先出現(xiàn)失效節(jié)點的周期數(shù)
從表3 中記錄的數(shù)據(jù)可以計算LEACH、LEACHCM 和LEACH-CIE 方法下的網(wǎng)絡首次出現(xiàn)失效節(jié)點的平均周期數(shù),分別為19.9、30.1 和32.8,平均情況下本文方法擁有最晚出現(xiàn)失效節(jié)點的周期數(shù),符合延長網(wǎng)絡生存周期的目的。
(2)每輪數(shù)據(jù)傳輸結(jié)束后,網(wǎng)絡剩余能量的平均值和均方差的比較。
從圖9 可以看出:①相同條件下,LEACH-CIE 擁有更為緩慢的能量消耗速率,因此節(jié)能效果更顯著;②當網(wǎng)絡平均剩余能量低至接近于0 時,意味著網(wǎng)絡已經(jīng)癱瘓,從圖中可以看出,LEACH-CIE 存在更長的網(wǎng)絡生存時間。從圖10 可以看出,相同周期內(nèi),本文方法LEACH-CIE 擁有更小的網(wǎng)絡剩余能量均方差值,因此節(jié)點的能量消耗速率更均衡。

Fig.9 Curve of average value of remaining energy in network圖9 網(wǎng)絡剩余能量平均值變化曲線圖

Fig.10 Comparison of mean squared errors of network residual energy圖10 網(wǎng)絡剩余能量均方差比較
(3)“存活”節(jié)點在網(wǎng)絡中的分布

Fig.11 Distribution of two types of nodes after 100 rounds of network operation under LEACH and LEACH-CM protocols圖11 LEACH 和LEACH-CM 協(xié)議網(wǎng)絡運行100 輪后兩類節(jié)點的分布

Fig.12 Distribution of two types of nodes after 100 rounds of network operation under LEACH-CIE protocol圖12 LEACH-CIE 協(xié)議網(wǎng)絡運行100 輪后兩類節(jié)點的分布
圖11 和圖12 中的矩形均是一個150×100 的長方形區(qū)域,圖11 和圖12 中的橫坐標、縱坐標分別表示節(jié)點在網(wǎng)絡中的坐標值,其中Sink 節(jié)點的坐標為(150,50)。在圖11 中,“。”表示依然存活的節(jié)點,“×”表示已經(jīng)失效的節(jié)點。可以看出:LEACH 協(xié)議和LEACHCM 協(xié)議下的網(wǎng)絡在運行了100 輪周期之后,兩者存活節(jié)點的分布都不均勻,且距離Sink 更遠的節(jié)點會優(yōu)先失效。
圖12 是本文方法LEACH-CIE 下的網(wǎng)絡在運行了100個周期之后,網(wǎng)絡中存活節(jié)點與失效節(jié)點的分布情況。從圖中可以看出,LEACH-CIE 相較于LEACH和LEACH-CM 在相同周期內(nèi)節(jié)點存活數(shù)量更多,分布更均勻,因此LEACH-CIE 下的網(wǎng)絡節(jié)點的能量消耗更低,也更均等。
本文通過距離公式找到候選中繼節(jié)點,在滿足轉(zhuǎn)發(fā)總能耗低于源節(jié)點S1 直發(fā)能耗的前提下,保證網(wǎng)絡總能耗更低,再通過能耗比條件確保中繼S2 的能量消耗速率不高于S1,避免中繼節(jié)點因能量消耗太快而過早失效。通過此兩點,達到降低網(wǎng)絡整體能耗以及均衡網(wǎng)絡各節(jié)點能量消耗速率的目的。
3.2.2 變化節(jié)點密度下的比較
為了更好地驗證本文方法的魯棒性,在區(qū)域面積S=100×100 不變的情況下,將節(jié)點數(shù)量以20 為步長,從30 增加至70 進行對比實驗,得到圖13。

Fig.13 Comparison of 3 methods under different number of nodes圖13 3 種方法在不同節(jié)點數(shù)量下的比較
圖13 的第一列圖是平均網(wǎng)絡剩余能量值的比較,第二列圖是網(wǎng)絡失效節(jié)點數(shù)的比較,第三列圖是剩余能量均方差的比較。從圖中可以看出,在不同節(jié)點數(shù)量的情況下,LEACH-CIE 方法下的網(wǎng)絡依然有著比LEACH 和LEACH-CM 下的網(wǎng)絡更長的生存周期,網(wǎng)絡節(jié)點能耗更低、更均衡。
3.2.3 多跳轉(zhuǎn)發(fā)路由的比較
基于網(wǎng)絡剩余能量均方差,對兼顧自身剩余能量的多跳轉(zhuǎn)發(fā)路由方法(MFRCRE)與IHCRA 路由算法進行比較,結(jié)果如圖14 所示。

Fig.14 Multi-hop forwarding routing comparison圖14 多跳轉(zhuǎn)發(fā)路由比較
圖14 是在相同網(wǎng)絡布置、相同分簇結(jié)構(gòu)、相同網(wǎng)絡數(shù)據(jù)的情況下,將MFRCRE 算法與IHCRA 算法進行比較所得。從圖中可以看出,兼顧自身剩余能量的多跳路由算法有著比IHCRA 更低的剩余能量均方差,這意味著相同周期內(nèi),兼顧自身剩余能量的多跳路由算法下的網(wǎng)絡節(jié)點能耗更均衡。
本文方法結(jié)合信息熵理論,利用相對熵模型計算得到節(jié)點相鄰兩個周期數(shù)據(jù)分布的相對熵值,作為判斷數(shù)據(jù)冗余度的依據(jù),通過實驗合理設置閾值,對相對熵高于閾值的數(shù)據(jù)進行阻斷傳輸?shù)牟僮鳎_到WSN 數(shù)據(jù)去冗余和節(jié)能的目的。在數(shù)據(jù)傳輸過程中,綜合考慮節(jié)點通信距離、能耗比兩方面因素,設置節(jié)點轉(zhuǎn)發(fā)條件:距離條件和能耗比條件。只有同時滿足兩個條件時,節(jié)點才會進行轉(zhuǎn)發(fā)任務,很好地均衡了網(wǎng)絡各節(jié)點的能耗,避免部分區(qū)域節(jié)點失效過快。通過改變節(jié)點分布密度,再進行多組仿真實驗,相比于LEACH 和LEACH-CM 協(xié)議,本文方法LEACH-CIE 下的網(wǎng)絡具有更長的生存周期,節(jié)點能耗也更為均衡。