傳感器網絡通常由覆蓋一個地區的若干傳感器節點組成。每個傳感器節點獨立進行數據收集及處理,并將得到的數據通過無線連接傳送到網關節點,再由網關節點向互聯網發送。對于傳感器網絡,路由協議設計是很具挑戰性的。首先,節點沒有全球唯一的標識符,傳統的互聯網路由協議無法應用在傳感器網絡中;第二,傳感器網絡中的所有節點都是源節點,向唯一的目的節點Sink發送數據;第三,由于在被測對象內部或附近部署了大量的節點,它們采集到的數據是相同或相近的。這就需要路由協議具有數據融合力,以節約電能,提高帶寬利用率;第四,節點具備處理能力。節點的電能存儲能力是很有限的,需要強大的資源管理和任務調度能力。因此,傳感器網絡的路由協議是與傳統網絡截然不同的。
1 LEACH協議
簇的建立和簇頭特定任務的分配對于整個系統的可擴展性、壽命和能量效率起著非常大的作用。聚類路由是降低簇中能量消耗的一種有效方式。LEACH(Low-Energy Adaptive Cluster-based Hierarchy)算法是最早的比較成熟的聚類路由算法。
LEACH協議的隨機簇頭選擇分布不均勻,而且LEACH協議是根據節點曾經擔當簇頭的次數來決定是否擔任簇頭而沒有考慮節點的剩余能量;同時,LEACH網絡協議在節點數量大的無線傳感器網絡中使用時會采集大量的冗余數據,這樣會使網絡由于處理大量的冗余數據而使網絡能耗大大增加,縮短了網絡的生存周期。
LEACH-C(LEACH-centralized)是集中式的簇頭產生算法,由基站負責挑選簇頭。因為無線傳感器網絡中使用節點數量大,節點覆蓋密度也大,這樣無法避免地使單個節點采集的數據與整個無線傳感器網絡采集的數據有很大的關聯性。而用戶需要的,并不是所有的節點采集的數據(包含冗余數據),而只是對發生事件的描述——利用網絡數據集分析出的被觀測區域正在發生的事件狀況。
2 LEACH協議的改進
可以對LEACH協議進行改進,在成簇階段(setupstate)之前,插入一個以節點能量為判斷標準的篩選過程,將節點的剩余能量與網絡的平均能量相比較,一旦判斷出本節點的能量大大的低于網絡的平均能量,宣布節點在接下來的循環進入休眠狀態直至新的成簇階段到來時才重新開啟節點,并再次進行篩選。同時,對成簇階段的非簇內節點,在接下來的循環中使其進入休眠狀態直至新的成簇階段到來時才重新開啟節點。
能耗設置方面,作了如下設置:發送節點的能耗包括啟動收發機能耗和放大信號能耗;接受節點的能耗設置為啟動收發機能耗。如圖1所示。

從圖1可以看出:每處理k個bit的信息,需要消耗的能量為Eelec*k,而信號放大能量需要由信號傳播的距離決定,εamp為放大系數。我們可以把距離分作兩種:信號在簇內部傳輸時,我們視其為自由空間傳輸,此時信號收發機的能耗為:
為簇間傳輸距離。
在能量篩選算法中,我們指定了一個能量門限(pthresh_)判斷節點能量在網絡中的地位:
![]()
其中Etotal是網絡總能量;N代表網絡中存活節點的總數;Ei是本節點的能量。
pthresh_的表達式能夠將本節點的能量在網絡中的地位清晰地表示出來。當能量門限取1時,意味著本節點能量遠遠低于網絡中節點的平均能量。此時我們就可以設置節電關閉其無線收發機進入休眠狀態,等到下個循環再重新開啟,重復能量判斷過程;當門限值取Etotal/N*Ei時,就依照門限大小決定節點休眠的概率:我們假設根據改進方法中能量判決門限所篩選出的節點就是最近周期內剛剛擔任過CH的節點。進而令其在接下來的循環中進入休眠,直至新的簇首節點競爭周期到來。因為剛在最近周期擔任過CH的節點,在能耗上的確大于其他節點,其所剩的能量在網絡中必然處于較低的水平。所以在仿真中我們檢測節點的hasbeench_變量狀態,使每個節點在發送信息之前都先判斷一下該變量狀態(hasbcench_標志著本節點在上一個循環是否為CH節點),如果hasbeench_為1,表示上個循環中此節點擔任過CH,則令其在本輪循環中進入休眠;否則,就產生隨機數P與pthresh_做比較,一旦P小于門限pthresh_,則關閉節點,令其休眠;否則繼續執行發送函數中的其他指令,向sink節點發送信息。同時,對成簇階段的非簇內節點,在接下來的循環中使其進入休眠狀態直至新的成簇階段到來時才重新開啟節點。
3 仿真設計
改進型LEACH的每輪循環分為節點能量篩選階段、簇形成階段和穩定工作階段三個部分:
(1)每輪循環開始時,首先進行節點能量篩選,將低能節點、非簇內節點以及在上輪循環中擔當簇頭的節點令其進入睡眠狀態,直到新的成簇階段到來時才重新開啟節點;
(2)簇形成階段由decideClusterHead、advertiseClusterHead、findBestCluster、informClusterHead、createSchedule幾個函數組成,在經過該階段后,簇頭節點和相應的簇內節點得以選出和形成,同時簇頭節點將根據本地信息給簇內節點分配TDMA時隙,并廣播給簇內所有節點;
(3)在穩定工作階段,簇內各個節點根據分配的TDMA時隙將感知的數據發送給簇頭,簇頭將數據聚合后發給基站。經過一輪數據采集和收集工作后,為了均衡節點能量,將進行新一輪的節點能量篩選和簇頭選擇。通常,穩定工作階段時間都比前兩階段長。
4 仿真結果
4.1 網絡生存周期
由圖2分析可知,LEACH協議的第一節點死亡時間為410s,整個網絡失效時間為527s;LEACH-C協議的第一節點死亡時間為380s,整個網絡失效時間為571s;改進型協議的第一節點死亡時間為280s,整個網絡失效時間為603s。改進型協議第一節點死亡時間最早,其主要原因是每輪簇形成之前,每個節點都需要計算自身能量在整個網絡中的狀態,即進行能量篩選,故能耗要稍大些。但是改進型協議考慮了節點剩余能量在整個網絡中的水平,不允許低于整個網絡平均能量的節點擔任簇頭,并將一些低能的數據冗余節點令其進入休眠狀態,這樣節省了節點能耗,使網絡生存周期較LEACH協議延長了14.4%,較LEACH-C協議延長了5.9%。因此,改進型協議的網絡生存能力要優于LEACH協議。

4.2 平均能量消耗
由圖3分析可知,改進型協議不僅將整個網絡各個節點的能耗進行了平均,而且讓網絡中的節點輪換休息,對節點數量較大、節點覆蓋密度大的無線傳感器網絡來說,節約了節點的能耗,在一定程度上延長了網絡的生存周期。
5 結束語
目前,WSN技術已經漸趨成熟和實用,其路由協議研究也成為一個熱點。經典的LEACH具有一定的局限性,通過對LEACH的改進,進行仿真。通過仿真,LEACH的改進,比原LEACH協議具有更好的網絡生存周期,節約了節點能耗。
