無線傳感器網(wǎng)絡(luò)中的LEACH算法分析與設(shè)計
2011-06-26 18:53:21來源:互聯(lián)網(wǎng)

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

為整個網(wǎng)絡(luò)簇首節(jié)點的概率,Pnrm為正常節(jié)點成為簇首節(jié)點的概率,Padv為高能量節(jié)點成為簇首節(jié)點的概率。r為當前循環(huán)次數(shù),G1是在前1/p輪中正常節(jié)點未充當過簇頭節(jié)點的集合。G2是在前1/p輪中高能量節(jié)點未充當過簇頭節(jié)點的集合。m為網(wǎng)絡(luò)中高能量節(jié)點的比例。a為高能量節(jié)點高于正常節(jié)點能量部分。