無線傳感器網絡中的LEACH算法分析與設計
1.5 根據LEACH實時性不強而改進
根據LEACH算法實時性不強的問題,Manjeshwar A等人提出了TEEN算法,TEEN算法與LEACH算法較大的不同點是,在簇首節點的選舉過程中,協議設置了兩個閾值,分別為硬閾值、軟閾值兩個參數。硬閾值是被檢測數據不能超過的數值,而且軟閾值決定了被測數據的波動范圍。只有當被監測數據超過硬閾值且被監測數據的變化幅度大于軟閾值時,節點才會傳送最新的監測數據,并設置為新的硬閾值。相對于LEACH算法,TEEN算法能夠較大地減少節點之間數據傳送的次數,從而有效減少了整個網絡的功耗,延長了整個網絡的壽命。APTEEN算法則結合了LEACH與TEEN兩種算法,是一種主動型與響應型混合的數據傳輸模式。但網絡中有突發事件時,數據傳輸模式將會采用與TEEN相同的模式(響應型模式),只不過AFTEEN算法多了一個計數器,節點每傳送一次數據,對應的計數器將清零。當計數器的時間到達的時候,將采取主動發送這個數據,不再判斷軟、硬門限值。
1.6 根據網絡節點分布密度不均而改進
在LEACH算法中并未考慮節點分布密度對網絡的影響,在分布密度大的區域,相對簇首節點的負擔也較重,能量也容易耗盡,因此應該增加該區域簇首節點的個數。參考文獻中根據無線網絡中周圍節點存活個數不同,來改變該區域內節點成為簇首節點的概率。為了在節點密集區域增加簇頭的個數,只需要增大對應節點成為簇頭的概率,對于節點稀疏區域則降低其中節點成為簇頭的概率即可。因此將簇頭選舉的閾值修改為:

式(7)中Neighbor(n)_alive與Network_alive分別表示表示節點n鄰居集中以及整個網絡中存活節點的數目,1/p表示平均每簇中節點的個數,從式(7)可以看出當節點周圍存活個數大于平均值時,該區域節點成為簇首節點的概率將增大,反之則降低。
1.7 根據大規模多跳網絡而改進
根據LEACH算法跳距的局限性,在LEACH算法中,整個網絡最大跳距為兩跳,這樣就會導致遠離基站的簇首節點,能量消耗太大而過早死亡,影響到整個網絡的性能,Siva D.Muruganathan等人提出了BCDCP多跳分簇算法,簇首節點的選擇由基站來控制,基站首先將每個節點的當前能量取平均,只有大于平均值的節點才有機會成為簇首節點,這樣就避開了低能量節點成為簇首節點的可能。當簇首節點與基站的距離超過一定時,不直接與基站通信,而是借助其他簇首節點轉發到基站,選擇其他簇首節點是采用的是最小生成樹算法,這樣就減輕了遠離基站簇首節點的負擔,也擴展了整個網絡的規模。
1.8 節點能量傳輸模型與最優簇首節點概率
大部分作者都把節點傳輸模型采用公式(8)與(9),式中k為傳輸信息的比特數,d為節點之間距離。εfs為自由空間傳送方式下的功率放大參數。式(8)為節點接收數據所消耗的能量,式(9)是發送數據所消耗的能量,因本文針對的是小規模無線傳感器網絡,所以采用的是自由空間模型。

因為不同規模的網絡,節點密度的不同,最優簇首個數也不相同,采用參考文獻提出的最優簇首個數公式(10),采用的是自由空間模型。

2 分簇路由算法設計
2.1 算法設計
本文主要針對一些特定的環境下,對經典的LEACH算法進行改進。目前關于無線傳感器網絡測距技術,普遍采用信號強度與信號差往返時間來測距兩種方法。前者在理論上較難實現,一般很難在現實中使用。而后者理論簡單,但由于硬件成本的限制,只能采用一般的時鐘晶振,這時就對節點之間的時間同步提出了較高的要求。而目前傳統的時間同步算法都會隨著跳數的增加,誤差越變越大,而在小規模測距定位系統中,節點之間無需傳輸大量的數據,因此簇首節點無需進行大量的數據融合,因此本文設計的初衷是減少傳輸跳數、延長整個網絡生存時間。因此對傳統的LEACH算法作以下改進。能量傳輸模型采用式(8)與式(9),網絡中最優簇首個數比例采用式(10),規定閾值T(n)采用式(6)。
評論