無線傳感器網(wǎng)絡(luò)路由協(xié)議研究
掃描二維碼
隨時隨地手機(jī)看文章
摘要:對無線傳感器網(wǎng)絡(luò)經(jīng)典的LEACH路由算法作了分析,提出了一種改進(jìn)型算法。通過仿真,改進(jìn)后的LEACH算法提高了傳感器網(wǎng)絡(luò)的能效,延長了系統(tǒng)的工作壽命。
關(guān)鍵詞:無線傳感器;路由協(xié)議;LEACH
0 引言
傳感器網(wǎng)絡(luò)通常由覆蓋一個地區(qū)的若干傳感器節(jié)點組成。每個傳感器節(jié)點獨立進(jìn)行數(shù)據(jù)收集及處理,并將得到的數(shù)據(jù)通過無線連接傳送到網(wǎng)關(guān)節(jié)點,再由網(wǎng)關(guān)節(jié)點向互聯(lián)網(wǎng)發(fā)送。對于傳感器網(wǎng)絡(luò),路由協(xié)議設(shè)計是很具挑戰(zhàn)性的。首先,節(jié)點沒有全球唯一的標(biāo)識符,傳統(tǒng)的互聯(lián)網(wǎng)路由協(xié)議無法應(yīng)用在傳感器網(wǎng)絡(luò)中;第二,傳感器網(wǎng)絡(luò)中的所有節(jié)點都是源節(jié)點,向唯一的目的節(jié)點Sink發(fā)送數(shù)據(jù);第三,由于在被測對象內(nèi)部或附近部署了大量的節(jié)點,它們采集到的數(shù)據(jù)是相同或相近的。這就需要路由協(xié)議具有數(shù)據(jù)融合力,以節(jié)約電能,提高帶寬利用率;第四,節(jié)點具備處理能力。節(jié)點的電能存儲能力是很有限的,需要強(qiáng)大的資源管理和任務(wù)調(diào)度能力。因此,傳感器網(wǎng)絡(luò)的路由協(xié)議是與傳統(tǒng)網(wǎng)絡(luò)截然不同的。
1 LEACH協(xié)議
簇的建立和簇頭特定任務(wù)的分配對于整個系統(tǒng)的可擴(kuò)展性、壽命和能量效率起著非常大的作用。聚類路由是降低簇中能量消耗的一種有效方式。LEACH(Low-Energy Adaptive Cluster-based Hierarchy)算法是最早的比較成熟的聚類路由算法。
LEACH協(xié)議的隨機(jī)簇頭選擇分布不均勻,而且LEACH協(xié)議是根據(jù)節(jié)點曾經(jīng)擔(dān)當(dāng)簇頭的次數(shù)來決定是否擔(dān)任簇頭而沒有考慮節(jié)點的剩余能量;同時,LEACH網(wǎng)絡(luò)協(xié)議在節(jié)點數(shù)量大的無線傳感器網(wǎng)絡(luò)中使用時會采集大量的冗余數(shù)據(jù),這樣會使網(wǎng)絡(luò)由于處理大量的冗余數(shù)據(jù)而使網(wǎng)絡(luò)能耗大大增加,縮短了網(wǎng)絡(luò)的生存周期。
LEACH-C(LEACH-centralized)是集中式的簇頭產(chǎn)生算法,由基站負(fù)責(zé)挑選簇頭。因為無線傳感器網(wǎng)絡(luò)中使用節(jié)點數(shù)量大,節(jié)點覆蓋密度也大,這樣無法避免地使單個節(jié)點采集的數(shù)據(jù)與整個無線傳感器網(wǎng)絡(luò)采集的數(shù)據(jù)有很大的關(guān)聯(lián)性。而用戶需要的,并不是所有的節(jié)點采集的數(shù)據(jù)(包含冗余數(shù)據(jù)),而只是對發(fā)生事件的描述——利用網(wǎng)絡(luò)數(shù)據(jù)集分析出的被觀測區(qū)域正在發(fā)生的事件狀況。
2 LEACH協(xié)議的改進(jìn)
可以對LEACH協(xié)議進(jìn)行改進(jìn),在成簇階段(setupstate)之前,插入一個以節(jié)點能量為判斷標(biāo)準(zhǔn)的篩選過程,將節(jié)點的剩余能量與網(wǎng)絡(luò)的平均能量相比較,一旦判斷出本節(jié)點的能量大大的低于網(wǎng)絡(luò)的平均能量,宣布節(jié)點在接下來的循環(huán)進(jìn)入休眠狀態(tài)直至新的成簇階段到來時才重新開啟節(jié)點,并再次進(jìn)行篩選。同時,對成簇階段的非簇內(nèi)節(jié)點,在接下來的循環(huán)中使其進(jìn)入休眠狀態(tài)直至新的成簇階段到來時才重新開啟節(jié)點。
能耗設(shè)置方面,作了如下設(shè)置:發(fā)送節(jié)點的能耗包括啟動收發(fā)機(jī)能耗和放大信號能耗;接受節(jié)點的能耗設(shè)置為啟動收發(fā)機(jī)能耗。如圖1所示。
從圖1可以看出:每處理k個bit的信息,需要消耗的能量為Eelec*k,而信號放大能量需要由信號傳播的距離決定,εamp為放大系數(shù)。我們可以把距離分作兩種:信號在簇內(nèi)部傳輸時,我們視其為自由空間傳輸,此時信號收發(fā)機(jī)的能耗為:為簇間傳輸距離。
在能量篩選算法中,我們指定了一個能量門限(pthresh_)判斷節(jié)點能量在網(wǎng)絡(luò)中的地位:
其中Etotal是網(wǎng)絡(luò)總能量;N代表網(wǎng)絡(luò)中存活節(jié)點的總數(shù);Ei是本節(jié)點的能量。
pthresh_的表達(dá)式能夠?qū)⒈竟?jié)點的能量在網(wǎng)絡(luò)中的地位清晰地表示出來。當(dāng)能量門限取1時,意味著本節(jié)點能量遠(yuǎn)遠(yuǎn)低于網(wǎng)絡(luò)中節(jié)點的平均能量。此時我們就可以設(shè)置節(jié)電關(guān)閉其無線收發(fā)機(jī)進(jìn)入休眠狀態(tài),等到下個循環(huán)再重新開啟,重復(fù)能量判斷過程;當(dāng)門限值取Etotal/N* Ei時,就依照門限大小決定節(jié)點休眠的概率:我們假設(shè)根據(jù)改進(jìn)方法中能量判決門限所篩選出的節(jié)點就是最近周期內(nèi)剛剛擔(dān)任過CH的節(jié)點。進(jìn)而令其在接下來的循環(huán)中進(jìn)入休眠,直至新的簇首節(jié)點競爭周期到來。因為剛在最近周期擔(dān)任過CH的節(jié)點,在能耗上的確大于其他節(jié)點,其所剩的能量在網(wǎng)絡(luò)中必然處于較低的水平。所以在仿真中我們檢測節(jié)點的hasbeench_變量狀態(tài),使每個節(jié)點在發(fā)送信息之前都先判斷一下該變量狀態(tài)(hasbcench_標(biāo)志著本節(jié)點在上一個循環(huán)是否為CH節(jié)點),如果hasbeench_為1,表示上個循環(huán)中此節(jié)點擔(dān)任過CH,則令其在本輪循環(huán)中進(jìn)入休眠;否則,就產(chǎn)生隨機(jī)數(shù)P與pthresh_做比較,一旦P小于門限pthresh_,則關(guān)閉節(jié)點,令其休眠;否則繼續(xù)執(zhí)行發(fā)送函數(shù)中的其他指令,向sink節(jié)點發(fā)送信息。同時,對成簇階段的非簇內(nèi)節(jié)點,在接下來的循環(huán)中使其進(jìn)入休眠狀態(tài)直至新的成簇階段到來時才重新開啟節(jié)點。
3 仿真設(shè)計
改進(jìn)型LEACH的每輪循環(huán)分為節(jié)點能量篩選階段、簇形成階段和穩(wěn)定工作階段三個部分:
(1)每輪循環(huán)開始時,首先進(jìn)行節(jié)點能量篩選,將低能節(jié)點、非簇內(nèi)節(jié)點以及在上輪循環(huán)中擔(dān)當(dāng)簇頭的節(jié)點令其進(jìn)入睡眠狀態(tài),直到新的成簇階段到來時才重新開啟節(jié)點;
(2)簇形成階段由decideClusterHead、advertiseClusterHead、findBestCluster、informClusterHead、createSchedule幾個函數(shù)組成,在經(jīng)過該階段后,簇頭節(jié)點和相應(yīng)的簇內(nèi)節(jié)點得以選出和形成,同時簇頭節(jié)點將根據(jù)本地信息給簇內(nèi)節(jié)點分配TDMA時隙,并廣播給簇內(nèi)所有節(jié)點;
(3)在穩(wěn)定工作階段,簇內(nèi)各個節(jié)點根據(jù)分配的TDMA時隙將感知的數(shù)據(jù)發(fā)送給簇頭,簇頭將數(shù)據(jù)聚合后發(fā)給基站。經(jīng)過一輪數(shù)據(jù)采集和收集工作后,為了均衡節(jié)點能量,將進(jìn)行新一輪的節(jié)點能量篩選和簇頭選擇。通常,穩(wěn)定工作階段時間都比前兩階段長。
4 仿真結(jié)果
4.1 網(wǎng)絡(luò)生存周期
由圖2分析可知,LEACH協(xié)議的第一節(jié)點死亡時間為410 s,整個網(wǎng)絡(luò)失效時間為527 s;LEACH-C協(xié)議的第一節(jié)點死亡時間為380 s,整個網(wǎng)絡(luò)失效時間為571 s;改進(jìn)型協(xié)議的第一節(jié)點死亡時間為280 s,整個網(wǎng)絡(luò)失效時間為603 s。改進(jìn)型協(xié)議第一節(jié)點死亡時間最早,其主要原因是每輪簇形成之前,每個節(jié)點都需要計算自身能量在整個網(wǎng)絡(luò)中的狀態(tài),即進(jìn)行能量篩選,故能耗要稍大些。但是改進(jìn)型協(xié)議考慮了節(jié)點剩余能量在整個網(wǎng)絡(luò)中的水平,不允許低于整個網(wǎng)絡(luò)平均能量的節(jié)點擔(dān)任簇頭,并將一些低能的數(shù)據(jù)冗余節(jié)點令其進(jìn)入休眠狀態(tài),這樣節(jié)省了節(jié)點能耗,使網(wǎng)絡(luò)生存周期較LEACH協(xié)議延長了14.4%,較LEACH-C協(xié)議延長了5.9%。因此,改進(jìn)型協(xié)議的網(wǎng)絡(luò)生存能力要優(yōu)于LEACH協(xié)議。
4.2 平均能量消耗
由圖3分析可知,改進(jìn)型協(xié)議不僅將整個網(wǎng)絡(luò)各個節(jié)點的能耗進(jìn)行了平均,而且讓網(wǎng)絡(luò)中的節(jié)點輪換休息,對節(jié)點數(shù)量較大、節(jié)點覆蓋密度大的無線傳感器網(wǎng)絡(luò)來說,節(jié)約了節(jié)點的能耗,在一定程度上延長了網(wǎng)絡(luò)的生存周期。
5 結(jié)束語
目前,WSN技術(shù)已經(jīng)漸趨成熟和實用,其路由協(xié)議研究也成為一個熱點。經(jīng)典的LEACH具有一定的局限性,通過對LEACH的改進(jìn),進(jìn)行仿真。通過仿真,LEACH的改進(jìn),比原LEACH協(xié)議具有更好的網(wǎng)絡(luò)生存周期,節(jié)約了節(jié)點能耗。