劉靜 李暉
【摘要】 在無線傳感器網(wǎng)絡(WSN)協(xié)議研究中,降低節(jié)點的能量消耗、延長網(wǎng)絡的生命周期是路由協(xié)議設計的關鍵問題。針對LEACH協(xié)議的設計特點和影響因素,提出了一種改進 LEACH協(xié)議。它首先考慮節(jié)點自身剩余能量進行選舉簇頭,然后從每個簇中選舉出能量剩余最多,位置離基站最近的節(jié)點作為候補簇頭,在簇頭能量不足5%時,擔當數(shù)據(jù)包轉發(fā)給基站的任務。仿真實驗結果表明,改進后的算法比原來的協(xié)議網(wǎng)絡生存時間延長了近70%。
【關鍵詞】 路由協(xié)議 簇頭閾值 候補簇頭
引言
無線傳感器網(wǎng)絡(Wireless Sensor Network,WSN)由成千上萬個傳感器節(jié)點組成,傳感器節(jié)點進行持續(xù)采集監(jiān)測環(huán)境中的數(shù)據(jù),并可以實現(xiàn)數(shù)據(jù)融合、傳輸、交換等功能[1]。傳感器節(jié)點體積小、功耗低,但是數(shù)據(jù)傳輸?shù)臏蚀_性受帶寬、傳輸延時、能量等因素影響,因此在進行無線傳感器網(wǎng)絡路由設計過程中,關鍵技術是要考慮降低節(jié)點的能量消耗,延長網(wǎng)絡的生命周期。
一、LEACH 協(xié)議算法
在目前的路由協(xié)議中,LEACH[2]( Low Energy Adaptive Clustering Hierarchical )協(xié)議是由MIT的Heinzelman 提出的一種經(jīng)典的分層路由協(xié)議,其將無線傳感器網(wǎng)絡分為幾個大小均勻的簇,簇內由簇頭節(jié)點和普通節(jié)點組成,普通節(jié)點將數(shù)據(jù)發(fā)給簇頭,簇頭將數(shù)據(jù)融合后轉發(fā)給Sink,而不是節(jié)點直接將數(shù)據(jù)傳遞給Sink,這樣就提高了能量利用效率。因為簇頭能量消耗較大,而節(jié)點輪流成為簇頭節(jié)點,這就使得能量消耗能夠均衡地分攤到很多節(jié)點。
1.1 簇的組成
LEACH運行過程中可以用輪的概念來描述。每個輪可以分成兩個階段: 簇的建立和數(shù)據(jù)傳輸。在簇的建立階段,傳感器節(jié)點根據(jù)概率模型選舉出簇頭。每個節(jié)點產(chǎn)生一個0到1 之間的隨機數(shù)[2]。假如這個隨機數(shù)小于閾值T (n ),該節(jié)點被選舉為簇頭。閾值的計算公式如下:
式中,r 是輪數(shù),p 是簇頭數(shù)量比例,G 是在前r mod(1 / p) 輪沒有當選簇頭的節(jié)點集合。節(jié)點被選為簇頭后,就向外廣播自己成為簇頭節(jié)點的消息,成員節(jié)點根據(jù)收到的廣播信息信號的強弱選擇加入到相應的簇,并向簇頭發(fā)送加入簇的請求,如下圖1。簇頭收到請求后,將成員節(jié)點的信息加入自己的路由表中,并為每個節(jié)點設定一個TDMA分配時間表[3]。
1.2 穩(wěn)定數(shù)據(jù)通信
簇建立好后,節(jié)點根據(jù)TDMA機制分配的時間間隙進行數(shù)據(jù)通信[3]。節(jié)點在自己的TDMA 時間間隙時,將采集到的數(shù)據(jù)發(fā)送給簇頭節(jié)點。簇頭接收數(shù)據(jù)后進行融合處理發(fā)送給sink。數(shù)據(jù)穩(wěn)定通信一段時間后,重新開始組簇,進入到下一輪工作,一直循環(huán),直到網(wǎng)絡中的節(jié)點能量完全消耗掉。
二、LEACH的局限性
盡管LEACH能夠實現(xiàn)節(jié)點節(jié)能和延長網(wǎng)絡生命周期,但它還是有如下的問題:
I 選擇簇頭時沒有考慮節(jié)點剩余能量。LEACH 協(xié)議選舉簇頭時的隨機性可能使剩余能量低的節(jié)點成為簇頭,盲簇節(jié)點的出現(xiàn)導致網(wǎng)絡過早死亡[4], 網(wǎng)絡的負載平衡程度下降。
II 網(wǎng)絡規(guī)模很大的時候,簇頭節(jié)點給基站傳輸數(shù)據(jù)會很快的消耗大量能量,LEACH協(xié)議比較適合部署區(qū)域較小的網(wǎng)絡[5]。
三、LEACH 協(xié)議的改進
3.1 簇頭選擇改進
在簇頭選擇階段,節(jié)點的剩余能量是動態(tài)變化的,所以傳感器節(jié)點定時向sink發(fā)送自己的能量剩余情況, 若節(jié)點剩余能量低于平均能量, 則降低其成為簇頭的概率。因此將閾值改進成了下式
N 為節(jié)點總數(shù),M 為節(jié)點分布區(qū)邊長,dtoBS為節(jié)點到sink 的距離。然后基于節(jié)點剩余能量和距離基站位置,每個簇中選舉出一個候補簇頭。
3.2 對協(xié)議流程改進
在LEACH協(xié)議中,簇頭負責把收集數(shù)據(jù)包并傳輸給基站,這就相應的增加了節(jié)點能量的消耗,特別是在大型網(wǎng)絡中更為嚴重。為了解決這一問題,提出一種改進路由算法。在簇頭能量將要耗盡的時候,候補簇頭來擔當轉發(fā)數(shù)據(jù)包給基站的任務。
改進的LEACH協(xié)議工作分為3個階段:
I選擇簇頭和候補簇頭II簇頭建立III數(shù)據(jù)傳輸。
I選擇簇頭和候補簇頭階段。簇頭按照LEACH協(xié)議的方式選舉,剩余能量最多和離基站最近的非簇頭節(jié)點被選為候補簇頭。
II簇頭建立階段。選舉出簇頭之后,每個簇頭向成員節(jié)點廣播通知信息,成員節(jié)點根據(jù)自己所收到信息的信號強度來選擇加入哪個簇,然后成員節(jié)點用自己的ID傳輸一條確認信息給它想加入的簇頭,簇頭把加入自己簇的成員節(jié)點信息記錄下來。
候補簇頭建立方式與此非常相似。在簇頭剩余能量不足5%時,候補簇頭向成員節(jié)點發(fā)送接收數(shù)據(jù)包的消息,簇頭將成員節(jié)點的信息發(fā)送給候補簇頭,進行任務交接。候補簇頭同樣采用CDMA機制分配成員數(shù)據(jù)傳輸時隙,并將信息發(fā)給成員節(jié)點。
III數(shù)據(jù)穩(wěn)定傳輸階段。每個節(jié)點按照設定的TDMA 時隙把收集到的信息發(fā)送給簇頭,簇頭將數(shù)據(jù)進行融合后轉發(fā)sink。當簇頭節(jié)點能量不足5%時,候補簇頭擔任轉達數(shù)據(jù)包的責任,這樣能提高能量利用效率。
四、仿真結果及分析
本文在MATLAB 的環(huán)境中對改進路由協(xié)議進行了仿真。網(wǎng)絡模型如下:
100 個初始能量為0.5J 的傳感器節(jié)點隨機的分布在100×100 m 的正方形區(qū)域內。假定它們按照定時發(fā)送的機制發(fā)送收集的數(shù)據(jù)并且不會自己移動。基站在(x=50,y=50)的位置。當節(jié)點的剩余能量為0J 時,則認為其死亡。
考慮到簇頭既要融合簇內數(shù)據(jù)又要轉發(fā)數(shù)據(jù)包,從而導致能量消耗太快,利用候補簇頭分擔簇頭的任務,使網(wǎng)絡中的節(jié)點能耗均衡,以此達到提高每輪簇穩(wěn)定數(shù)據(jù)通信時間,進而延長網(wǎng)絡的生存時間。使用matlab對改進后的LEACH協(xié)議進行仿真,結果表明改進的LEACH 延長了網(wǎng)絡生存時間近70%。
參 考 文 獻
[1] 鄧亞平,鄧利軍.無線傳感器網(wǎng)絡的能量有效加權分簇算法[J].計算機工程與設計,2011(4) : 1216-1219.
[2] Heinzelman W B,et al.An application specific protocol architecture for wireless microsensor networks[J].IEEE Trans on wireless Commumications,2002,1(4):660-670.
[3] BAI F,WANG L,MA Y,et al.Algorithm analysis of routing protocols-LEACH for wireless sensor networks [J].Journal of Taiyuan University of Technology,2009,40( 4) : 248 - 252.
[4] 胡鋼,謝冬梅,吳元忠.無線傳感器網(wǎng)絡路由協(xié)議LEACH 的研究與改進[J].傳感技術學報, 2007, 20(6): 1391-1396.
[5]Mahmoud M.salim,Hussein A.Elsayed,Salwa H.El Ramly . PR-LEACH:Approach for Balanceing Energy Dissipation of LEACH Protocol for Wireless Sensor Networks.31st National Radio Science Conference(NRSC2014).