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