孫鵬飛
(西安郵電大學(xué),陜西 西安 710061)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是由眾多傳感器節(jié)點(diǎn)以多跳自組織的方式形成的分布式網(wǎng)絡(luò)系統(tǒng)。其在許多領(lǐng)域內(nèi)有著廣闊的應(yīng)用前景,已成為國(guó)內(nèi)外學(xué)者的研究熱點(diǎn)之一[1-3]。但傳感器節(jié)點(diǎn)有其自身的局限性,比如計(jì)算能力弱、電池能量少等。如何減少節(jié)點(diǎn)使用能量延長(zhǎng)網(wǎng)絡(luò)生命周期是WSNs路由協(xié)議設(shè)計(jì)的一個(gè)重要目標(biāo)。
路由協(xié)議是WSNs一項(xiàng)關(guān)鍵技術(shù),完成的是數(shù)據(jù)傳輸任務(wù)。低功耗自適應(yīng)聚類(Low Energy Adaptive Clustering Hierarchy,LEACH)是一種基于分簇的能量有效路由協(xié)議。其思想是網(wǎng)絡(luò)周期性隨機(jī)選擇簇頭節(jié)點(diǎn),其它節(jié)點(diǎn)以就近原則加入相應(yīng)的簇頭,形成虛擬簇。簇內(nèi)節(jié)點(diǎn)將感知到的數(shù)據(jù)直接發(fā)送給簇頭,簇頭節(jié)點(diǎn)將本簇內(nèi)的數(shù)據(jù)融合后以一跳的方式傳輸給Sink節(jié)點(diǎn)。分層路由的優(yōu)點(diǎn)擴(kuò)展性好,能夠應(yīng)用于大規(guī)模WSNs中。但是該算法中簇頭節(jié)點(diǎn)是隨機(jī)選取的,針對(duì)該算法的不足,本文提出了改進(jìn)的LEACH路由算法(LEACH-EC)。LEACH-EC算法在選取簇頭節(jié)點(diǎn)時(shí)考慮了節(jié)點(diǎn)的剩余能量和節(jié)點(diǎn)的分布位置,選擇剩余能量多、且周圍傳感器節(jié)點(diǎn)分布密集的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),盡可能選取較優(yōu)的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),達(dá)到延長(zhǎng)無(wú)線傳感器網(wǎng)絡(luò)壽命的目的。
LEACH分為兩個(gè)階段:?jiǎn)?dòng)階段和穩(wěn)定階段。在啟動(dòng)階段,隨機(jī)選擇產(chǎn)生簇頭節(jié)點(diǎn),每個(gè)傳感器節(jié)點(diǎn)選擇[0,1]之間的一個(gè)隨機(jī)數(shù),如果選定的值小于給定閾值T(n),則該節(jié)點(diǎn)在本輪中被選取為簇頭節(jié)點(diǎn),簇內(nèi)節(jié)點(diǎn)以就近原則加入相應(yīng)的簇頭,形成虛擬簇。
穩(wěn)定數(shù)據(jù)通信階段,簇內(nèi)節(jié)點(diǎn)與簇頭節(jié)點(diǎn)通信,簇頭將簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)融合后直接發(fā)送給Sink節(jié)點(diǎn)。因?yàn)榇貎?nèi)節(jié)點(diǎn)離簇頭節(jié)點(diǎn)較近,且可以進(jìn)行數(shù)據(jù)融合,所以比簇內(nèi)節(jié)點(diǎn)直接將數(shù)據(jù)發(fā)送給Sink節(jié)點(diǎn)能量消耗要少很多,同時(shí)減少了網(wǎng)絡(luò)數(shù)據(jù)量。但簇頭節(jié)點(diǎn)由于消耗了過(guò)多能量,易導(dǎo)致過(guò)早死亡,為了避免這種局面,需要定期更換簇頭節(jié)點(diǎn)。
LEACH協(xié)議具有很多優(yōu)點(diǎn),但LEACH仍有不足之處:
(1)LEACH協(xié)議在啟動(dòng)階段選取簇頭時(shí)并未考慮節(jié)點(diǎn)的剩余能量[3],剩余能量少的節(jié)點(diǎn)應(yīng)少活動(dòng),多休眠,剩余能量多的節(jié)點(diǎn)應(yīng)多活動(dòng),以較大的概率當(dāng)選為簇頭節(jié)點(diǎn),這樣網(wǎng)絡(luò)能耗負(fù)載更加均衡,網(wǎng)絡(luò)壽命更長(zhǎng)。
(2)傳感器節(jié)點(diǎn)大面積隨機(jī)播撒而成,容易出現(xiàn)節(jié)點(diǎn)分布不均勻的現(xiàn)象,簇頭節(jié)點(diǎn)應(yīng)盡可能選在節(jié)點(diǎn)分布較密、周圍鄰居較多的區(qū)域。
針對(duì)LEACH路由協(xié)議存在的上述缺點(diǎn),本文在簇頭選取上進(jìn)行了改進(jìn)。以平衡網(wǎng)絡(luò)總能量消耗,延長(zhǎng)網(wǎng)絡(luò)壽命為主要設(shè)計(jì)目標(biāo),提出了一種改進(jìn)的路由協(xié)議——基于LEACH的簇頭選取改進(jìn)協(xié)議(LEACH-EC)。改進(jìn)后的LEACH-EC協(xié)議與LEACH協(xié)議思想一樣,仍然使用輪的概念,每個(gè)輪回分為兩個(gè)階段:簇的建立和穩(wěn)定的數(shù)據(jù)傳輸階段,穩(wěn)定數(shù)據(jù)傳輸階段的持續(xù)時(shí)間要大于簇建立所需的時(shí)間。
LEACH協(xié)議中簇頭節(jié)點(diǎn)隨機(jī)選取,為了選出周圍節(jié)點(diǎn)分布較密,鄰居節(jié)點(diǎn)較多的簇頭節(jié)點(diǎn)。我們引入節(jié)點(diǎn)集中度的概念。假定無(wú)線傳感器網(wǎng)絡(luò)中的任意一節(jié)點(diǎn)N的通信半徑為R,假設(shè)該節(jié)點(diǎn)有j個(gè)鄰居節(jié)點(diǎn),且這j個(gè)鄰居節(jié)點(diǎn)與該節(jié)點(diǎn)N的距離為di,則節(jié)點(diǎn)N的集中度為
為了確保網(wǎng)絡(luò)中節(jié)點(diǎn)負(fù)載均衡,在簇頭選取時(shí)不得不考慮節(jié)點(diǎn)的剩余能量,節(jié)點(diǎn)剩余能量多的節(jié)點(diǎn)以較高的概率當(dāng)選為簇頭節(jié)點(diǎn)。所以,將節(jié)點(diǎn)的剩余能量引入閥值T(n)的計(jì)算公式中,由此得到改進(jìn)后的T(n)的公式計(jì)算如下:
其中:Eresidual為節(jié)點(diǎn)的剩余能量,Einitial為節(jié)點(diǎn)的初始能量。0≦w1≦1,0≦w2≦1,且 w1+w2=1。
公式(1)中,di越小意味著與鄰居節(jié)點(diǎn)距離越近,j越大意味著該節(jié)點(diǎn)有著更多的鄰居節(jié)點(diǎn),周圍傳感器節(jié)點(diǎn)分布較為密集。 di值越小,j越大,則該節(jié)點(diǎn)集中度C的值將會(huì)越大。由公式(2)得出,節(jié)點(diǎn)剩余能量多、集中度高的節(jié)點(diǎn)相應(yīng)的T(n)也會(huì)較大,節(jié)點(diǎn)將以高概率選取為簇頭節(jié)點(diǎn)。隨著輪數(shù)的進(jìn)行,分布較密區(qū)域的節(jié)點(diǎn)的剩余能量逐漸降低,T(n)的值也會(huì)慢慢變小,而分布稀疏區(qū)域中的節(jié)點(diǎn)由于前期未當(dāng)選為簇頭節(jié)點(diǎn),剩余能量較多,T(n)的值將會(huì)慢慢變大,也會(huì)以高概率當(dāng)選為簇頭節(jié)點(diǎn),T(n)的值由節(jié)點(diǎn)的剩余能量和節(jié)點(diǎn)的集中度共同影響。因此網(wǎng)絡(luò)能耗負(fù)載更加均衡,有效的延長(zhǎng)了網(wǎng)絡(luò)的生存時(shí)間。
為了評(píng)價(jià)LEACH-EC協(xié)議的性能,與LEACH協(xié)議做了性能比較,實(shí)驗(yàn)中以Visual C++6.0作為仿真平臺(tái)。節(jié)點(diǎn)初始能量0.5J,節(jié)點(diǎn)總數(shù)為400個(gè),Sink位置為(300.400)。
在無(wú)線傳感器網(wǎng)絡(luò)的仿真中,根據(jù)不同的需求需要不同的指標(biāo)參數(shù),改進(jìn)的協(xié)議是以平衡所有節(jié)點(diǎn)的總的能量消耗,延長(zhǎng)網(wǎng)絡(luò)的存活時(shí)間為主要設(shè)計(jì)目標(biāo),因此,從以下3個(gè)指標(biāo)衡量改進(jìn)后協(xié)議的能量:(1)網(wǎng)絡(luò)的存活時(shí)間:第一個(gè)死亡節(jié)點(diǎn)和最后一個(gè)死亡節(jié)點(diǎn)的時(shí)間。(2)存活節(jié)點(diǎn)的個(gè)數(shù):不同時(shí)刻存活節(jié)點(diǎn)的個(gè)數(shù),反映了網(wǎng)絡(luò)整體能量消耗的平衡程度。(3)節(jié)點(diǎn)總的剩余能量:不同時(shí)刻所有節(jié)點(diǎn)剩余能量的總和。
從圖1中可以看出,在第290輪以后,LEACH-EC協(xié)議中存活節(jié)點(diǎn)的數(shù)目總是比LEACH協(xié)議中的多。從圖2中可以看出,在不同的輪數(shù)中,LEACH-EC協(xié)議中節(jié)點(diǎn)剩余能量的總和比LEACH協(xié)議中的高。因此,無(wú)論是網(wǎng)絡(luò)的壽命還是所有節(jié)點(diǎn)的剩余能量,LEACH-EC協(xié)議都優(yōu)于LEACH協(xié)議。
圖1 存活節(jié)點(diǎn)數(shù)目的比較
圖2 節(jié)點(diǎn)總的剩余能量的比較
無(wú)線傳感器網(wǎng)絡(luò)具有成本低、自組網(wǎng)等特點(diǎn),在軍事及公共安全,環(huán)境監(jiān)測(cè)和交通管理等領(lǐng)域內(nèi)有著廣泛的應(yīng)用前景。本文針對(duì)LEACH路由協(xié)議的不足提出了一種改進(jìn)的路由協(xié)議LEACH-EC,在選取簇頭時(shí)考慮了節(jié)點(diǎn)的剩余能量和集中度,使簇頭的分布更加合理,從而達(dá)到減少成員節(jié)點(diǎn)與粗頭節(jié)點(diǎn)數(shù)據(jù)傳輸能量消耗的目的,延長(zhǎng)了網(wǎng)絡(luò)的壽命。
[1]孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005:3-4.
[2]Heinzelman W.Application-specific Protocol Architectures for Wireless Networks[D].Massachusetts:Massachusetts Institute of Technology,2000.
[3]Ouadoudi Zytoune,Youssef Fakhri and Driss Aboutajdine,A Balanced Cost Cluster-Heads Selection Algorithm for Wireless Sensor Networks[J].International Journal of Computer Science 4:1 2009:21-24.
[4]Ehsan Akhtarkavan,Mohammad Taghi Manzuri Shalmani,Energy Adaptive cluster-Head Selection for Wireless Sensor Networks Using Center of Energy Mass[M].Springer-Verlag Berlin Heidelberg 2008:130-137.
[5]Ma Chaw Mon Thein,Thandar Thein,An Energy Efficient Cluster-Head Selection for Wireless Sensor Networks[J].2010 IEEE:287-291.
[6]Y.Liang,Y.Feng,An Energy-aware Routing Algorithm for Heterogeneous Wireless Sensor Networks[C]//2009 Ninth International Conference on Hybrid Intelligent Systems,his,Vol.2,pp.275-278,August 2009.
[7]李雅卿,李臘元,等.WSN中LEACH路由協(xié)議的改進(jìn)及仿真[J].計(jì)算機(jī)工程,2009(35):104-108.
[8]湯強(qiáng),等.簇頭預(yù)測(cè)分布式層次路由協(xié)議[J].計(jì)算機(jī)科學(xué),2010(37):78-81.