張飛鴿
(寶雞文理學(xué)院電子電氣工程學(xué)院,陜西 寶雞 721007)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)主要由一組較為齊全的MEMS 設(shè)備構(gòu)成,這些設(shè)備體積僅有毫米般大小且能量有限,在整個(gè)網(wǎng)絡(luò)中分布數(shù)量較多,覆蓋區(qū)域面積較大[1];WSN 與傳統(tǒng)傳感器相比,WSN 可以分布于偏遠(yuǎn)區(qū)域,并使用某些復(fù)雜技術(shù)區(qū)分周圍環(huán)境噪聲中的對(duì)象,還可以將傳感器感知到的現(xiàn)象隨著時(shí)間序列發(fā)送給中心節(jié)點(diǎn),中心節(jié)點(diǎn)再對(duì)此做相應(yīng)的處理,如數(shù)據(jù)融合和計(jì)算等。WSN 將采集的信息發(fā)送到中心節(jié)點(diǎn)離不開(kāi)路由協(xié)議,筆者主要根據(jù)WSN 中節(jié)點(diǎn)能量有限的特點(diǎn),計(jì)算在一定條件下LEACH 協(xié)議的最佳簇頭個(gè)數(shù),確定整個(gè)網(wǎng)絡(luò)的簇頭數(shù),減少網(wǎng)絡(luò)能量消耗,達(dá)到延長(zhǎng)網(wǎng)絡(luò)生命周期的目的。
無(wú)線微型傳感器網(wǎng)絡(luò)低能量自適應(yīng)分群分層(Low Energy Adaptive Clustering Hierarchy,LEACH)是一個(gè)采用MAC 協(xié)議和路由協(xié)議進(jìn)行低能量網(wǎng)絡(luò)操作的應(yīng)用型協(xié)議體系,其具有自組織網(wǎng)絡(luò)節(jié)點(diǎn)的分布式分群技術(shù),實(shí)現(xiàn)節(jié)點(diǎn)間能量均衡分布的分群自適應(yīng)算法和簇頭節(jié)點(diǎn)的更換循環(huán)算法,相對(duì)于一般多跳路由算法,如果LEACH 中的簇頭節(jié)點(diǎn)采用多跳方式將信息轉(zhuǎn)發(fā)給中心節(jié)點(diǎn),則可以將系統(tǒng)的壽命提高大于一個(gè)數(shù)量級(jí)[1]。
LEACH 是WSN 最早提出的一種分簇路由協(xié)議,它用到了“輪”的概念,即具有周期性的特點(diǎn)。在LEACH 算法中,每輪包括簇的準(zhǔn)備建立階段和穩(wěn)定狀態(tài)階段。在準(zhǔn)備階段主要完成簇的建立,這一階段消耗的能量相對(duì)于穩(wěn)定階段完成數(shù)據(jù)傳送消耗能量較少,為了節(jié)約網(wǎng)絡(luò)能耗,穩(wěn)定階段所設(shè)置的時(shí)間遠(yuǎn)遠(yuǎn)大于準(zhǔn)備階段[2]。經(jīng)過(guò)一段時(shí)間后,如果已經(jīng)完成了本輪所有工作,那么就可以重新進(jìn)入到下一輪的啟動(dòng),直到網(wǎng)絡(luò)中節(jié)點(diǎn)全部死亡[3]。
在LEACH 協(xié)議中,節(jié)點(diǎn)將采集的信息發(fā)送給基站主要依靠簇頭。當(dāng)簇建立階段完成后進(jìn)入穩(wěn)定階段,非簇頭節(jié)點(diǎn)將信息發(fā)送給簇頭,簇頭再將信息融合后發(fā)送給基站。即簇頭在網(wǎng)絡(luò)中有2 個(gè)方面的作用:1)建簇和接收成員節(jié)點(diǎn)的數(shù)據(jù)并進(jìn)行融合;2)轉(zhuǎn)發(fā)數(shù)據(jù)到基站。如果網(wǎng)絡(luò)內(nèi)選取的簇頭數(shù)過(guò)多就會(huì)造成數(shù)據(jù)冗余,浪費(fèi)節(jié)點(diǎn)能量;如果簇頭數(shù)量過(guò)少又會(huì)加重簇頭負(fù)擔(dān),導(dǎo)致簇頭節(jié)點(diǎn)能耗過(guò)快而死亡[4]。因此,網(wǎng)絡(luò)中簇頭的作用非常重要,如果確定最佳簇頭的個(gè)數(shù),那么就可以均衡網(wǎng)絡(luò)的能量消耗,有效地延長(zhǎng)網(wǎng)絡(luò)的生存周期。
文獻(xiàn)[5]中結(jié)合節(jié)點(diǎn)分布密度和節(jié)點(diǎn)剩余能量2個(gè)因子重新設(shè)置閾值T(n);文獻(xiàn)[6]考慮了節(jié)點(diǎn)的剩余能量和節(jié)點(diǎn)距離基站的能量因子設(shè)置新的閾值;文獻(xiàn)[7]根據(jù)節(jié)點(diǎn)剩余能量,動(dòng)態(tài)選擇分簇算法;文獻(xiàn)[8]考慮了節(jié)點(diǎn)剩余能量和位置信息。在簇的建立階段,這些方法都是將能量因子與閾值T(n)結(jié)合,選取剩余能量較多節(jié)點(diǎn)當(dāng)選為簇頭,但是其并沒(méi)有考慮簇頭的選取與節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù)有關(guān),只有讓剩余能量大的節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù)較小,即隨機(jī)數(shù)小于T(n)的概率增大,才能保證能量較小的節(jié)點(diǎn)不被選為簇頭,從而延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間。在穩(wěn)定階段,文獻(xiàn)[9]采用選擇能耗最小的簇頭轉(zhuǎn)發(fā)信息;文獻(xiàn)[10]中簇頭采用多跳方式轉(zhuǎn)發(fā)信息并推導(dǎo)出單跳與多跳的條件;文獻(xiàn)[11]中簇頭將融合后的信息發(fā)送給基站采用單跳和多跳相結(jié)合的方式。這些研究結(jié)果表明,在穩(wěn)定階段應(yīng)該采用單跳和多跳相結(jié)合的方法轉(zhuǎn)發(fā)信息,才能更多地節(jié)約網(wǎng)絡(luò)能耗。
為了延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間,筆者主要從2 個(gè)方面對(duì)LEACH 算法改進(jìn)。首先根據(jù)節(jié)點(diǎn)在本輪中消耗的總能量確定最佳簇頭個(gè)數(shù)范圍,簇頭將消息發(fā)送到基站可以采用單跳與多跳結(jié)合的方式。其次根據(jù)節(jié)點(diǎn)剩余能量對(duì)節(jié)點(diǎn)本身產(chǎn)生的隨機(jī)數(shù)進(jìn)行優(yōu)化,并結(jié)合節(jié)點(diǎn)與簇頭距離,使選取的簇頭更加合理。仿真實(shí)驗(yàn)可知,改進(jìn)后的算法不但可以延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間,而且使選取的簇頭分布較為合理。
文獻(xiàn)[1]利用了一個(gè)簡(jiǎn)單電臺(tái)模型,此模型包括2 個(gè)信道模型,分別為自由空間(d2)信道模型和多徑衰落(d4)信道模型,為了確保每輪的分簇期望個(gè)數(shù)k,通過(guò)計(jì)算通信能量模型,從而得到k 的最佳值為:
其中,d 為發(fā)射機(jī)與接收機(jī)之間的距離,假設(shè)有N 個(gè)節(jié)點(diǎn)均勻分布于M×M 的區(qū)域中,簇頭到基站之間的距離設(shè)為dtoBS,efs和emp分別為信號(hào)放大器的放大倍數(shù)。由于計(jì)算簇頭數(shù)kopt時(shí),LEACH 協(xié)議設(shè)節(jié)點(diǎn)具有完全累積數(shù)據(jù)的能力,并且每個(gè)節(jié)點(diǎn)直接將消息發(fā)送給簇頭或基站,即簇頭采用一跳方式將消息發(fā)送給基站[12]。同時(shí),計(jì)算一幀網(wǎng)絡(luò)總能耗時(shí),僅考慮節(jié)點(diǎn)在穩(wěn)定階段的能量消耗,并沒(méi)有考慮建立簇時(shí)所消耗的能量。本文繼續(xù)沿用該簡(jiǎn)單電臺(tái)硬件模型,考慮到節(jié)點(diǎn)數(shù)據(jù)融合能力,簇頭采用多跳的方式將消息發(fā)送給基站(目的是節(jié)約網(wǎng)絡(luò)能耗),從而計(jì)算出分簇的最佳個(gè)數(shù)。
網(wǎng)絡(luò)在一輪中所消耗的能量包括建立階段能耗及穩(wěn)定階段能耗。建立階段能耗包括簇頭建立簇所用的能量,穩(wěn)定階段能耗不僅用于數(shù)據(jù)傳送還用于數(shù)據(jù)融合[13]。由于簇頭的個(gè)數(shù)直接影響網(wǎng)絡(luò)能耗,簇頭數(shù)過(guò)多不但降低節(jié)點(diǎn)冗余率而且增加簇頭節(jié)點(diǎn)的能耗,簇頭數(shù)過(guò)少增加成員節(jié)點(diǎn)能耗,因此需要根據(jù)網(wǎng)絡(luò)在一輪中總能耗得到分簇的最佳數(shù)。
在LEACH 中,采用分簇算法是為了保證每輪的分簇期望個(gè)數(shù)K[14]。一旦節(jié)點(diǎn)選定為簇頭后,簇頭會(huì)立即向全網(wǎng)節(jié)點(diǎn)廣播自己為簇頭的消息,假設(shè)廣播的距離為d,為了保證簇頭廣播的消息能夠覆蓋范圍較廣,因此可以采用多徑衰落模型,那么,簇頭廣播一條長(zhǎng)度l 比特消息的耗能為:lEelec+lempd4,其中,Eelec表示電臺(tái)電子元器件耗能;未被選為簇頭的節(jié)點(diǎn)(成員節(jié)點(diǎn))根據(jù)收到廣播消息的信號(hào)強(qiáng)度選擇通信能量最低的簇頭作為自己本輪的簇頭[15]。簇頭將會(huì)收到成員節(jié)點(diǎn)的加入請(qǐng)求消息,則簇頭接收加人消息所消耗的平均能量為:lEelec(N/K-1),成員節(jié)點(diǎn)數(shù)為N/K-1 個(gè)。
在LEACH 協(xié)議中,簇頭是本地的控制中心,協(xié)調(diào)簇內(nèi)的數(shù)據(jù)傳輸,簇頭節(jié)點(diǎn)創(chuàng)建簇內(nèi)的TDMA 時(shí)隙表并發(fā)送給簇成員,簇頭到非簇頭的距離用dtoch表示,則此時(shí)簇頭消耗的能量為:lEelec+。所以,簇建立階段每個(gè)簇頭節(jié)點(diǎn)消耗的能量為:
在簇的建立階段,成員節(jié)點(diǎn)主要任務(wù)接收簇頭廣播自己為當(dāng)前簇頭的消息,并接收簇頭發(fā)送的TDMA時(shí)隙和發(fā)送該加入簇的請(qǐng)求消息。因此,簇建立階段每個(gè)成員節(jié)點(diǎn)消耗的能量為:
根據(jù)上述分析,簇建立階段的總能耗為:
穩(wěn)定階段主要是進(jìn)行數(shù)據(jù)的傳輸[16],簇內(nèi)成員節(jié)點(diǎn)和簇頭的距離較近,簇頭和基站的距離相對(duì)較遠(yuǎn),所以采用簇內(nèi)單跳和簇間多跳(利用中繼節(jié)點(diǎn))的數(shù)據(jù)傳輸策略,其中簇頭節(jié)點(diǎn)的耗能主要由3 部分構(gòu)成,分別為簇頭融合數(shù)據(jù)能耗、簇頭接收成員節(jié)點(diǎn)發(fā)送的消息能耗和融合后的消息發(fā)送給中繼節(jié)點(diǎn)的能耗[17]。
假設(shè)簇頭和基站之間距離較遠(yuǎn),簇頭節(jié)點(diǎn)采用多跳方式將消息轉(zhuǎn)發(fā)到基站[18]。簇頭首先將消息轉(zhuǎn)發(fā)給中繼節(jié)點(diǎn),再通過(guò)中繼節(jié)點(diǎn)將消息轉(zhuǎn)發(fā)給基站,設(shè)中繼節(jié)點(diǎn)數(shù)為n,那么簇頭需要經(jīng)過(guò)n +1 跳才能將消息傳遞基站。如果每個(gè)分群有ω 個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)數(shù)據(jù)融合率為m,且節(jié)點(diǎn)融合一個(gè)比特?cái)?shù)所消耗的能量為EDA,那么簇頭最多融合ω 個(gè)長(zhǎng)度為l 比特消息所消耗的能量為:
在穩(wěn)定階段,單個(gè)簇頭接收成員節(jié)點(diǎn)的耗能為:
當(dāng)簇頭采用多跳傳輸方式向基站發(fā)送消息時(shí),假設(shè)簇頭到中繼節(jié)點(diǎn)的距離為dhop,而中繼節(jié)點(diǎn)相對(duì)簇頭到基站的距離較短時(shí),采用自由空間模型發(fā)送消息[19]。簇頭將數(shù)據(jù)融合后發(fā)送給第一個(gè)中繼節(jié)點(diǎn)的耗能為:
根據(jù)以上分析,在數(shù)據(jù)傳輸階段某個(gè)簇頭節(jié)點(diǎn)的3 部分能量消耗為:
由于中繼節(jié)點(diǎn)數(shù)為n,那么簇頭需要n +1 跳才能將消息傳送給基站,且要求每個(gè)中繼節(jié)點(diǎn)能夠?qū)?shù)據(jù)完全融合。假設(shè)每跳距離相等都為dhop=γ,那么n個(gè)中繼節(jié)點(diǎn)給基站發(fā)送消息的能耗為:
在本階段成員節(jié)點(diǎn)將收集的消息按照TDMA 時(shí)隙發(fā)送給自己的簇頭[20]。成員節(jié)點(diǎn)與簇頭之間的距離較短,采用自由空間模型,則成員節(jié)點(diǎn)耗能為:
通過(guò)式(8)~式(10)的分析與推導(dǎo),可知穩(wěn)定階段的總耗能表示為:
根據(jù)文獻(xiàn)[1]中求解非簇首節(jié)點(diǎn)距離其簇頭的平方距離的期望值的方法,有:
其中,為了便于推導(dǎo),N 個(gè)節(jié)點(diǎn)均勻分布在M ×M 的正方形區(qū)域內(nèi),ω 取值為N/K,得到最差情況下穩(wěn)定階段的總能耗為:
在一輪運(yùn)行過(guò)程中,網(wǎng)絡(luò)中所有節(jié)點(diǎn)消耗的總能量為建立階段能耗E1與穩(wěn)定階段本幀的耗能E2之和,即:
根據(jù)式(14)可知,Enet是關(guān)于K 的函數(shù),那么可以按照導(dǎo)數(shù)的性質(zhì)得到網(wǎng)絡(luò)中分群個(gè)數(shù)的最佳期望值為:
其中,efs,Eelec,EDA,emp均是固定的參數(shù)值,所以最佳簇頭個(gè)數(shù)k 由網(wǎng)絡(luò)區(qū)域M、網(wǎng)絡(luò)中分布的傳感器節(jié)點(diǎn)總數(shù)N、簇頭節(jié)點(diǎn)建簇時(shí)發(fā)布廣播消息的距離d 以及采用多跳傳輸?shù)钠骄鶈翁嚯xγ 和中繼節(jié)點(diǎn)數(shù)n 共同決定。由于n≥1,且當(dāng)nγ2/2≥Eelec/efs時(shí),簇頭節(jié)點(diǎn)采用多跳方式,否則采用單跳方式,直接將消息發(fā)送到基站,這樣可以節(jié)約簇頭節(jié)點(diǎn)的能量消耗[14]。
在LEACH 算法的建立階段,簇頭的選取主要根據(jù)節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù)(在0 -1 之間)是否滿足閾值T(n),如果節(jié)點(diǎn)隨機(jī)數(shù)小于T(n),那么該節(jié)點(diǎn)成為本輪的簇頭,否則作為成員節(jié)點(diǎn)。閾值T(n)根據(jù)式(16)得:
其中,p 為簇頭節(jié)點(diǎn)與非簇頭節(jié)點(diǎn)的個(gè)數(shù)比;r 表示輪數(shù);G 是在附近1/p 輪中從未當(dāng)選為簇頭的節(jié)點(diǎn)集合。由于最佳簇頭范圍可以根據(jù)之前的推導(dǎo)確定,那么p 值就能夠根據(jù)所得到的k 值得到。從式(16)可知,閾值T(n)是關(guān)于輪數(shù)r 的函數(shù),且在一定區(qū)域內(nèi),T(n)具有單調(diào)遞增的特性,從而很難保證選取剩余能量較大的節(jié)點(diǎn)當(dāng)選為簇頭,當(dāng)剩余能量較少的節(jié)點(diǎn)被選為簇頭時(shí),該節(jié)點(diǎn)有可能過(guò)早死亡,影響網(wǎng)絡(luò)的生命周期。另外,LEACH 算法并沒(méi)有考慮選取簇頭分布是否均勻,如果簇頭分布過(guò)于集中將會(huì)更多地浪費(fèi)網(wǎng)絡(luò)資源。
針對(duì)以上問(wèn)題,根據(jù)相關(guān)文獻(xiàn)的研究及分析,本文結(jié)合節(jié)點(diǎn)剩余能量,重新設(shè)置隨機(jī)數(shù)α,使得:
其中,β 為節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù),當(dāng)節(jié)點(diǎn)能量各不相等時(shí),能量較多節(jié)點(diǎn)應(yīng)該比能量較少節(jié)點(diǎn)成為簇頭的概率大,可以確保大部分節(jié)點(diǎn)能夠在相同時(shí)間耗盡能量停止工作。為了達(dá)到該目的,設(shè)簇頭的概率ρ 為關(guān)于節(jié)點(diǎn)剩余能量等級(jí)的函數(shù),即ρ=,Ecurrent為節(jié)點(diǎn)剩余能量,E0為節(jié)點(diǎn)初始能量。λ 為調(diào)制因子,保證0 <α <1。
根據(jù)式(17)可知,當(dāng)節(jié)點(diǎn)剩余能量Ecurrent較大,節(jié)點(diǎn)當(dāng)選簇頭概率ρ 就較大,隨機(jī)數(shù)α 就較小,越容易滿足閾值T(n);相反,Ecurrent越小,當(dāng)選為簇頭的概率較小。隨機(jī)數(shù)的修改并沒(méi)有改變?cè)须S機(jī)數(shù)的均勻性和獨(dú)立性,同時(shí)提高了剩余能量較多節(jié)點(diǎn)當(dāng)選為簇頭的概率。與文獻(xiàn)[11]相比,式(17)產(chǎn)生的隨機(jī)數(shù)既考慮了簇首的最佳個(gè)數(shù)還考慮了節(jié)點(diǎn)的剩余能量,如果簇首的個(gè)數(shù)k 在最佳范圍內(nèi),那么可以更好地提高網(wǎng)絡(luò)性能和延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間。
通過(guò)以上分析,可以保證選取的簇頭為剩余能量較多的節(jié)點(diǎn),而且簇頭數(shù)在最佳范圍內(nèi),但是并沒(méi)有考慮簇頭節(jié)點(diǎn)在網(wǎng)絡(luò)中均勻分布的問(wèn)題。如果簇頭分布集中或者分布邊緣化,將會(huì)增加節(jié)點(diǎn)開(kāi)銷,縮短網(wǎng)絡(luò)生存時(shí)間。因此,在選取簇頭時(shí),采用以下方法使得簇頭分布較為均勻。
在選取第一輪簇頭時(shí),基站根據(jù)節(jié)點(diǎn)分布密度情況設(shè)置簇頭分布位置和數(shù)量,從而保證初始簇頭節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)中分布較為均勻,隨后的簇頭需要將上輪節(jié)點(diǎn)作為中心,以Rd為半徑的圓內(nèi)選取,Rd為:
其中,di為本簇內(nèi)第i 個(gè)節(jié)點(diǎn)到簇頭間的距離,μ 為簇內(nèi)節(jié)點(diǎn)數(shù)。當(dāng)滿足式(17)且di<Rd時(shí),該節(jié)點(diǎn)才能成為本輪簇頭,其他節(jié)點(diǎn)作為成員節(jié)點(diǎn)根據(jù)接收簇頭信號(hào)強(qiáng)度加入不同的簇。從而可知,選取的簇頭節(jié)點(diǎn)不但剩余能量較多,而且簇頭分布不會(huì)過(guò)于集中以及邊緣化。根據(jù)簇頭最佳范圍的推導(dǎo),可以保證每輪選取的簇頭數(shù)不會(huì)過(guò)多或過(guò)少,使得網(wǎng)絡(luò)性能提高。
網(wǎng)絡(luò)模型假設(shè)基站遠(yuǎn)離傳感器場(chǎng),且其能量充足,并不需要考慮能量消耗問(wèn)題。網(wǎng)絡(luò)初始化階段,基站將網(wǎng)絡(luò)的整體信息(包括第一輪簇頭的選取)和位置采用泛洪方式廣播;當(dāng)節(jié)點(diǎn)收到自己為簇頭的消息后,立即廣播消息讓其它節(jié)點(diǎn)知道自己為本輪的簇頭,并等待成員節(jié)點(diǎn)的加入;成員節(jié)點(diǎn)向簇頭發(fā)送一條Joint-REQ 請(qǐng)求消息,包括簇頭和該節(jié)點(diǎn)的ID,從而獲得Rd,簇頭將建立的TDMA 時(shí)隙表和Rd發(fā)送給簇內(nèi)節(jié)點(diǎn),完成第一輪簇的建立。當(dāng)?shù)谝惠喭瓿蓴?shù)據(jù)的傳輸后,則進(jìn)入下一輪簇頭的選取,采用如下步驟實(shí)現(xiàn):
由于在選取簇頭時(shí),式(16)和式(17)中已經(jīng)考慮最佳簇頭個(gè)數(shù),所以在此并未考慮有多個(gè)節(jié)點(diǎn)同時(shí)當(dāng)選為簇頭的可能。
本文使用MATLAB 軟件進(jìn)行仿真,設(shè)網(wǎng)絡(luò)中含有100 個(gè)節(jié)點(diǎn),隨機(jī)分布在100 ×100 的區(qū)域內(nèi),基站位于(50,175),仿真參數(shù)為:E0=0.5 J,Eelec=50 nJ/bit,EDA=5 nJ/bit,efs=10 pJ/bit/m2,emp=0.0013 pJ/bit/m2,數(shù)據(jù)包的大小為500 bit;結(jié)合式(15),如果簇頭節(jié)點(diǎn)到基站的距離為75 ≤dtoBS≤185 范圍,可得估算每輪簇頭最佳個(gè)數(shù)范圍為3 ≤k ≤6。從圖1 知,當(dāng)簇頭數(shù)目k 值取4 和5 時(shí),網(wǎng)絡(luò)消耗的能量明顯較小,即當(dāng)選取的簇頭數(shù)在最佳簇頭個(gè)數(shù)范圍內(nèi)時(shí),可以相對(duì)減少網(wǎng)絡(luò)能耗,延長(zhǎng)網(wǎng)絡(luò)生命周期。在第一輪中確定網(wǎng)絡(luò)簇頭的初始位置如圖2 所示,圖中選取了4 個(gè)簇頭節(jié)點(diǎn),簇頭數(shù)滿足最佳群首個(gè)數(shù),而且其位置分布較為均勻,隨后根據(jù)輪數(shù)r 的變化以及節(jié)點(diǎn)按照自身產(chǎn)生的隨機(jī)數(shù)α 是否滿足閾值T(n)和該節(jié)點(diǎn)與上輪簇頭間的距離是否小于Rd,判斷該節(jié)點(diǎn)是否當(dāng)選為簇頭。
圖1 不同簇頭數(shù)目下的網(wǎng)絡(luò)能耗
圖2 起始簇頭節(jié)點(diǎn)的分布
圖3 主要是對(duì)LEACH、LEACH-I 和LEACH-II 進(jìn)行比較與分析,其中,LEACH-I 代表僅采用式(17)來(lái)修改節(jié)點(diǎn)隨機(jī)數(shù)選取剩余能量更多的節(jié)點(diǎn)作為簇頭,穩(wěn)定階段與LEACH 算法相同;LEACH-II 代表在LEACH-I 的基礎(chǔ)上采用式(17)修改節(jié)點(diǎn)隨機(jī)數(shù),同時(shí)選取的簇頭還要滿足di<Rd,且選取的簇頭節(jié)點(diǎn)數(shù)保證在最佳范圍內(nèi),以及數(shù)據(jù)傳送階段節(jié)點(diǎn)采用單跳與多跳相結(jié)合的方式發(fā)送數(shù)據(jù)給基站。從圖中可以看出,LEACH 的第一個(gè)死亡節(jié)點(diǎn)出現(xiàn)在723 輪,而LEACH-I 和LEACH-II 的第一個(gè)死亡節(jié)點(diǎn)分別出現(xiàn)在第851 輪和第1169 輪,從而可知,當(dāng)簇頭數(shù)選取在最佳范圍內(nèi),改進(jìn)后的LEACH-II 提高了網(wǎng)絡(luò)的壽命,延長(zhǎng)網(wǎng)絡(luò)生命周期。
圖3 網(wǎng)絡(luò)輪數(shù)與剩余節(jié)點(diǎn)數(shù)的關(guān)系
本文首先分析了LEACH 協(xié)議的基本工作原理和性能,由于網(wǎng)絡(luò)能量的消耗受簇頭節(jié)點(diǎn)數(shù)目的影響,通過(guò)對(duì)建立階段和穩(wěn)定階段各節(jié)點(diǎn)的能耗進(jìn)行分析,并結(jié)合簇頭采用多跳方式將消息轉(zhuǎn)發(fā)給基站節(jié)約能耗的方法,推導(dǎo)出最佳簇頭個(gè)數(shù)的范圍。其次,在簇建立階段,不但考慮了節(jié)點(diǎn)的剩余能量,而且考慮了成員節(jié)點(diǎn)與簇頭節(jié)點(diǎn)的距離,使選取的簇頭避免邊緣化分布和能量較少。通過(guò)仿真可知,當(dāng)網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)數(shù)分布在最佳范圍內(nèi),改進(jìn)的LEACH-II 算法的網(wǎng)絡(luò)總能量消耗相對(duì)較少,延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間。
[1]陳林星.無(wú)線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[2]蔣陽(yáng),孫柳林,敖文鈞,等.WSN 中LEACH 路由協(xié)議簇頭數(shù)優(yōu)化研究[J].計(jì)算機(jī)應(yīng)用研究,2010,27(11):4251-4253.
[3]Weber S,Andrews J,Jindal N.An overview of the transmission capacity of wireless networks[J].IEEE Transactions on Communications,2010,58(12):3593-3604.
[4]Handy M J,Haase M,Timmermann D.Low energy adaptive clustering hierarchy with deterministic cluster-head selection[C]// Proceedings of the 4th IEEE Conference on Mobile and Wireless Communications Network.2002:368-372.
[5]單曉娜.無(wú)線傳感器網(wǎng)絡(luò)LEACH 算法的研究與改進(jìn)[D].南昌:南昌大學(xué),2009.
[6]王郭燕.基于分簇的無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議研究與改進(jìn)[D].成都:電子科技大學(xué),2012.
[7]單曉娜,李力.LEACH 路由協(xié)議技術(shù)的分析及改進(jìn)[J].計(jì)算機(jī)與現(xiàn)代化,2009(9):81-83.
[8]李玲,王林,張飛鴿,等.無(wú)線傳感器網(wǎng)絡(luò)低功耗自適應(yīng)分簇協(xié)議[J].計(jì)算機(jī)應(yīng)用,2012,32(10):2700-2703.
[9]萬(wàn)青苗,張浩平,王強(qiáng),等.無(wú)線傳感器網(wǎng)絡(luò)LEACH 協(xié)議的改進(jìn)研究[J].電腦知識(shí)與技術(shù),2012,32(8):7679-7701.
[10]唐翠微.能量均衡的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)路由算法[J].計(jì)算機(jī)與現(xiàn)代化,2015(1):102-121.
[11]李建坡,姜雪,朱緒寧.無(wú)線傳感器網(wǎng)絡(luò)能耗均衡LEACH 路由算法[J].自動(dòng)化儀表,2014,35(1):51-54.
[12]張飛鴿.無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議的研究[D].西安:西安理工大學(xué),2012.
[13]孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[14]劉玉華,趙永峰,徐凱華,等.無(wú)線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(17):117-120.
[15]Yu Jiguo,Liu Wenjun,Song Jingjing,et al.An energy-efficient multi-hop routing protocol for wireless sensor networks[C]// AICCSA 2008.IEEE/ACS International Conference on Computer System and Applications.2008:291-298.
[16]莊琴清.無(wú)線傳感器網(wǎng)絡(luò)分層路由協(xié)議研究[D].南京:南京郵電大學(xué),2013.
[17]陳樹(shù),徐圓.基于分簇和覆蓋優(yōu)化的改進(jìn)LEACH 協(xié)議[J].計(jì)算機(jī)工程,2014,40(11):97-101.
[18]Xu Jia,Jin Ning,Lou Xizhong,et al.Improvement of LEACH protocol for WSN[C]// Proceedings of 2012 International Conference on Fuzzy Systems and Knowledge Discovery.2012:2174-2177.
[19]Zhao Fuzhe,Xu You,Li Ru,et al.Improved LEACH communication protocol for WSN[C]// Proceedings of 2012 International Conference on Control Engineering and Communication Technology.2012:700-702.
[20]王返.基于LEACH 的無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議改進(jìn)研究[D].廣州:華南理工大學(xué),2014.