WSN的一種基于能量估算的集中式分簇路由協(xié)議
摘要:通過對LEACH—C等協(xié)議的研究及改進(jìn),提出一種基于能量估算的集中式分簇路由協(xié)議LEACH—EE。在LEACH—EE協(xié)議中,基站根據(jù)接收到的各個簇的數(shù)據(jù)量來估算每個簇內(nèi)節(jié)點的能量消耗情況,并根據(jù)估算結(jié)果來重新確定下一輪的簇首和簇結(jié)構(gòu)。只有在一定條件發(fā)生時,或者間隔相當(dāng)長的時間,才需要傳感器節(jié)點向基站匯報自己的能量等信息。仿真結(jié)果表明,與LEACH、LEACH—C協(xié)議相比,LEACH—EE協(xié)議更能節(jié)省網(wǎng)絡(luò)能量,延長網(wǎng)絡(luò)的生命周期。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);路由協(xié)議;LEACH—C;LEACH—EE
引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由部署在監(jiān)測區(qū)域內(nèi)的大量廉價微型傳感器節(jié)點,通過無線通信方式形成的一個自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者。由于無線傳感器網(wǎng)絡(luò)節(jié)點的能量、存儲空間、計算能力等的限制,使得傳統(tǒng)的無線路由協(xié)議不適合無線傳感器網(wǎng)絡(luò)。因此,設(shè)計能夠有效節(jié)約能量、延長網(wǎng)絡(luò)生命周期的路由協(xié)議,對無線傳感器網(wǎng)絡(luò)來說意義重大。分簇路由協(xié)議在這方面具有很好的性能。
LEACH(Low Energy Adaptive Clustering Hierarchy)協(xié)議是無線傳感器網(wǎng)絡(luò)中第一個基于分簇的路由協(xié)議,通過周期性地隨機選舉簇首來保證節(jié)點有相等的機會成為簇首,均衡節(jié)點能量的消耗,從而達(dá)到延長網(wǎng)絡(luò)生命周期的目的。其成簇思想貫穿于其后提出的很多分簇路由協(xié)議中,如TEEN(Threshold—sensitive Energy Efficient sensor Network protoc01)、PEGASIS(Power Efficient GAthering in Sensor Information System)等。LEACH-C(Low Energy Adaptive Clustering Hierarchy—Centralized)是LEACH協(xié)議的一個特定版本,是一種集中式的簇首產(chǎn)生算法。在LEACH—C中,當(dāng)每輪開始時,每個節(jié)點將自身地理位置和剩余能量等信息報告給基站,基站根據(jù)這些全局信息挑選簇首,能夠確保簇首的數(shù)量和位置最優(yōu),性能比LEACH協(xié)議有了顯著提高。但是,這種算法由于每次都與基站進(jìn)行交互,增加了不少的能量消耗。
針對無線傳感器網(wǎng)絡(luò)中LEACH—C協(xié)議存在的不足,本文在對LEACH—C協(xié)議研究的基礎(chǔ)上提出一種基于能量估算的集中式分簇路由協(xié)議LEACH—EE(Low Energy Adaptive Clustering Hierarchy—Energy Estimate)。該協(xié)議通過對能量消耗進(jìn)行估算,減少傳感器節(jié)點與基站的通信量,從而節(jié)約整個網(wǎng)絡(luò)的能耗。
1 網(wǎng)絡(luò)模型及無線通信能耗模型
1.1 網(wǎng)絡(luò)模型
本文假設(shè)n個傳感器節(jié)點隨機分布在區(qū)域A內(nèi),并且該傳感器網(wǎng)絡(luò)具有如下特性:
①網(wǎng)絡(luò)部署完畢后,所有節(jié)點都是靜止不動的,節(jié)點能夠獲知其位置信息。
②網(wǎng)絡(luò)規(guī)模小,所有節(jié)點都可以直接與基站通信?;疚ㄒ磺椅恢霉潭?。
③普通節(jié)點能量有限,且具有相同的計算、通信能力和初始能量,而基站的能量和計算能力沒有限制。
④傳感器網(wǎng)絡(luò)是主動型的傳感器網(wǎng)絡(luò),負(fù)責(zé)持續(xù)監(jiān)測周圍環(huán)境現(xiàn)象并以恒定速率發(fā)送數(shù)據(jù)。
⑤傳感器節(jié)點的數(shù)據(jù)融合比例系數(shù)為β,即ktrans=krec/β,其中krec、ktran分別表示傳感器節(jié)點接收到的數(shù)據(jù)包長度和融合后形成的數(shù)據(jù)包長度。
1.2 無線通信能耗模型
采用與參考文獻(xiàn)相同的無線能耗模型。發(fā)送數(shù)據(jù)時的能量消耗為:
其中,k為發(fā)送數(shù)據(jù)bit值;d為實際通信距離;d0為距離閾值,當(dāng)傳輸距離小于d0時,功率放大損耗采用自由空間模式,否則采用多路徑衰減模式;Eelec表示節(jié)點電路發(fā)送和接收每bit數(shù)據(jù)的耗能;εfx和εamp分別表示放大器在2種衰減模型下的能耗系數(shù)。
2 基于能量估算的集中式分簇路由協(xié)議
本文提出的基于能量估算的集中式分簇路由協(xié)議LEACH—EE的思想如下:
①網(wǎng)絡(luò)部署完畢后,每個節(jié)點將自己的位置和當(dāng)前能量等信息發(fā)送給基站,基站運用類似LEACH—C的思想選擇合適的簇首并進(jìn)行簇的劃分,并給每個簇加上簇標(biāo)識,如c1,c2,c3,…,cn等。最后基站將簇首、簇標(biāo)識、簇結(jié)構(gòu)等信息廣播出去,分簇完成。
②接著是一輪數(shù)據(jù)傳輸?shù)姆€(wěn)定階段。在這一階段,傳感器節(jié)點將監(jiān)測數(shù)據(jù)傳輸給簇首,簇首將數(shù)據(jù)融合后加上簇標(biāo)識,然后把數(shù)據(jù)傳輸給基站,基站統(tǒng)計每個簇發(fā)送過來的數(shù)據(jù)量。當(dāng)一輪數(shù)據(jù)傳輸結(jié)束后,基站根據(jù)這輪接收到的每一個簇的數(shù)據(jù)量估算出本輪中這個簇內(nèi)所有節(jié)點的能量剩余情況。具體如下:
假設(shè)第m(m=1,2,3,…)輪基站接收到簇標(biāo)識為ci的簇的數(shù)據(jù)量為k bit,那么該簇內(nèi)節(jié)點的能量剩余情況估算分兩種情況:
a)簇首的能量剩余。簇首的能量消耗包括以下三部分:接收簇成員節(jié)點發(fā)送過來的數(shù)據(jù)的能耗、融合數(shù)據(jù)需要的能耗和將融合后的數(shù)據(jù)轉(zhuǎn)發(fā)給基站的能耗。因此簇首的能耗為:
b)簇內(nèi)其他成員節(jié)點的能量剩余情況估算。簇內(nèi)其他成員節(jié)點的能量消耗只有發(fā)送數(shù)據(jù)時的能量消耗。由于采用的網(wǎng)絡(luò)模型中各個傳感器節(jié)點以恒定的速率發(fā)送數(shù)據(jù),所以本文近似認(rèn)為簇內(nèi)每個成員節(jié)點發(fā)送的數(shù)據(jù)量是均衡的。因此,假設(shè)簇ci內(nèi)有ni個成員節(jié)點,則該輪中每個簇內(nèi)成員節(jié)點發(fā)送數(shù)據(jù)量k’近似為k’=k/ni。
記該簇內(nèi)成員節(jié)點j到簇首的距離為dij(為了節(jié)省網(wǎng)絡(luò)能耗,要求dij<d0),根據(jù)能量消耗公式(1),則該成員節(jié)點第m輪的數(shù)據(jù)能耗為:
這樣,一輪數(shù)據(jù)傳輸結(jié)束之后,基站可以近似估算出所有節(jié)點的剩余能量,并根據(jù)這些估算值重新選擇合適的簇首并進(jìn)行簇的劃分,開始新一輪的工作。
③當(dāng)間隔一定的輪數(shù)(相當(dāng)長的一段時間),或者傳感器節(jié)點的能量低于一定的值,或者有新成員節(jié)點加入時,基站再要求傳感器節(jié)點匯報自己的能量等信息,并根據(jù)接收到的信息重新校正估算的各個節(jié)點的剩余能量,使這些數(shù)值精確,然后再重新進(jìn)行簇首的選擇和簇的劃分。
比起LEACH—C,LEACH—EE協(xié)議不需要傳感器節(jié)點每輪結(jié)束后向基站匯報自己的位置、能量等信息,節(jié)省了能量開銷。同時,由于間隔一定的時間會對估算值進(jìn)行精度調(diào)整,所以LEACH—EE協(xié)議的性能比較好。
3 仿真及結(jié)果分析
本文使用Matlab對LEACH—EE協(xié)議進(jìn)行仿真,并和LEACH、LEACH—C協(xié)議進(jìn)行比較。仿真場景設(shè)置如下:100 m×100 m的區(qū)域內(nèi)隨機部署50個傳感器節(jié)點,基站位于坐標(biāo)(50,50)處,節(jié)點的初始能量為1 J,數(shù)據(jù)包大小為2000 bit,Eelec=50 nJ/bit,εfx=10 pJ/(bit·m2),εamp=0.0013 pJ/(bit·m4),d0=87.7 m,β=1000,數(shù)據(jù)融合的能耗EDA=5 nJ/bit。本文從簇首的分布位置、網(wǎng)絡(luò)總能量消耗、網(wǎng)絡(luò)的節(jié)點存活數(shù)三方面對比了LEACH、LEACH—C和LEACH—EE協(xié)議,并給出了LEACH—EE協(xié)議中不同時刻能量估算的誤差圖。
(1)簇首分布位置
圖1顯示了3種分簇路由協(xié)議不同時刻的簇首分布位置。LEACH在100 s時簇首數(shù)目為5,在200 s時簇首數(shù)目為3,由于節(jié)點隨機當(dāng)選簇首造成其個數(shù)和分布不太理想;LEACH—C和EACH—C在100 s時簇首數(shù)目為4,到200 s時簇首數(shù)目仍然為4,避免了分簇數(shù)過大或過小造成的能量消耗,而且從圖1中可以看出,LEACH—EE的簇首分布位置與LEACH—C很接近,在網(wǎng)絡(luò)中一直都很均勻,說明LEACH—EE成簇效果與LEACH—C相當(dāng)。
(2)能量估算誤差
圖2顯示了LEACH—EE協(xié)議不同時刻能量校正時,計算出的所有節(jié)點的能量估算值和節(jié)點匯報的能量值之間的總誤差。從圖2中可以看出,總的來說,估算的能量誤差并不算大。
(3)網(wǎng)絡(luò)總能量消耗
網(wǎng)絡(luò)節(jié)點總能耗情況如圖3所示,圖中的橫坐標(biāo)是仿真時間,縱坐標(biāo)是50個節(jié)點的總的能量消耗。可以清楚地看到,大部分時間段里,總的能量消耗:LEACH—EE<LEACH—C<LEACH。
(4)網(wǎng)絡(luò)節(jié)點存活數(shù)
圖4為網(wǎng)絡(luò)節(jié)點存活數(shù)隨時間的變化情況,可以看到,LEACH—EE的節(jié)點存活率要好于LEACH—C和LEACH協(xié)議。這50個傳感器節(jié)點,如果使用LEACH協(xié)議發(fā)送數(shù)據(jù),則時間持續(xù)403 s后網(wǎng)絡(luò)中的節(jié)點全部死亡;使用LEACH—C協(xié)議,則時間持續(xù)448 s后所有的網(wǎng)絡(luò)節(jié)點全部死亡;而如果采用LEACH—EE協(xié)議,則時間持續(xù)到502 s后網(wǎng)絡(luò)中的節(jié)點才全部死亡。
結(jié)語
路由協(xié)議是無線傳感器網(wǎng)絡(luò)的重要研究內(nèi)容,它的性能直接影響整個網(wǎng)絡(luò)的運行效率。本文從節(jié)省能量、延長網(wǎng)絡(luò)生命周期的角度,對LEACH—C協(xié)議進(jìn)行了改進(jìn),提出了一種基于能量估算的集中式分簇路由協(xié)議LEACH—EE。通過能量消耗模型,基站根據(jù)接收到的各個簇的數(shù)據(jù)量來估算每個簇內(nèi)節(jié)點的能量消耗情況,并根據(jù)估算結(jié)果重新確定下一輪的簇首和簇結(jié)構(gòu)。只有在一定條件下,或者間隔相當(dāng)長的時間,才需要傳感器節(jié)點向基站匯報自己的能量等信息。仿真結(jié)果表明,與LEACH、EACH—C協(xié)議相比,LEACH—EE協(xié)議能更好地降低網(wǎng)絡(luò)能耗,延長網(wǎng)絡(luò)的生存周期。