一種基于能量和距離的無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由大量具有特定功能的傳感器節(jié)點(diǎn)通過自組織的無線通信方式,相互傳遞信息,協(xié)同地完成特定功能的智能專用網(wǎng)絡(luò)。它綜合了傳感器、嵌入式計(jì)算、通信、分布式信息處理、計(jì)算機(jī)技術(shù)、微電子制造技術(shù),能實(shí)時監(jiān)測、感知和采集所監(jiān)控區(qū)域內(nèi)的各種信息,并對收集到的信息進(jìn)行處理后傳送給終端用戶,在軍事、災(zāi)難現(xiàn)場、環(huán)境監(jiān)測和醫(yī)療救護(hù)等領(lǐng)域有廣闊的應(yīng)用前景。傳感器網(wǎng)絡(luò)一般投放在條件惡劣的環(huán)境或者難以涉足的地域中,節(jié)點(diǎn)電池的更換或能量的補(bǔ)充幾乎是不可能的,所以節(jié)能路由協(xié)議的設(shè)計(jì),對無線傳感器網(wǎng)絡(luò)來說意義十分重大。目前,提出的WSN路由協(xié)議主要有平面路由協(xié)議和層次路由協(xié)議兩類,其中基于簇結(jié)構(gòu)的層次路由協(xié)議是當(dāng)前國內(nèi)外研究的熱點(diǎn)口。
1相關(guān)研究
WSN分簇路由協(xié)議設(shè)計(jì)的首要目標(biāo)是通過高效的分簇算法形成合理的網(wǎng)絡(luò)結(jié)構(gòu),通過主動的能量管理阻止網(wǎng)絡(luò)連通性下降,延長網(wǎng)絡(luò)的生命周期。最典型的無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議是LEACH協(xié)議,人們在LEACH協(xié)議的基礎(chǔ)上也研究出很多改進(jìn)的分簇路由協(xié)議,EECS(Energy Efficient Clustering Scheme)協(xié)議就是其中一種經(jīng)典的改進(jìn)算法。
1.1LEACH協(xié)議
LEACH是分布式成簇協(xié)議的代表。每個節(jié)點(diǎn)產(chǎn)生一個0~1的隨機(jī)數(shù),如果這個數(shù)小于閾值,則該節(jié)點(diǎn)向整個網(wǎng)絡(luò)廣播它是簇頭。閾值的計(jì)算公式為:
式中:p是簇頭占所有節(jié)點(diǎn)的百分比,即節(jié)點(diǎn)當(dāng)選為簇頭的初始概率,實(shí)際的簇頭概率以p為中心上下浮動;r是目前循環(huán)進(jìn)行的輪;G是在最近1/p輪中沒有當(dāng)選過簇頭的節(jié)點(diǎn)集合。可以看出,當(dāng)選過簇頭的節(jié)點(diǎn)在接下來的1輪中將不能成為簇頭,而其他節(jié)點(diǎn),因節(jié)點(diǎn)產(chǎn)生小于T(n)隨機(jī)數(shù)的概率隨之增大,所以節(jié)點(diǎn)當(dāng)選為簇頭的概率也增大。競爭成功的簇頭節(jié)點(diǎn)廣播當(dāng)選的消息后,其他節(jié)點(diǎn)根據(jù)簇頭廣播信號的強(qiáng)弱決定加入哪個簇。由于簇頭是隨機(jī)挑選的,因此LEACH協(xié)議不能保證簇頭在網(wǎng)絡(luò)中分布均勻,而且節(jié)點(diǎn)根據(jù)自身通信代價最小原則選擇加入哪個簇的成簇算法,但不能保證簇的負(fù)載均衡。
1.2 EECS協(xié)議
如前所述,LEACH等算法中,節(jié)點(diǎn)根據(jù)自身通信代價最小原則選擇加入哪個簇,不能保證簇的負(fù)載平衡,而且沒有考慮距基站較遠(yuǎn)的簇頭能量耗費(fèi)過快等問題。針對這些問題,EECS提出一個新的通信代價公式(2)來決定節(jié)點(diǎn)加入哪個簇:
式中:cost(j,i)是節(jié)點(diǎn)Pj加入簇頭i的代價;d(Pj,CHi)是節(jié)點(diǎn)到簇頭的距離。式(3)中f子函數(shù)保證最小化節(jié)點(diǎn)與簇頭之間的通信代價;d(CHi,BS)是簇頭i到基站的距離,式(3)中g(shù)子函數(shù)保證最小化簇頭i到基站的通信代價;權(quán)值w的設(shè)置則根據(jù)具體應(yīng)用,在成員節(jié)點(diǎn)能量與簇頭能量消耗之間折衷,目標(biāo)是最大化網(wǎng)絡(luò)生命周期。節(jié)點(diǎn)Pj選擇cost(j,i)最小的簇頭i加入,從而保證每個簇頭負(fù)載均衡。實(shí)驗(yàn)結(jié)果顯示,EECS協(xié)議的網(wǎng)絡(luò)生命周期較LEACH協(xié)議提高了30%以上。
2問題的描述
EECS算法的實(shí)質(zhì)是在簇頭選擇階段,總是讓剩余能量最大的節(jié)點(diǎn)當(dāng)選為簇頭;在成簇階段,聯(lián)合考慮普通節(jié)點(diǎn)與簇頭的距離,以及簇頭與基站的距離。其創(chuàng)新之處在于:只有小部分節(jié)點(diǎn)參加簇頭的競選;在局部范圍內(nèi)廣播消息,選舉過程沒有迭代;以節(jié)點(diǎn)的剩余能量為競選參數(shù);設(shè)計(jì)了簇頭之間負(fù)載均衡的策略。
EECS協(xié)議存在的問題:
(1)EECS算法在成簇階段讓候選節(jié)點(diǎn)同時廣播競選消息COMPETE_HEAD,容易造成簇頭分布漏洞問題。如圖1所示,節(jié)點(diǎn)C在B的競選半徑內(nèi);節(jié)點(diǎn)B在A的競選半徑內(nèi),且剩余能量方面A>B>C。在這種情況下,C收到B的競選消息退出競選的同時,B收到A的競選消息退出競選,這就會造成局部簇頭分布漏洞的情況。
(2)EECS算法在成簇階段的通信代價只考慮了普通節(jié)點(diǎn)與簇頭的距離,以及簇頭與基站的距離,沒有考慮簇頭的剩余能量。這樣就會造成部分剩余能量相對較少簇頭節(jié)點(diǎn)的早死現(xiàn)象。
針對EECS協(xié)議存在的問題提出了ADEECS(Advanced EECS)協(xié)議,該算法在簇頭選舉階段使用了競爭延遲的方法,在成簇階段設(shè)計(jì)了新的通信代價計(jì)算公式。
3 ADEECS路由協(xié)議
方案中,假設(shè)已知發(fā)送節(jié)點(diǎn)的發(fā)射功率,接收節(jié)點(diǎn)可以根據(jù)接收信號的強(qiáng)度,計(jì)算二者之間距離的近似值;發(fā)射功率可控,即節(jié)點(diǎn)可以根據(jù)自身需要調(diào)整發(fā)射功率。采用與文獻(xiàn)[5]相同的無線傳輸能量消耗模型。ADEECS協(xié)議按輪執(zhí)行,每一輪分為網(wǎng)絡(luò)部署,簇頭選舉,成簇,數(shù)據(jù)傳輸這4個階段。
具體實(shí)現(xiàn)過程如下:
階段1:網(wǎng)絡(luò)部署階段在網(wǎng)絡(luò)部署階段,讓基站以一定的功率向網(wǎng)絡(luò)內(nèi)廣播一個消息HELLO_MSG。傳感器節(jié)點(diǎn)根據(jù)接收信號的強(qiáng)度計(jì)算出自己到基站的近似距離,在與基站通信時,依據(jù)這個距離選擇適當(dāng)?shù)陌l(fā)射功率。在成簇階段,還將利用這個信息來均衡簇頭的負(fù)載。
階段2:簇頭選舉階段全局范圍內(nèi)預(yù)先設(shè)定一個0~1之間的閾值T,用來控制參加簇頭競選的節(jié)點(diǎn)比例。每一個節(jié)點(diǎn)生成一個0~1之間的隨機(jī)數(shù),記為u。若u
式中:T為最大約定的最大延遲時間;Eresidual為節(jié)點(diǎn)剩余能量;Eini是節(jié)點(diǎn)原始能量。
階段3:成簇階段簇頭向網(wǎng)絡(luò)所有節(jié)點(diǎn)廣播自己成為簇頭的消息HEAD_AD,內(nèi)容為簇頭節(jié)點(diǎn)的標(biāo)識及該節(jié)點(diǎn)與基站的距離。普通節(jié)點(diǎn)接收到此消息后選擇一個通信代價cost(CH)最小的聚類加入,并發(fā)送消息JOIN_REQ。通信代價表達(dá)式為:
式(5)中參數(shù)與式(2)和式(4)表示的意義相同。從式(5)可以看出,該通信代價綜合考慮了節(jié)點(diǎn)與簇頭的距離、簇頭與基站的距離及簇頭的剩余能量。從而實(shí)現(xiàn)了由聚類成員節(jié)點(diǎn)選擇剩余能量較大,與自己距離較近,與基站距離較小的簇頭形成簇,達(dá)到能量均衡的目的。
階段4:數(shù)據(jù)傳輸階段簇頭向所有成員節(jié)點(diǎn)廣播TDMA通信時隙調(diào)度信息TDMA_SCHEDULE。成員節(jié)點(diǎn)按分配好的TDMA時隙在某個時刻將自己檢測到的數(shù)據(jù)發(fā)送給簇頭。簇頭在接收聚類成員發(fā)送數(shù)據(jù)的過程中進(jìn)行數(shù)據(jù)融合,并將融合后的數(shù)據(jù)直接傳輸給基站,該過程采用單跳的通信方式。
4 ADEECS協(xié)議仿真與分析
仿真中,使用Matlab作為仿真平臺,采用與文獻(xiàn)[3]相同的能量消耗模型。仿真參數(shù)如表1所示。
文中將ADEECS與EECS和LEACH協(xié)議性能進(jìn)行仿真對比。
4.1簇頭分布的仿真對比
LEACH簇頭個數(shù)取最優(yōu)值。在仿真中,LEACH簇頭個數(shù)為6;取T=0.15,R=26,w=0.8。由3種協(xié)議的簇頭分布圖(圖2~圖4)可以看出,LEACH協(xié)議簇頭隨機(jī)分布;EECS協(xié)議簇頭分布比較均勻,但存在簇頭漏洞問題;ADEECS協(xié)議簇頭真正實(shí)現(xiàn)了均勻分布。所以,提出的延遲發(fā)送競選消息的方法很好地解決了LEACH和EECS協(xié)議在簇頭選舉過程中存在的問題。
4.2網(wǎng)絡(luò)壽命的仿真對比
定義第一個節(jié)點(diǎn)的死亡時間為無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)壽命,用工作輪數(shù)表示網(wǎng)絡(luò)的工作時間。如果剩余節(jié)點(diǎn)過少,那么整個網(wǎng)絡(luò)的存在就毫無意義。仿真中為了更好地對比仿真結(jié)果,仿真曲線只選取剩余節(jié)點(diǎn)數(shù)大于50的情況。仿真結(jié)果如圖5所示。
由圖5可以看出,在成簇階段,ADEECS協(xié)議綜合考慮了簇頭剩余能量、簇頭與基站的距離以及簇成員節(jié)點(diǎn)與簇頭的距離。這種通信代價計(jì)算方式很好地提高了網(wǎng)絡(luò)性能,有效地延長了網(wǎng)絡(luò)生命周期,達(dá)到了協(xié)議目的。
5結(jié)語
通過對無線傳感器網(wǎng)絡(luò)中典型分簇路由協(xié)議、LEACH協(xié)議和EECS協(xié)議進(jìn)行的研究和分析,提出了一種改進(jìn)的分簇方案ADEECS。利用延遲發(fā)送競爭消息的方法和新的通信代價公式很好地解決了EECS協(xié)議存在的問題,實(shí)現(xiàn)了簇頭的均勻分布,有效地延長了網(wǎng)絡(luò)壽命。但是不只是沒有對參數(shù)權(quán)值w和通信半徑R進(jìn)行研究,這將是作者下一步的工作重心。另外,基于多跳的ADEECS也是下一步的研究方向。