無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中的LEACH算法分析與設計
摘要:在分析了經(jīng)典的LEACH分簇路由算法,以及基于LEACH算法基礎上的幾種經(jīng)典的改進(jìn)算法后,針對小規模無(wú)線(xiàn)測距網(wǎng)絡(luò )的特點(diǎn),在傳輸數據量較少、簇首節點(diǎn)無(wú)需進(jìn)行大量數據融合的情況下,對LEACH算法進(jìn)行改進(jìn),增加了節點(diǎn)與基站直接通信的個(gè)數,減少了多跳累加誤差對測距的影響。使用MATLAB軟件進(jìn)行仿真,理論與實(shí)驗仿真表明,本文提出的改進(jìn)算法能夠延長(cháng)整個(gè)網(wǎng)絡(luò )的生存時(shí)間,減少了一些不必要的能量浪費。
關(guān)鍵詞:無(wú)線(xiàn)傳感器網(wǎng)絡(luò );分簇路由算法;LEACH;性能分析
引言
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是當前網(wǎng)絡(luò )技術(shù)界備受關(guān)注的前沿熱點(diǎn)研究領(lǐng)域,涉及多學(xué)科,高度交叉,知識高度集成。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )集成了傳感器技術(shù)、計算機技術(shù)和通信技術(shù),在軍事、環(huán)境、健康、家庭、商業(yè)等許多方面有著(zhù)巨大的潛在應用前景。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )由大量密集分布的傳感器節點(diǎn)通過(guò)自組織的方式形成網(wǎng)絡(luò ),節點(diǎn)通過(guò)網(wǎng)絡(luò )協(xié)議快速形成自主構建、自主組織和自主管理的通信網(wǎng)絡(luò )。這種通過(guò)數千個(gè)微小的節點(diǎn)之間互相通信,通過(guò)接力的方法實(shí)現大范圍監控的模式極大地提高了工作效率。然而節點(diǎn)大都需要在無(wú)人看管、不更換電池或者不可能更換電池的條件下長(cháng)時(shí)間地工作,因此高效、低功耗路由算法在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中就顯得非常重要。
1 基于LEACH的經(jīng)典分簇算法分析
1.1 LEACH路由算法分析
為了提高整個(gè)網(wǎng)絡(luò )的的生存時(shí)間,將功耗均衡的分配到網(wǎng)絡(luò )中的每個(gè)節點(diǎn),麻省理工學(xué)院的Wendi Rabiner Heinzelman等人提出了一種低功耗的自適應路由協(xié)議——LEACH協(xié)議(Low-Energy Adaptive ClusteriingHierarchy)。在LEACH協(xié)議中,每個(gè)傳感節點(diǎn)都有機會(huì )充當簇頭節點(diǎn),簇頭節點(diǎn)的選擇主要依據網(wǎng)絡(luò )中所需要的簇頭節點(diǎn)個(gè)數與到目前為止每個(gè)節點(diǎn)已經(jīng)充當簇頭節點(diǎn)的次數來(lái)判定的。網(wǎng)絡(luò )中每個(gè)節點(diǎn)在0~1之間隨機選擇一個(gè)數,如果選擇的數小于規定閥值T(n),則該節點(diǎn)就充當簇首節點(diǎn)。T(n)的計算如下:
式(1)中,p表示在無(wú)線(xiàn)網(wǎng)絡(luò )中簇頭節點(diǎn)所占的百分比,r為當前循環(huán)次數,G是在前1/p輪中未充當過(guò)簇頭節點(diǎn)的集合。LEACH算法通過(guò)設置T(n)值,以保證每個(gè)節點(diǎn)在1/p輪內都有機會(huì )充當一次簇頭節點(diǎn),從而平衡了節點(diǎn)的能量消耗。簇頭節點(diǎn)確定之后,簇頭節點(diǎn)通過(guò)廣播告知整個(gè)網(wǎng)絡(luò )自己已經(jīng)成為簇頭節點(diǎn),簇頭節點(diǎn)在廣播過(guò)程中采用CSMA MAC協(xié)議來(lái)避免沖突。這時(shí),網(wǎng)絡(luò )中的非簇頭節點(diǎn)可以根據接收到的信號強度來(lái)決定自己要從屬于哪個(gè)簇,選擇信號強度最強的源節點(diǎn)作為自己的簇頭節點(diǎn),并告知相關(guān)的簇頭節點(diǎn),自己則成為簇內組員。
LEACH分簇算法缺點(diǎn):
①剛開(kāi)始假設每個(gè)節點(diǎn)能量相同,在現實(shí)環(huán)境中很難做到。
②每個(gè)節點(diǎn)成為簇首節點(diǎn)的概率相同,這樣可能導致一些高能量節點(diǎn)沒(méi)機會(huì )成為簇首節點(diǎn),而一些低能量節點(diǎn)成為簇首節點(diǎn)。一旦這些低能量節點(diǎn)成為簇首節點(diǎn),將會(huì )很快耗盡其能量。
③LEACH協(xié)議不能保證簇頭在每個(gè)區域都分布均勻,雖然統計上面是均勻的,但是由于簇頭產(chǎn)生帶有極大的隨機性,有些區域可能簇頭數會(huì )較多。
④簇首節點(diǎn)在通信過(guò)程中采用單跳與基站通信,這樣就會(huì )導致較遠的簇首節點(diǎn)能量消耗過(guò)大,而過(guò)早死亡,影響整個(gè)網(wǎng)絡(luò )的性能。
⑤整個(gè)網(wǎng)絡(luò )節點(diǎn)在兩跳范圍內,這樣不符合大規模網(wǎng)絡(luò )需求。
1.2 根據節點(diǎn)初始能量不同改進(jìn)
根據整個(gè)網(wǎng)絡(luò )中節點(diǎn)能量的初始不同,Georgios Smaragdakis等人提出了一種改進(jìn)行分簇算法——SEP算法(a Stable Election Proto-col for clustered heterogeneous),先把整個(gè)網(wǎng)絡(luò )分成兩類(lèi)節點(diǎn),能量較高的節點(diǎn)稱(chēng)為高能量節點(diǎn),能量低的稱(chēng)為正常節點(diǎn)。高能量節點(diǎn)則根據式(2)進(jìn)行選擇成為簇首節點(diǎn)的概率,而正常節點(diǎn)則根據式(3)選擇成為簇首節點(diǎn)的概率??梢钥闯?,高能量節點(diǎn)成為簇首節點(diǎn)的機會(huì )大于低能量節點(diǎn)。相較于LEACH算法,充分利用了整個(gè)網(wǎng)絡(luò )的功耗。
為整個(gè)網(wǎng)絡(luò )簇首節點(diǎn)的概率,Pnrm為正常節點(diǎn)成為簇首節點(diǎn)的概率,Padv為高能量節點(diǎn)成為簇首節點(diǎn)的概率。r為當前循環(huán)次數,G1是在前1/p輪中正常節點(diǎn)未充當過(guò)簇頭節點(diǎn)的集合。G2是在前1/p輪中高能量節點(diǎn)未充當過(guò)簇頭節點(diǎn)的集合。m為網(wǎng)絡(luò )中高能量節點(diǎn)的比例。a為高能量節點(diǎn)高于正常節點(diǎn)能量部分。
評論