無線傳感器網絡路由協議研究
摘要:對無線傳感器網絡經典的LEACH路由算法作了分析,提出了一種改進型算法。通過仿真,改進后的LEACH算法提高了傳感器網絡的能效,延長了系統的工作壽命。
關鍵詞:無線傳感器;路由協議;LEACH
0 引言
傳感器網絡通常由覆蓋一個地區的若干傳感器節點組成。每個傳感器節點獨立進行數據收集及處理,并將得到的數據通過無線連接傳送到網關節點,再由網關節點向互聯網發送。對于傳感器網絡,路由協議設計是很具挑戰性的。首先,節點沒有全球唯一的標識符,傳統的互聯網路由協議無法應用在傳感器網絡中;第二,傳感器網絡中的所有節點都是源節點,向唯一的目的節點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為放大系數。我們可以把距離分作兩種:信號在簇內部傳輸時,我們視其為自由空間傳輸,此時信號收發機的能耗為:為簇間傳輸距離。
評論