摘 要: 為了避免能量較少節(jié)點(diǎn)當(dāng)選為群首而過早死亡,對Leach協(xié)議群首的選取進(jìn)行改進(jìn)。采用結(jié)合節(jié)點(diǎn)剩余能量重新設(shè)置閾值的方法,選取剩余能量較多的節(jié)點(diǎn)作為群首,解決了能量較少節(jié)點(diǎn)當(dāng)選為群首和群首負(fù)擔(dān)載過重的問題。仿真結(jié)果表明,采用改進(jìn)后的算法可以有效減少網(wǎng)絡(luò)能量的消耗,延長網(wǎng)絡(luò)生存時間。
關(guān)鍵字: 基站; 能耗; 隨機(jī)數(shù); 生命周期
中圖分類號: TN915?34; TP393 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)11?0011?04
Abstract: In order to avoid electing less energy nodes as cluster heads, which may cause premature death of these nodes, the selection of LEACH protocol cluster head is improved. The nodes with more residual energy are selected as cluster heads by the method of restting threshold according to their residual energy, the way of which avoids the nodes with less energy being elected as cluster heads and the cluster heads bearing overweight load. The simulation results show that the improved algorithm can effectively reduce the network energy consumption, and prolong the lifetime of the network.
Keywords: base station; energy consumption; random number; life cycle
0 引 言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由大量集成了傳感、數(shù)據(jù)收集、處理和無線通信能力的小體積、低成本的傳感器節(jié)點(diǎn)構(gòu)成的自組織網(wǎng)絡(luò),在軍事、環(huán)境、醫(yī)療、家庭和其他商用領(lǐng)域有廣闊的應(yīng)用前景和很高的應(yīng)用價值[1]。由于多種原因傳統(tǒng)的無線Ad Hoc網(wǎng)絡(luò)路由協(xié)議已經(jīng)不能適用于WSN,因此出現(xiàn)了許多關(guān)于WSN路由協(xié)議的研究。其中,如何能夠高效使用節(jié)點(diǎn)剩余能量來最大化網(wǎng)絡(luò)生存時間是WSN面臨的第一挑戰(zhàn)。
無線微型傳感器網(wǎng)絡(luò)低能量自適應(yīng)分群分層[2](Low Energy Adaptive Clustering Hierarchy,LEACH)是一個應(yīng)用特定的協(xié)議體系,LEACH協(xié)議的設(shè)計與開發(fā)充分體現(xiàn)了WSN的獨(dú)特特性,相對于通用目的的多跳路由算法,LEACH能夠?qū)⑾到y(tǒng)壽命提高一個數(shù)量級。雖然,LEACH采用了所有節(jié)點(diǎn)間能量均勻分布的分群自適應(yīng)算法和群首位置循環(huán)算法,但是,由于LEACH在群首選取階段并沒有考慮節(jié)點(diǎn)的剩余能量,那么剩余能量較少的節(jié)點(diǎn)就有可能當(dāng)選為群首而過早死亡,嚴(yán)重影響網(wǎng)絡(luò)的生存時間。因此,本文在LEACH協(xié)議基礎(chǔ)上提出了一種新算法LEACH?N,不但能夠保證能量較多節(jié)點(diǎn)成為群首的概率增大,同時群首將采集到的數(shù)據(jù)以多跳和單跳相結(jié)合的方式發(fā)送給基站,可以延長了整個網(wǎng)絡(luò)生命周期。
1 LEACH概述
LEACH協(xié)議將WSN中的所有節(jié)點(diǎn)分為多個群,每個群的重構(gòu)過程可以用“輪(round)”來描述,每輪主要包括兩個階段,一個是群的建立階段采用分布式算法進(jìn)行分群,包括選取群首和加入成員節(jié)點(diǎn);另一個是穩(wěn)定狀態(tài)階段主要按幀進(jìn)行操作,完成數(shù)據(jù)的傳送[3]。
1.1 群首選擇
LEACH采用的是分布式算法進(jìn)行分群,因此各個節(jié)點(diǎn)將會自行做出決策,沒有任何中心控制[3]。每個傳感器節(jié)點(diǎn)可以隨機(jī)產(chǎn)生0~1之間一個隨機(jī)數(shù),當(dāng)該隨機(jī)數(shù)小于閾值[T(n),]則該節(jié)點(diǎn)當(dāng)選為群首。假設(shè)每輪最佳群首個數(shù)為[k,]開始網(wǎng)絡(luò)分布節(jié)點(diǎn)數(shù)為[N,]群首在所有節(jié)點(diǎn)中所占百分比的期望值為[p,]即[p=kN,][k]為群首個數(shù),[N]為初始節(jié)點(diǎn)總數(shù),[G]為最近[rmod(1p)]個循環(huán)沒有作為群首的集合,則閾值[T(n)]為:
[T(n)=p1-p[rmod(1p)],n∈G0,n?G] (1)
當(dāng)節(jié)點(diǎn)被選為群首后,通知其他節(jié)點(diǎn)自己為新群首,每個非群首節(jié)點(diǎn)根據(jù)接收消息的強(qiáng)度來選擇群首,并告知群首自己是該群的一個成員[4]。隨后群首需要創(chuàng)建并發(fā)送一個TDMA傳送時刻表給群內(nèi)節(jié)點(diǎn),此時群首的建立階段完成,就可以進(jìn)行數(shù)據(jù)傳送,即進(jìn)入穩(wěn)定狀態(tài)階段。
1.2 穩(wěn)定狀態(tài)階段
成員節(jié)點(diǎn)獲悉其群首建立的TDMA傳輸時間安排后,可以根據(jù)時隙向群首發(fā)送數(shù)據(jù),群首必須持續(xù)處于工作狀態(tài),以便接收成員節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)[5]。為了加強(qiáng)公共信號、消弱信號間的不相關(guān)噪聲,群首接收到所有數(shù)據(jù)后立即進(jìn)行數(shù)據(jù)融合,并把融合后數(shù)據(jù)發(fā)送給基站,經(jīng)過一段時間以后,如果本輪工作完成就可以重新進(jìn)入啟動階段。
2 算法改進(jìn)
LEACH算法中選取的群首節(jié)點(diǎn)并沒有考慮自身剩余能量,如果當(dāng)選為群首的節(jié)點(diǎn)剩余能量較少,那么該節(jié)點(diǎn)將會很快消耗完自身能量而過早死亡,從而導(dǎo)致整個網(wǎng)絡(luò)的生命周期縮短。同時在數(shù)據(jù)傳輸階段,群首接收非群首節(jié)點(diǎn)的數(shù)據(jù)并進(jìn)行融合后再直接發(fā)送給基站,那么群首將會消耗大量能量。
2.1 改進(jìn)算法LEACH?N
LEACH?C協(xié)議[6]采用中心分群算法將群首節(jié)點(diǎn)分散在整個網(wǎng)絡(luò)中,得到了相對LEACH協(xié)議較好的分群結(jié)構(gòu),保證了群首節(jié)點(diǎn)的分布和數(shù)量,但是,LEACH?C在建立階段,需要每個節(jié)點(diǎn)把自己當(dāng)前的位置信息以及能量等級信息發(fā)送給基站,將會使整個網(wǎng)絡(luò)的能量開銷增大。
為了讓剩余能量較多節(jié)點(diǎn)成為群首的概率比能量較少節(jié)點(diǎn)大,即保證所有節(jié)點(diǎn)大致在相同時刻消耗完自身能量。從而提出一種新的算法LEACH?N,采用的方法是將節(jié)點(diǎn)成為群首的概率[P]設(shè)為一個節(jié)點(diǎn)能量等級的函數(shù),且[P]是相對于網(wǎng)絡(luò)中剩余總能量而言的,即
[P=EcurrentξmxE0, 0<ξ<1] (2)
由于[T(n)]是每個節(jié)點(diǎn)完全自行做出的決策,并沒有確定每個節(jié)點(diǎn)的總能量,為了將概率[P]應(yīng)用到[T(n)]中,假設(shè)網(wǎng)絡(luò)總的節(jié)點(diǎn)能量約等于每個分群節(jié)點(diǎn)的平均能量乘以節(jié)點(diǎn)數(shù)[N,]式(2)中[mx]為單個群中的節(jié)點(diǎn)數(shù),如果最佳分群個數(shù)為[k,]節(jié)點(diǎn)的初始能量為[E0,]那么[mx=Nk,]每個分群最大平均能量為[NE0k,]節(jié)點(diǎn)剩余能量為[Ecurrent。] 從而可以得到新的閾值[T(n)]為:
[T(n)=EcurrentNE0k-Ecurrent[rmodNk],n∈G0,n?G] (3)
從式(3)中可以看出,當(dāng)節(jié)點(diǎn)剩余能量[Ecurrent]越大時,[T(n)]越大,那么該節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù)越容易滿足閾值[T(n),]即節(jié)點(diǎn)當(dāng)選為群首的概率就會越大;反之,當(dāng)[Ecurrent]越小時,[T(n)]就會越小,節(jié)點(diǎn)就越不容易成為群首節(jié)點(diǎn)。結(jié)合式(2)和新閾值式(3)可以看出,該群首的選取不但考慮了節(jié)點(diǎn)的剩余能量,同時使得能量較多的節(jié)點(diǎn)成為群首的概率會增大,那么可以保證選取的群首相對較為合理。
2.2 群首的最佳個數(shù)
群首個數(shù)對網(wǎng)絡(luò)生存時間具有重要影響[7?8]。當(dāng)群首個數(shù)在最佳期望值范圍內(nèi),不但能夠保證最佳分群個數(shù),而且能夠保證群首向基站發(fā)送數(shù)據(jù)的最佳跳數(shù)。文獻(xiàn)[3]中給出了原LEACH群首個數(shù)的最佳期望值,即:
[kopt=N2πefsempM2d2toBS] (4)
式中:假設(shè)[N]個傳感器節(jié)點(diǎn)均勻分布在一個[M×M]的區(qū)域中,[dtoBS]為群首到基站的距離,[efs]和[emp]為信號放大器的放大倍數(shù)。由于計算該群首個數(shù)[kopt]時,假設(shè)LEACH采取完全累積數(shù)據(jù)并且每條消息只需要一跳發(fā)送給基站,因此可能會使最佳群首個數(shù)[kopt]范圍變大,本文放寬這個假設(shè)條件重新確定最佳群首個數(shù)。
由于群的建立階段消耗能量較少,本文暫不考慮節(jié)點(diǎn)的這部分能量消耗。假定在距離[d]上發(fā)送一條長度為[l]比特消息的電臺能耗為[3]:[Etx(l,d)=Etx-elec(l)+Etx-amp(l,d)=lEelec+lefsd2,d 這是一個較為簡單的電臺能耗模型,其中,當(dāng)[d [Erx(l)=Ers-elec(l)=lEelec] (6) 假設(shè)在一個[M×M]區(qū)域中分布了[N]個傳感器節(jié)點(diǎn),分群數(shù)為[k,]即群首個數(shù)也為[k,]其中每個分群如果有[mx]個節(jié)點(diǎn),那么單個分群中成員節(jié)點(diǎn)(非群首)的個數(shù)為[mx-1。]群首的能耗主要包括三部分,其一是接收非群首節(jié)點(diǎn)發(fā)送的消息所消耗的能量[Ereceive,]其二將接收到的成員節(jié)點(diǎn)消息進(jìn)行融合所消耗的能量[Efusion,]其三將融合后的消息發(fā)送給基站(或中繼節(jié)點(diǎn))[Esend。]那么任意一個群首節(jié)點(diǎn)所消耗的能量可表示為: [ECH=Esend+Efusion+Ereceive] (7) 群首接收成員節(jié)點(diǎn)發(fā)送的信號消耗能量為: [Ereceive=lEelec(mx-1)] (8) 如果融合一個比特數(shù)所消耗的能量為[EDA,][m]為數(shù)據(jù)融合率,那么群首融合[mx]個長度為[l]比特消息所消耗的能量為: [Efusion=lEDAmx] (9) 由于基站一般遠(yuǎn)離網(wǎng)絡(luò)節(jié)點(diǎn),所以可以采用多跳方式將消息發(fā)送到基站,與采用多徑衰落模型直接發(fā)送消息相比較,前者更能節(jié)約節(jié)點(diǎn)能量。群首首先將融合后的信息轉(zhuǎn)發(fā)給中繼節(jié)點(diǎn),再通過中繼節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給基站,設(shè)群首距中繼節(jié)點(diǎn)的距離為[dhop,]那么群首將信息發(fā)送給中繼節(jié)點(diǎn)所消耗的能量為: [Esend=(lEelec+lefsd2hop)mxm] (10) 式中:乘以[mxm]的原因是LEACH?N不一定完全融合,即由于每個節(jié)點(diǎn)的數(shù)據(jù)融合能力是固定的,所以計算群首發(fā)射信息消耗能量時應(yīng)該考慮節(jié)點(diǎn)最大量壓縮數(shù)據(jù)包的個數(shù)。因此,任意一個群首所消耗的能量為: [ECH=mxl(1+1m)Eelec+EDA+efsd2hopm-lEelec] (11) 假設(shè)成員節(jié)點(diǎn)距群首節(jié)點(diǎn)的距離為[dtoCII,]由于群首與成員節(jié)點(diǎn)之間的距離相對較近,成員節(jié)點(diǎn)可采用自由空間模型直接將消息發(fā)送給群首節(jié)點(diǎn),因此每個成員節(jié)點(diǎn)的能量消耗為: [Enon_CH=lEelec+lefsd2toCH] (12) 由于每個分群分布區(qū)域沒有固定的形狀,設(shè)分群中節(jié)點(diǎn)分布為[p(x,y),]那么根據(jù)積分性質(zhì)可以得到成員節(jié)點(diǎn)距離其群首的平方距離的期望值為: [E[d2toCH]=(x2+y2)p(x,y)dxdy=r2p(r,θ)rdrdθ] (13) 如果將該區(qū)域抽象成一個半徑為[R=Mmx(πN)]的圓形([mx]在不同的群中是不一定相等),單個群的面積可以用[S=M2mxN]表示。那么式(13)可以化簡為: [E[d2toCH]=M2mx(2πN)] (14) 所以,將式(14)帶入式(12)得到每個成員節(jié)點(diǎn)的能耗為:
[Enon_CH=l[Eelec+efsM2mx(2πN)]] (15)
由于基站距離傳感器場較遠(yuǎn),群首采用多跳方式通過中繼節(jié)點(diǎn)將消息傳輸給基站,假設(shè)群首經(jīng)過[n]跳將消息發(fā)送給基站,且每個中繼節(jié)點(diǎn)都能夠完全融合信息。如果設(shè)每跳距離相等都為[γ,]即有[dhop=γ,]那么中繼節(jié)點(diǎn)傳遞信息到基站的能耗為:
[Ehop=(n-1)l[2Eelec+efsγ2+2EDA]] (16)
通過以上式(11)、式(15)及式(16)可以得到最差情形下的整個網(wǎng)絡(luò)的能耗為:
[Enet=ECH+(mx-1)Enon_CH+Ehop=k2+1mmx+2n-4lEelec+[mx+2(n-1)]lEDA+mxm+n-1γ2+(mx-1)M2mx2πNlefs]
為了便于推導(dǎo),這里可以假設(shè)每個分群的成員節(jié)點(diǎn)個數(shù)相等,即[mx=Nk,]那么式(17)又可表示為:
[Eelec=2+1mN+(2n-4)klEelec+N+2(n-1)klEDA+Nm+(n-1)kγ2+(Nk-1)M22πl(wèi)efs](18)
根據(jù)式(18)可以知道,[Enet]是隨著[k]變化的函數(shù),那么根據(jù)導(dǎo)數(shù)的性質(zhì)就可以得到網(wǎng)絡(luò)中分群個數(shù)的最佳期望值[kopt]為:
[kopt=NM2efs2π[(2n-4)Eelec+2(n-1)EDA+(n-1)efsγ2]] (19)
進(jìn)行實(shí)驗仿真時,式(17)中的參數(shù)[M,][N,][efs,][Eelec,][EDA]都是提前設(shè)置好的,其中[n>1,]而且可以根據(jù)群首采用多跳方式轉(zhuǎn)發(fā)消息的能耗小于單跳方式轉(zhuǎn)發(fā)消息到基站的能耗來確定[γ]的范圍[9],因此,當(dāng)[γ<2Eelec(nefs)]時,群首可以采用直接發(fā)送消息到基站,否則將會采用多跳方式轉(zhuǎn)發(fā)消息。
如果群首最佳個數(shù)通過式(19)確定,那么式(3)新閾值中的群首個數(shù)[k]也得到確定,但是由于節(jié)點(diǎn)一般都是隨機(jī)分布在檢測區(qū)域中,因此節(jié)點(diǎn)與基站之間的距離可能各不相同,而且群首可以采用單跳或多跳方式向基站發(fā)送消息,因此只能得到群首的最佳范圍,隨后本文通過仿真結(jié)果選取最佳范圍內(nèi)的一個值作為最佳群首個數(shù)。
3 Matlab仿真
本文采用Matlab軟件進(jìn)行仿真,設(shè)置仿真場景為:傳感器節(jié)點(diǎn)的初始能量為0.5 J,有100個節(jié)點(diǎn)隨機(jī)分布在100 m×100 m的區(qū)域中,基站位于(50,175)處,通信能量參數(shù)設(shè)置如下:[Eelec=50]nJ/b,功率放大因子[efs=10]pJ和[emp=]0.001 3 pJ,估算[γ<100]m時采用單跳發(fā)送數(shù)據(jù),反之采用多跳方式發(fā)送數(shù)據(jù)。本文在傳輸模式上采用文獻(xiàn)[10]數(shù)據(jù)傳輸策略,當(dāng)群首采用多跳方式傳輸數(shù)據(jù)到基站時,選擇合適的群首作為中繼節(jié)點(diǎn),數(shù)據(jù)累積消耗能量[EDA=]5 nJ,結(jié)合式(19)可知,如果群首節(jié)點(diǎn)到基站的距離為[75 剩余節(jié)點(diǎn)數(shù)隨輪數(shù)的變化如圖2所示。根據(jù)圖2可以看出,改進(jìn)后LEACH?N的生存曲線明顯優(yōu)于LEACH和LEACH?C這兩種算法。其中,LEACH?N的第一個死亡節(jié)點(diǎn)出現(xiàn)在第1 765輪,而LEACH和LEACH?C分別在721輪和943輪已經(jīng)出現(xiàn)了第一個死亡節(jié)點(diǎn),因此,LEACH?N整個生存時間遠(yuǎn)遠(yuǎn)大于LEACH和LEACH?C。經(jīng)過仿真與分析可知,新算法LEACH?N不但延長了整個網(wǎng)絡(luò)的生存時間,而且延長了網(wǎng)絡(luò)的穩(wěn)定期(第一個節(jié)點(diǎn)死亡時間)。 4 結(jié) 論 本文通過對LEACH和LEACH?C的優(yōu)缺點(diǎn)進(jìn)行研究和分析,結(jié)合節(jié)點(diǎn)剩余能量優(yōu)化閾值,從而使得選取的群首更加合理,并結(jié)合單跳和多跳方式向基站發(fā)送消息,同時當(dāng)節(jié)點(diǎn)不能完全融合數(shù)據(jù)時,對群首最佳個數(shù)的期望值進(jìn)行研究,得到群首個數(shù)的最佳范圍。仿真結(jié)果表明,新閾值的設(shè)置不但延長了網(wǎng)絡(luò)的穩(wěn)定期,同時延長了網(wǎng)絡(luò)的生命周期。 參考文獻(xiàn) [1] 孫利民,李建中,成渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005. [2] HEINZELMAN W B, CHANDRAKASAN A P, BALAKRISHAN H. An application?specific protocol architecture for wireless micro?sensor networks [J]. IEEE Transactions on Wireless Communications, 2002, 1(4): 660?670. [3] 陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009. [4] HANDY M J, HAASE M, TIMMERMANN D. Low energy adaptive clustering hierarchy with deterministic cluster?head selection [C]//Proceedings of The 4th International Workshop on Mobile and Wireless Communications Network. Washington, DC: IEEE Computer Society, 2002: 368?372. [5] 劉玉華,趙永峰,徐凱華,等.無線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)[J].計算機(jī)工程與應(yīng)用,2010,46(17):117?120. [6] 王林,潘軍.無線傳感器網(wǎng)絡(luò)中基于能量優(yōu)化的路由協(xié)議ANT?LEACH[J].計算機(jī)應(yīng)用,2011,31(11):2891?2894. [7] 楊坤.無線傳感網(wǎng)絡(luò)中多簇頭算法研究與仿真[D].成都:電子科技大學(xué),2010. [8] 單曉娜.無線傳感器網(wǎng)絡(luò)LEACH算法的研究與改進(jìn)[D].南昌:南昌大學(xué),2009. [9] 張飛鴿.無線傳感器網(wǎng)絡(luò)路由協(xié)議的研究[D].西安:西安理工大學(xué),2012. [10] 李玲,王林,張飛鴿,等.無線傳感器網(wǎng)絡(luò)低功耗自適應(yīng)分簇協(xié)議[J].計算機(jī)應(yīng)用,2012,32(10):2700?2703.
[Enon_CH=l[Eelec+efsM2mx(2πN)]] (15)
由于基站距離傳感器場較遠(yuǎn),群首采用多跳方式通過中繼節(jié)點(diǎn)將消息傳輸給基站,假設(shè)群首經(jīng)過[n]跳將消息發(fā)送給基站,且每個中繼節(jié)點(diǎn)都能夠完全融合信息。如果設(shè)每跳距離相等都為[γ,]即有[dhop=γ,]那么中繼節(jié)點(diǎn)傳遞信息到基站的能耗為:
[Ehop=(n-1)l[2Eelec+efsγ2+2EDA]] (16)
通過以上式(11)、式(15)及式(16)可以得到最差情形下的整個網(wǎng)絡(luò)的能耗為:
[Enet=ECH+(mx-1)Enon_CH+Ehop=k2+1mmx+2n-4lEelec+[mx+2(n-1)]lEDA+mxm+n-1γ2+(mx-1)M2mx2πNlefs]
為了便于推導(dǎo),這里可以假設(shè)每個分群的成員節(jié)點(diǎn)個數(shù)相等,即[mx=Nk,]那么式(17)又可表示為:
[Eelec=2+1mN+(2n-4)klEelec+N+2(n-1)klEDA+Nm+(n-1)kγ2+(Nk-1)M22πl(wèi)efs](18)
根據(jù)式(18)可以知道,[Enet]是隨著[k]變化的函數(shù),那么根據(jù)導(dǎo)數(shù)的性質(zhì)就可以得到網(wǎng)絡(luò)中分群個數(shù)的最佳期望值[kopt]為:
[kopt=NM2efs2π[(2n-4)Eelec+2(n-1)EDA+(n-1)efsγ2]] (19)
進(jìn)行實(shí)驗仿真時,式(17)中的參數(shù)[M,][N,][efs,][Eelec,][EDA]都是提前設(shè)置好的,其中[n>1,]而且可以根據(jù)群首采用多跳方式轉(zhuǎn)發(fā)消息的能耗小于單跳方式轉(zhuǎn)發(fā)消息到基站的能耗來確定[γ]的范圍[9],因此,當(dāng)[γ<2Eelec(nefs)]時,群首可以采用直接發(fā)送消息到基站,否則將會采用多跳方式轉(zhuǎn)發(fā)消息。
如果群首最佳個數(shù)通過式(19)確定,那么式(3)新閾值中的群首個數(shù)[k]也得到確定,但是由于節(jié)點(diǎn)一般都是隨機(jī)分布在檢測區(qū)域中,因此節(jié)點(diǎn)與基站之間的距離可能各不相同,而且群首可以采用單跳或多跳方式向基站發(fā)送消息,因此只能得到群首的最佳范圍,隨后本文通過仿真結(jié)果選取最佳范圍內(nèi)的一個值作為最佳群首個數(shù)。
3 Matlab仿真
本文采用Matlab軟件進(jìn)行仿真,設(shè)置仿真場景為:傳感器節(jié)點(diǎn)的初始能量為0.5 J,有100個節(jié)點(diǎn)隨機(jī)分布在100 m×100 m的區(qū)域中,基站位于(50,175)處,通信能量參數(shù)設(shè)置如下:[Eelec=50]nJ/b,功率放大因子[efs=10]pJ和[emp=]0.001 3 pJ,估算[γ<100]m時采用單跳發(fā)送數(shù)據(jù),反之采用多跳方式發(fā)送數(shù)據(jù)。本文在傳輸模式上采用文獻(xiàn)[10]數(shù)據(jù)傳輸策略,當(dāng)群首采用多跳方式傳輸數(shù)據(jù)到基站時,選擇合適的群首作為中繼節(jié)點(diǎn),數(shù)據(jù)累積消耗能量[EDA=]5 nJ,結(jié)合式(19)可知,如果群首節(jié)點(diǎn)到基站的距離為[75 剩余節(jié)點(diǎn)數(shù)隨輪數(shù)的變化如圖2所示。根據(jù)圖2可以看出,改進(jìn)后LEACH?N的生存曲線明顯優(yōu)于LEACH和LEACH?C這兩種算法。其中,LEACH?N的第一個死亡節(jié)點(diǎn)出現(xiàn)在第1 765輪,而LEACH和LEACH?C分別在721輪和943輪已經(jīng)出現(xiàn)了第一個死亡節(jié)點(diǎn),因此,LEACH?N整個生存時間遠(yuǎn)遠(yuǎn)大于LEACH和LEACH?C。經(jīng)過仿真與分析可知,新算法LEACH?N不但延長了整個網(wǎng)絡(luò)的生存時間,而且延長了網(wǎng)絡(luò)的穩(wěn)定期(第一個節(jié)點(diǎn)死亡時間)。 4 結(jié) 論 本文通過對LEACH和LEACH?C的優(yōu)缺點(diǎn)進(jìn)行研究和分析,結(jié)合節(jié)點(diǎn)剩余能量優(yōu)化閾值,從而使得選取的群首更加合理,并結(jié)合單跳和多跳方式向基站發(fā)送消息,同時當(dāng)節(jié)點(diǎn)不能完全融合數(shù)據(jù)時,對群首最佳個數(shù)的期望值進(jìn)行研究,得到群首個數(shù)的最佳范圍。仿真結(jié)果表明,新閾值的設(shè)置不但延長了網(wǎng)絡(luò)的穩(wěn)定期,同時延長了網(wǎng)絡(luò)的生命周期。 參考文獻(xiàn) [1] 孫利民,李建中,成渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005. [2] HEINZELMAN W B, CHANDRAKASAN A P, BALAKRISHAN H. An application?specific protocol architecture for wireless micro?sensor networks [J]. IEEE Transactions on Wireless Communications, 2002, 1(4): 660?670. [3] 陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009. [4] HANDY M J, HAASE M, TIMMERMANN D. Low energy adaptive clustering hierarchy with deterministic cluster?head selection [C]//Proceedings of The 4th International Workshop on Mobile and Wireless Communications Network. Washington, DC: IEEE Computer Society, 2002: 368?372. [5] 劉玉華,趙永峰,徐凱華,等.無線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)[J].計算機(jī)工程與應(yīng)用,2010,46(17):117?120. [6] 王林,潘軍.無線傳感器網(wǎng)絡(luò)中基于能量優(yōu)化的路由協(xié)議ANT?LEACH[J].計算機(jī)應(yīng)用,2011,31(11):2891?2894. [7] 楊坤.無線傳感網(wǎng)絡(luò)中多簇頭算法研究與仿真[D].成都:電子科技大學(xué),2010. [8] 單曉娜.無線傳感器網(wǎng)絡(luò)LEACH算法的研究與改進(jìn)[D].南昌:南昌大學(xué),2009. [9] 張飛鴿.無線傳感器網(wǎng)絡(luò)路由協(xié)議的研究[D].西安:西安理工大學(xué),2012. [10] 李玲,王林,張飛鴿,等.無線傳感器網(wǎng)絡(luò)低功耗自適應(yīng)分簇協(xié)議[J].計算機(jī)應(yīng)用,2012,32(10):2700?2703.
[Enon_CH=l[Eelec+efsM2mx(2πN)]] (15)
由于基站距離傳感器場較遠(yuǎn),群首采用多跳方式通過中繼節(jié)點(diǎn)將消息傳輸給基站,假設(shè)群首經(jīng)過[n]跳將消息發(fā)送給基站,且每個中繼節(jié)點(diǎn)都能夠完全融合信息。如果設(shè)每跳距離相等都為[γ,]即有[dhop=γ,]那么中繼節(jié)點(diǎn)傳遞信息到基站的能耗為:
[Ehop=(n-1)l[2Eelec+efsγ2+2EDA]] (16)
通過以上式(11)、式(15)及式(16)可以得到最差情形下的整個網(wǎng)絡(luò)的能耗為:
[Enet=ECH+(mx-1)Enon_CH+Ehop=k2+1mmx+2n-4lEelec+[mx+2(n-1)]lEDA+mxm+n-1γ2+(mx-1)M2mx2πNlefs]
為了便于推導(dǎo),這里可以假設(shè)每個分群的成員節(jié)點(diǎn)個數(shù)相等,即[mx=Nk,]那么式(17)又可表示為:
[Eelec=2+1mN+(2n-4)klEelec+N+2(n-1)klEDA+Nm+(n-1)kγ2+(Nk-1)M22πl(wèi)efs](18)
根據(jù)式(18)可以知道,[Enet]是隨著[k]變化的函數(shù),那么根據(jù)導(dǎo)數(shù)的性質(zhì)就可以得到網(wǎng)絡(luò)中分群個數(shù)的最佳期望值[kopt]為:
[kopt=NM2efs2π[(2n-4)Eelec+2(n-1)EDA+(n-1)efsγ2]] (19)
進(jìn)行實(shí)驗仿真時,式(17)中的參數(shù)[M,][N,][efs,][Eelec,][EDA]都是提前設(shè)置好的,其中[n>1,]而且可以根據(jù)群首采用多跳方式轉(zhuǎn)發(fā)消息的能耗小于單跳方式轉(zhuǎn)發(fā)消息到基站的能耗來確定[γ]的范圍[9],因此,當(dāng)[γ<2Eelec(nefs)]時,群首可以采用直接發(fā)送消息到基站,否則將會采用多跳方式轉(zhuǎn)發(fā)消息。
如果群首最佳個數(shù)通過式(19)確定,那么式(3)新閾值中的群首個數(shù)[k]也得到確定,但是由于節(jié)點(diǎn)一般都是隨機(jī)分布在檢測區(qū)域中,因此節(jié)點(diǎn)與基站之間的距離可能各不相同,而且群首可以采用單跳或多跳方式向基站發(fā)送消息,因此只能得到群首的最佳范圍,隨后本文通過仿真結(jié)果選取最佳范圍內(nèi)的一個值作為最佳群首個數(shù)。
3 Matlab仿真
本文采用Matlab軟件進(jìn)行仿真,設(shè)置仿真場景為:傳感器節(jié)點(diǎn)的初始能量為0.5 J,有100個節(jié)點(diǎn)隨機(jī)分布在100 m×100 m的區(qū)域中,基站位于(50,175)處,通信能量參數(shù)設(shè)置如下:[Eelec=50]nJ/b,功率放大因子[efs=10]pJ和[emp=]0.001 3 pJ,估算[γ<100]m時采用單跳發(fā)送數(shù)據(jù),反之采用多跳方式發(fā)送數(shù)據(jù)。本文在傳輸模式上采用文獻(xiàn)[10]數(shù)據(jù)傳輸策略,當(dāng)群首采用多跳方式傳輸數(shù)據(jù)到基站時,選擇合適的群首作為中繼節(jié)點(diǎn),數(shù)據(jù)累積消耗能量[EDA=]5 nJ,結(jié)合式(19)可知,如果群首節(jié)點(diǎn)到基站的距離為[75 剩余節(jié)點(diǎn)數(shù)隨輪數(shù)的變化如圖2所示。根據(jù)圖2可以看出,改進(jìn)后LEACH?N的生存曲線明顯優(yōu)于LEACH和LEACH?C這兩種算法。其中,LEACH?N的第一個死亡節(jié)點(diǎn)出現(xiàn)在第1 765輪,而LEACH和LEACH?C分別在721輪和943輪已經(jīng)出現(xiàn)了第一個死亡節(jié)點(diǎn),因此,LEACH?N整個生存時間遠(yuǎn)遠(yuǎn)大于LEACH和LEACH?C。經(jīng)過仿真與分析可知,新算法LEACH?N不但延長了整個網(wǎng)絡(luò)的生存時間,而且延長了網(wǎng)絡(luò)的穩(wěn)定期(第一個節(jié)點(diǎn)死亡時間)。 4 結(jié) 論 本文通過對LEACH和LEACH?C的優(yōu)缺點(diǎn)進(jìn)行研究和分析,結(jié)合節(jié)點(diǎn)剩余能量優(yōu)化閾值,從而使得選取的群首更加合理,并結(jié)合單跳和多跳方式向基站發(fā)送消息,同時當(dāng)節(jié)點(diǎn)不能完全融合數(shù)據(jù)時,對群首最佳個數(shù)的期望值進(jìn)行研究,得到群首個數(shù)的最佳范圍。仿真結(jié)果表明,新閾值的設(shè)置不但延長了網(wǎng)絡(luò)的穩(wěn)定期,同時延長了網(wǎng)絡(luò)的生命周期。 參考文獻(xiàn) [1] 孫利民,李建中,成渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005. [2] HEINZELMAN W B, CHANDRAKASAN A P, BALAKRISHAN H. An application?specific protocol architecture for wireless micro?sensor networks [J]. IEEE Transactions on Wireless Communications, 2002, 1(4): 660?670. [3] 陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009. [4] HANDY M J, HAASE M, TIMMERMANN D. Low energy adaptive clustering hierarchy with deterministic cluster?head selection [C]//Proceedings of The 4th International Workshop on Mobile and Wireless Communications Network. Washington, DC: IEEE Computer Society, 2002: 368?372. [5] 劉玉華,趙永峰,徐凱華,等.無線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)[J].計算機(jī)工程與應(yīng)用,2010,46(17):117?120. [6] 王林,潘軍.無線傳感器網(wǎng)絡(luò)中基于能量優(yōu)化的路由協(xié)議ANT?LEACH[J].計算機(jī)應(yīng)用,2011,31(11):2891?2894. [7] 楊坤.無線傳感網(wǎng)絡(luò)中多簇頭算法研究與仿真[D].成都:電子科技大學(xué),2010. [8] 單曉娜.無線傳感器網(wǎng)絡(luò)LEACH算法的研究與改進(jìn)[D].南昌:南昌大學(xué),2009. [9] 張飛鴿.無線傳感器網(wǎng)絡(luò)路由協(xié)議的研究[D].西安:西安理工大學(xué),2012. [10] 李玲,王林,張飛鴿,等.無線傳感器網(wǎng)絡(luò)低功耗自適應(yīng)分簇協(xié)議[J].計算機(jī)應(yīng)用,2012,32(10):2700?2703.