李洪兵,劉子路,陳 強(qiáng),2,劉 莎,劉小龍,梁裕巧,楊 震,陳立萬(wàn)
(1.三峽庫(kù)區(qū)地質(zhì)環(huán)境監(jiān)測(cè)與災(zāi)害預(yù)警協(xié)同創(chuàng)新分中心,重慶 404120;2.智能信息處理與控制重慶高校市級(jí)重點(diǎn)實(shí)驗(yàn)室,重慶 404120; 3.物聯(lián)網(wǎng)與智能控制技術(shù)重慶市工程研究中心,重慶 404120)
隨著泛在信息社會(huì)的到來(lái),無(wú)線傳感器網(wǎng)絡(luò)[1](Wireless Sensor Network,WSN)已成為目前研究的熱點(diǎn)之一,其通常由大量的低能耗低成本的微型傳感器節(jié)點(diǎn)構(gòu)成,通過(guò)這些傳感器組成無(wú)線網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)各種環(huán)境的監(jiān)控。作為泛在信息社會(huì)的基礎(chǔ),無(wú)線傳感器網(wǎng)絡(luò)被應(yīng)用于軍事領(lǐng)域、醫(yī)療領(lǐng)域、安防領(lǐng)域、智能家居[2]領(lǐng)域等。然而,其有限的能量資源和惡劣的環(huán)境為無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用帶來(lái)了巨大的挑戰(zhàn)[3]。其中,網(wǎng)絡(luò)的生存周期是無(wú)線傳感器網(wǎng)絡(luò)的主要問(wèn)題,嚴(yán)重影響著網(wǎng)絡(luò)的服務(wù)質(zhì)量,因此,高效的路由協(xié)議[4]成為目前重要的研究方向。
無(wú)線傳感器網(wǎng)絡(luò)的路由協(xié)議根據(jù)拓?fù)浣Y(jié)構(gòu)可以分為平面路由協(xié)議[5]和層次路由協(xié)議[6]。平面路由協(xié)議中節(jié)點(diǎn)間沒(méi)有等級(jí)劃分且作用相同,然而網(wǎng)絡(luò)中節(jié)點(diǎn)間距離比較小使得同一范圍內(nèi)節(jié)點(diǎn)的采集數(shù)據(jù)出現(xiàn)了大量重疊,在信息傳輸時(shí)浪費(fèi)了大量能量[7],同時(shí)其網(wǎng)絡(luò)拓補(bǔ)靈活性也很差,隨著無(wú)線傳感器網(wǎng)絡(luò)規(guī)模的擴(kuò)大,這些問(wèn)題更加嚴(yán)重,導(dǎo)致平面路由協(xié)議不再適合大規(guī)模網(wǎng)絡(luò),層次路由協(xié)議[8]開(kāi)始占據(jù)主導(dǎo)地位。層次路由協(xié)議是將網(wǎng)絡(luò)分為不同層次的簇,由簇首管理簇群,同時(shí)可以采用輪循的方式優(yōu)化簇的形成。其中LEACH[8-11](Low Energy Adaptive Clustering Hierarchy)協(xié)議是第一個(gè)層次性路由協(xié)議,通過(guò)根據(jù)概率選取簇首,并依據(jù)簇首建立簇群的方式將整個(gè)網(wǎng)絡(luò)分成了多個(gè)子網(wǎng)絡(luò)。
本文提出一種基于分級(jí)鄰近節(jié)點(diǎn)的分簇路由(Clustering Routing Based on Hierarchical Neighbor Nodes,CRBHNN)算法。該算法考慮鄰近節(jié)點(diǎn)狀態(tài)對(duì)初步選取的簇首進(jìn)行再優(yōu)化,節(jié)點(diǎn)間通信采用中繼的方式,選取中繼節(jié)點(diǎn)對(duì)數(shù)據(jù)傳輸路徑進(jìn)行優(yōu)化,以避免遠(yuǎn)處孤立節(jié)點(diǎn)能耗過(guò)大的問(wèn)題,同時(shí)通過(guò)中繼節(jié)點(diǎn)的選取均衡網(wǎng)絡(luò)能耗。
在所有的分簇路由協(xié)議中,LEACH協(xié)議是第一個(gè)層次型路由協(xié)議,其輪循成簇的思想被諸多層次型路由協(xié)議所引用。
PROPOSED[12]協(xié)議是一種基于粒子群算法聚類的路由協(xié)議,該協(xié)議通過(guò)粒子群算法先對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行聚類分簇,再對(duì)已形成的簇群進(jìn)行簇首選取,仿真結(jié)果表明該協(xié)議提高了網(wǎng)絡(luò)的能量利用率,延長(zhǎng)了網(wǎng)絡(luò)壽命。然而先成簇后選取簇首的操作使得簇首成為其鄰近節(jié)點(diǎn)的最優(yōu)簇首,但未必是其他簇群成員節(jié)點(diǎn)的最優(yōu)簇首,本文通過(guò)先選取簇首再成簇的方式,優(yōu)化簇群的形成來(lái)提高簇首的優(yōu)越性。NR-LEACH[13]協(xié)議是一種基于節(jié)點(diǎn)排序的改進(jìn)LEACH協(xié)議,該協(xié)議通過(guò)節(jié)點(diǎn)間路徑開(kāi)銷和節(jié)點(diǎn)間鏈路數(shù)來(lái)確定簇首,克服了簇首依概率選取的缺點(diǎn),仿真結(jié)果表明該協(xié)議延長(zhǎng)了網(wǎng)絡(luò)壽命。然而,該協(xié)議過(guò)于倚重特殊節(jié)點(diǎn)會(huì)導(dǎo)致網(wǎng)絡(luò)能耗均衡上的劣勢(shì),本文通過(guò)對(duì)簇首進(jìn)行再選取的方式來(lái)避免簇首選取的完全隨機(jī)性,在提高網(wǎng)絡(luò)壽命的同時(shí)有效地均衡了網(wǎng)絡(luò)能耗。SEPFL[14]協(xié)議是一種基于模糊邏輯控制的分級(jí)路由協(xié)議,通過(guò)對(duì)節(jié)點(diǎn)到基站的位置、節(jié)點(diǎn)密度以及節(jié)點(diǎn)能量這3個(gè)變量進(jìn)行模糊邏輯控制,提高了網(wǎng)絡(luò)壽命和吞吐量,然而因?yàn)樵撍惴ㄊ褂昧四:刂茖?dǎo)致感知節(jié)點(diǎn)計(jì)算量增大,本文通過(guò)對(duì)這些變量進(jìn)行分級(jí)排序來(lái)進(jìn)行控制,有效地減低了感知節(jié)點(diǎn)的計(jì)算量。
OCRP[15]協(xié)議是一種基于最優(yōu)分簇的能量異構(gòu)路由協(xié)議,該協(xié)議通過(guò)最優(yōu)簇首數(shù)K將待測(cè)區(qū)域劃分為K個(gè)固定分區(qū),改進(jìn)簇頭選舉機(jī)制,減少了網(wǎng)絡(luò)能耗,提高了網(wǎng)絡(luò)壽命,然而該算法的固定分區(qū)導(dǎo)致了整個(gè)網(wǎng)絡(luò)成簇的固定,一定程度上限制了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,本文通過(guò)簇首的輪循選取對(duì)簇群進(jìn)行調(diào)整,使簇群的形成更加多樣和靈活,有效地提高了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的靈活性。ABC[16]協(xié)議是一種基于蜂群算法的能量?jī)?yōu)化路由協(xié)議,該協(xié)議通過(guò)蜂群算法計(jì)算出傳感器網(wǎng)絡(luò)中能量最優(yōu)的簇首節(jié)點(diǎn)組合,同時(shí)簇首節(jié)點(diǎn)輪流選擇最近的簇內(nèi)節(jié)點(diǎn)構(gòu)建路由,仿真結(jié)果表明該協(xié)議具有能量消耗速度慢、能量均衡等優(yōu)點(diǎn),有效地延長(zhǎng)了無(wú)線傳感器網(wǎng)絡(luò)壽命,然而該算法需要整合整個(gè)網(wǎng)絡(luò)的信息并應(yīng)用蜂群算法計(jì)算,使得該網(wǎng)絡(luò)需要極大的計(jì)算能力,本文通過(guò)依據(jù)概率選取簇首,并使每個(gè)節(jié)點(diǎn)可以借助鄰近節(jié)點(diǎn)信息進(jìn)行分布式計(jì)算的方式,有效地降低了整個(gè)網(wǎng)絡(luò)的計(jì)算負(fù)載。
場(chǎng)景部署模型[17-18]是由一個(gè)基站和部署在一片區(qū)域內(nèi)的多個(gè)傳感器節(jié)點(diǎn)構(gòu)成,如圖1所示,傳感器感知節(jié)點(diǎn)從監(jiān)測(cè)區(qū)域內(nèi)收集數(shù)據(jù),然后將數(shù)據(jù)發(fā)送給基站。其中節(jié)點(diǎn)的位置是隨機(jī)固定的,并且每個(gè)傳感器節(jié)點(diǎn)都是相同的,所有的傳感器節(jié)點(diǎn)具有相同的初始能量,當(dāng)初始能量耗盡后傳感器節(jié)點(diǎn)死亡,基站的能量是無(wú)限的,傳感器節(jié)點(diǎn)可以依據(jù)傳輸距離調(diào)整傳輸功率。
圖1 部署模型
本文使用一種簡(jiǎn)單的無(wú)線電模型[19]作為能耗模型,如圖2所示,在發(fā)射數(shù)據(jù)時(shí),節(jié)點(diǎn)使用發(fā)射電路發(fā)射數(shù)據(jù),同時(shí)使用放大電路對(duì)信號(hào)進(jìn)行功放;在接收數(shù)據(jù)時(shí),節(jié)點(diǎn)使用接收電路接收數(shù)據(jù)。
圖2 能耗模型
傳輸[20]d距離的k比特?cái)?shù)據(jù)的能耗ETx(k)為:
(1)
門限距離d0為:
(2)
接收k比特?cái)?shù)據(jù)的能耗ERx(k)為:
ERx(k)=kEelec
(3)
融合k比特?cái)?shù)據(jù)的能耗Ef(k)為:
Ef(k)=kEda
(4)
因此,節(jié)點(diǎn)發(fā)射控制報(bào)文的能耗ETx_CM為:
(5)
節(jié)點(diǎn)接收控制報(bào)文的能耗ERx_CM為:
ERx_CM=CMEelec
(6)
簇首節(jié)點(diǎn)接收本簇內(nèi)n個(gè)簇成員節(jié)點(diǎn)(不經(jīng)過(guò)中繼,直接向簇首通信的成員節(jié)點(diǎn))的數(shù)據(jù)并融合的能耗ERx_f_CH(k,n)為:
ERx_f_CH(k,n)=nkEelec+(n+1)kEda
(7)
簇首向上一級(jí)節(jié)點(diǎn)發(fā)射數(shù)據(jù)的能耗ETx_CH(k)為:
(8)
成員節(jié)點(diǎn)向上一級(jí)節(jié)點(diǎn)發(fā)射數(shù)據(jù)的能耗ETx_non_CH(k)為:
(9)
中繼節(jié)點(diǎn)接收n個(gè)下級(jí)成員節(jié)點(diǎn)的數(shù)據(jù)并融合的能耗ERx_f_RE(k,n)為:
ERx_f_RE(k,n)=nkEelec+(n+1)kEda
(10)
其中,Eelec表示運(yùn)行發(fā)射機(jī)和接收機(jī)(ETx和ERx)所消耗的能量,εfs和εmp分別為發(fā)射機(jī)放大器的自由空間模型和多徑衰減模型功率能耗。數(shù)據(jù)發(fā)送低于d0距離時(shí)使用自由空間模型,否則使用多徑模型,Eda為融合1 bit數(shù)據(jù)的能耗。
為了分析和驗(yàn)證本文算法的優(yōu)越性、有效性和合理性,從簇首分布密度、網(wǎng)絡(luò)能量利用率、節(jié)點(diǎn)剩余能量等因素對(duì)算法進(jìn)行評(píng)價(jià)。
以簇首間距來(lái)映射,間距越大密度越小,n個(gè)簇首的簇首間距dCH(n)為:
(11)
第n輪后i節(jié)點(diǎn)剩余能量Ei_n為:
Ei_n=Ei_n-1-Ei_ues
(12)
其中,Ei_ues為節(jié)點(diǎn)i在本輪中消耗的能量。
以網(wǎng)絡(luò)剩余總能量映射,相同周期內(nèi)網(wǎng)絡(luò)剩余總能量越大,利用率越高,網(wǎng)絡(luò)剩余總能量Etotal為:
Etotal=∑Ei_n
(13)
本文仿真分析所用的模型參數(shù)如表1所示。
表1 模型參數(shù)
依據(jù)n、M、εfs和εmp可得簇首最優(yōu)個(gè)數(shù)kopt[21-22]為:
(14)
其中,dtoBS為節(jié)點(diǎn)到基站的距離。
由n和kopt得到簇首選簇概率p為:
(15)
3.1.1 LEACH分簇算法
經(jīng)典LEACH協(xié)議是通過(guò)閾值T(n)隨機(jī)選取網(wǎng)絡(luò)簇首,并通過(guò)已選取的簇首形成簇群,再通過(guò)簇首調(diào)度自身簇群成員節(jié)點(diǎn),最終將數(shù)據(jù)傳輸?shù)交?這樣網(wǎng)絡(luò)工作一輪。LEACH協(xié)議通過(guò)這樣不斷輪循來(lái)均衡和節(jié)約網(wǎng)絡(luò)能耗,延長(zhǎng)網(wǎng)絡(luò)壽命。
閾值T(n)為:
(16)
其中,p為簇首在網(wǎng)絡(luò)總節(jié)點(diǎn)中存在的數(shù)量百分比,r為當(dāng)前進(jìn)行的輪數(shù),G為上一個(gè)1/p輪中沒(méi)有成為過(guò)簇首的感知節(jié)點(diǎn)集合。
3.1.2 分簇優(yōu)化思路
通過(guò)最優(yōu)簇首個(gè)數(shù)kopt可以知道理想的簇群數(shù)量,假設(shè)感知區(qū)域是M×M,則理想中的最優(yōu)簇群面積SCH為:
SCH=M2/kopt
(17)
進(jìn)而得到理想中每個(gè)簇首節(jié)點(diǎn)所管理的簇群半徑R為:
(18)
本文算法中將距離某個(gè)簇首節(jié)點(diǎn)R0(設(shè)R0=3R/4)距離的普通節(jié)點(diǎn)視為一級(jí)簇群成員節(jié)點(diǎn),如圖3所示。其中,A、B、C為3個(gè)簇首節(jié)點(diǎn),理論上其最優(yōu)簇群范圍分別對(duì)應(yīng)圖3中的3個(gè)虛線線圈。可以看到,簇首A、B的一級(jí)簇群成員節(jié)點(diǎn)范圍(實(shí)線圈)出現(xiàn)了重疊區(qū)(AB區(qū),2個(gè)實(shí)線圈的重疊部分)。通過(guò)避免這種重疊區(qū)的出現(xiàn)來(lái)避免簇首選取過(guò)密造成的簇群不均勻,進(jìn)而提高簇首節(jié)點(diǎn)的工作效率。
圖3 簇首和理想簇群分布
3.1.3 分簇算法描述
算法1分簇算法
輸入n個(gè)感知節(jié)點(diǎn)隨機(jī)部署在M×M的感知區(qū)域上,基站位于感知區(qū)域的中心
輸出簇首分布位置和簇群成員
步驟1在每輪開(kāi)始時(shí),采取和LEACH協(xié)議相同的方法確定候選簇首,其中簇首概率為2p(避免候選簇首選取過(guò)少)。
步驟2候選簇首節(jié)點(diǎn)與鄰近的候選簇首節(jié)點(diǎn)通信,如果2個(gè)鄰近簇首節(jié)點(diǎn)距離小于3R/2,則表示不同簇內(nèi)的一級(jí)成員節(jié)點(diǎn)出現(xiàn)重合,將其中一個(gè)候選簇首節(jié)點(diǎn)定為一級(jí)簇首節(jié)點(diǎn),另一個(gè)定為二級(jí)簇首節(jié)點(diǎn),確定一級(jí)簇首的簇成員范圍和二級(jí)簇首的簇成員范圍,其中一級(jí)成員確定有更高的優(yōu)先級(jí),即如果一個(gè)普通節(jié)點(diǎn)是一級(jí)簇首的成員同時(shí)也是一個(gè)二級(jí)簇首的成員,則視其為一級(jí)簇首的成員。
步驟3如果存在二級(jí)簇首的成員節(jié)點(diǎn),則這些二級(jí)簇首的成員節(jié)點(diǎn)進(jìn)行第一步操作,即再次進(jìn)行候選簇首選取,新選取的候選簇首節(jié)點(diǎn)和已確定的一級(jí)候選簇首進(jìn)行鄰近簇首間通信,根據(jù)步驟2的規(guī)則對(duì)新的候選簇首節(jié)點(diǎn)進(jìn)行一級(jí)簇首節(jié)點(diǎn)和二級(jí)簇首節(jié)點(diǎn)的分類,同時(shí)確定相應(yīng)的成員節(jié)點(diǎn)范圍。重復(fù)步驟3直到不存在二級(jí)簇首的成員節(jié)點(diǎn)或無(wú)法選出新的候選簇首節(jié)點(diǎn)。
步驟4確定一級(jí)簇首為優(yōu)化后的最終簇首,進(jìn)行成簇操作。
步驟5輪循前4步操作,實(shí)現(xiàn)簇首和簇群的不斷更新。
3.1.4 分簇優(yōu)化仿真分析
為分析和驗(yàn)證分簇優(yōu)化的合理性和有效性,下面從簇首的分布位置、簇首分布密度、網(wǎng)絡(luò)剩余總能量分析其合理性,從網(wǎng)絡(luò)壽命驗(yàn)證其有效性。
圖4為CRBHNN算法30輪時(shí)的簇首分布示意圖,圖4(a)為依據(jù)CRBHNN算法的初次候選簇首分布(簇首概率為2p),圖4(b)為依據(jù)CRBHNN算法優(yōu)化完成后的簇首分布,圖5為L(zhǎng)EACH算法在30輪時(shí)的簇首分布(簇首概率為p)。由圖4(b)與圖5的對(duì)比可知,LEACH算法因?yàn)榇厥资峭耆S機(jī)選擇的,所以造成有些簇首間相互距離過(guò)近,而CRBHNN算法將簇首的成員節(jié)點(diǎn)進(jìn)行了分級(jí),對(duì)某些密集的簇首進(jìn)行再選舉,使得新算法得到的簇首分布更加均勻。圖6為簇首間距隨周期的變化,簇首間距映射簇首密度的變化。從圖6可以看出,實(shí)線大部分分布于虛線上方,表明CRBHNN算法生成的簇首密度明顯小于LEACH算法,驗(yàn)證了圖4、圖5的分析結(jié)果,證實(shí)了CRBHNN算法生成的簇首分布更加均勻;同時(shí)圖6中周期的最后不再出現(xiàn)實(shí)線線條并不是CRBHNN算法沒(méi)有產(chǎn)生簇首,可能是只產(chǎn)生了一個(gè)簇首,這主要是因?yàn)榇罅抗?jié)點(diǎn)死亡,存活節(jié)點(diǎn)過(guò)少,使得簇首出現(xiàn)的概率大幅下降。
圖4 CRBHNN算法在30輪時(shí)的簇首分布
圖5 LEACH算法在30輪時(shí)的簇首分布
圖6 簇首間距隨周期的變化
圖7為網(wǎng)絡(luò)剩余總能量隨周期的變化,網(wǎng)絡(luò)剩余總能量映射網(wǎng)絡(luò)能量利用率。由圖7可知,實(shí)線在初始時(shí)位于虛線的上方并保持較長(zhǎng)的周期,表明CRBHNN算法在相同的周期內(nèi)消耗的能量更少,證實(shí)了CRBHNN算法的網(wǎng)絡(luò)能量利用率比LEACH算法更高,說(shuō)明CRBHNN的成簇更加合理,簇內(nèi)成員通信的能耗更少;同時(shí)周期的最后實(shí)線與虛線出現(xiàn)相交,一部分實(shí)線處于虛線的下方,這是因?yàn)楣?jié)點(diǎn)大量死亡后,節(jié)點(diǎn)成為簇首的概率大幅下降,使得一部分節(jié)點(diǎn)直接向基站通信,LEACH算法中這些節(jié)點(diǎn)集中在基站附近,RBHNN算法則分布比較均勻,表明了RBHNN算法選取的簇首更加合理,網(wǎng)絡(luò)能量更加均衡。
圖7 網(wǎng)絡(luò)剩余總能量隨周期的變化
圖8為節(jié)點(diǎn)生存周期。從圖8可以看出,實(shí)線在初始時(shí)位于虛線的上方并保持了很長(zhǎng)的周期,由此可知,在CRBHNN算法中第一個(gè)節(jié)點(diǎn)(First Node,FND)死亡和半數(shù)節(jié)點(diǎn) (Half of all Node,HND) 死亡的出現(xiàn)比在LEACH中更晚,這驗(yàn)證了算法優(yōu)化的有效性,證明CRBHNN算法的簇首選取優(yōu)于LEACH算法;同時(shí)在周期的最后實(shí)線與虛線出現(xiàn)相交,實(shí)線出現(xiàn)在了虛線的下方,主要是因?yàn)楣?jié)點(diǎn)存活過(guò)少,并且LEACH算法中存活節(jié)點(diǎn)大部分都分布在基站附近,進(jìn)一步證明了RBHNN算法選取的簇首更加均勻,基站附近的節(jié)點(diǎn)選為簇首的概率大于LEACH算法。該算法優(yōu)化的局限性是遠(yuǎn)處的節(jié)點(diǎn)向簇首或者基站通信時(shí)會(huì)造成能耗的不必要浪費(fèi)。
圖8 分簇算法節(jié)點(diǎn)生存周期
3.2.1 LEACH路由優(yōu)化方法
在經(jīng)典的LEACH算法中,簇首節(jié)點(diǎn)與基站之間和成員節(jié)點(diǎn)與簇首之間是直接通信的,不存在中繼節(jié)點(diǎn)。
本文算法通過(guò)將鄰近節(jié)點(diǎn)進(jìn)行分級(jí)來(lái)確定節(jié)點(diǎn)的中繼節(jié)點(diǎn)。將距離某個(gè)節(jié)點(diǎn)小于d的節(jié)點(diǎn)視為該節(jié)點(diǎn)的鄰近節(jié)點(diǎn),將節(jié)點(diǎn)剩余能量劃分為6個(gè)等級(jí),大于E1(E1=0.8×E0,E0為節(jié)點(diǎn)初始能量)的為一級(jí),小于E1大于E2(E2=0.6×E0)的為二級(jí),小于E2大于E3(E3=0.4×E0)的為三級(jí),小于E3大于E4(E4=0.2×E0)的為四級(jí),小于E4大于E5(E5=0.1×E0)的為五級(jí),小于E5的為六級(jí)。同時(shí)將節(jié)點(diǎn)i的鄰近節(jié)點(diǎn)中所有Ei_j(Ei_j為節(jié)點(diǎn)i向節(jié)點(diǎn)j通信的能耗)與Ej_BS(Ej_BS為節(jié)點(diǎn)j向基站通信的能耗)的和小于Ei_BS(Ei_BS為節(jié)點(diǎn)i向基站通信的能耗)的節(jié)點(diǎn)j視為節(jié)點(diǎn)i的前向節(jié)點(diǎn),否則視為后向節(jié)點(diǎn)。
3.2.2 路由算法描述
算法2路由算法
輸入n個(gè)感知節(jié)點(diǎn)隨機(jī)部署在M×M的感知區(qū)域上,基站位于感知區(qū)域的中心
輸出每個(gè)節(jié)點(diǎn)的中繼節(jié)點(diǎn)
步驟1節(jié)點(diǎn)進(jìn)行鄰近節(jié)點(diǎn)廣播并接收鄰近節(jié)點(diǎn)(通過(guò)信號(hào)強(qiáng)度確定距離)的廣播信息。
步驟2根據(jù)鄰近節(jié)點(diǎn)信息確定前向節(jié)點(diǎn)和后向節(jié)點(diǎn),同時(shí)對(duì)節(jié)點(diǎn)剩余能量進(jìn)行分級(jí),建立包含前后向節(jié)點(diǎn)標(biāo)識(shí)、能量等級(jí)、節(jié)點(diǎn)間距離的鄰近節(jié)點(diǎn)信息表。
步驟3在鄰近節(jié)點(diǎn)中依據(jù)一定的規(guī)則確定自身的中繼節(jié)點(diǎn)或確定自身直接向基站通信。最小能級(jí)節(jié)點(diǎn)擁有一級(jí)優(yōu)先權(quán),前繼節(jié)點(diǎn)擁有二級(jí)優(yōu)先權(quán),自身?yè)碛腥?jí)優(yōu)先權(quán),后繼節(jié)點(diǎn)擁有四級(jí)優(yōu)先權(quán),節(jié)點(diǎn)距離(中繼節(jié)點(diǎn)離自身的距離)為五級(jí)優(yōu)先權(quán),其中距離越短優(yōu)選級(jí)越高。以此規(guī)則確定中繼節(jié)點(diǎn),若最終確定為自身則直接向基站通信,否則向中繼節(jié)點(diǎn)通信。
步驟4輪循前3步操作,實(shí)現(xiàn)中繼節(jié)點(diǎn)的不斷更新。
3.2.3 路由優(yōu)化仿真分析
為分析和驗(yàn)證路由優(yōu)化的合理性和有效性,下文從路由路徑、網(wǎng)絡(luò)剩余能量分析其合理性,從網(wǎng)絡(luò)壽命驗(yàn)證其有效性。
圖9和圖10分別為CRBHNN和LEACH算法的路由路徑。從圖9和圖10可以看出,CRBHNN算法中遠(yuǎn)處的節(jié)點(diǎn)都是通過(guò)多個(gè)中繼節(jié)點(diǎn)向基站進(jìn)行通信,而LEACH算法中簇群成員節(jié)點(diǎn)是經(jīng)過(guò)簇首向基站通信,簇首節(jié)點(diǎn)是直接向基站通信,因此LEACH算法中遠(yuǎn)處的節(jié)點(diǎn)能耗更大;同時(shí)CRBHNN算法中數(shù)據(jù)在眾多中繼節(jié)點(diǎn)處進(jìn)行數(shù)據(jù)融合,進(jìn)一步提高了能量利用效率。
圖9 CRBHNN算法路由路徑
圖10 LEACH算法路由路徑
圖11為網(wǎng)絡(luò)剩余總能量隨周期的變化。從圖11可以看出,實(shí)線在初始時(shí)位于虛線的上方并保持了較長(zhǎng)的周期,由此可知,CRBHNN算法的能量利用率比LEACH算法更高,進(jìn)一步證實(shí)了圖9和圖10的分析結(jié)果,同時(shí)圖中實(shí)線與虛線發(fā)生相交后,虛線處在了實(shí)線上方,這是因?yàn)楣?jié)點(diǎn)大量死亡后LEACH算法中留下的節(jié)點(diǎn)大部分位于基站附近,進(jìn)一步證實(shí)了RBHNN算法能量均衡性優(yōu)于LEACH算法。
圖11 路由算法中網(wǎng)絡(luò)剩余總能量隨周期的變化
圖12為第一個(gè)節(jié)點(diǎn)死亡時(shí)的節(jié)點(diǎn)剩余能量。從圖12可以看出,虛線大部分位于實(shí)線上方并且虛線起伏明顯大于實(shí)線,由此可知,CRBHNN算法的能量均衡性明顯優(yōu)于LEACH算法,這是由于CRBHNN算法在選取中繼節(jié)點(diǎn)時(shí)對(duì)節(jié)點(diǎn)剩余能量進(jìn)行了分級(jí),使高能量節(jié)點(diǎn)有更大的概率為負(fù)載的中繼節(jié)點(diǎn)工作,通過(guò)增大高能量節(jié)點(diǎn)的負(fù)載、減少低能量節(jié)點(diǎn)的能耗來(lái)均衡網(wǎng)絡(luò)能耗,而LEACH算法是完全隨機(jī)選取的簇首,并未考慮能耗方面,進(jìn)一步證實(shí)了圖11的分析結(jié)果。
圖12 第一個(gè)節(jié)點(diǎn)死亡時(shí)的節(jié)點(diǎn)剩余能量
圖13為節(jié)點(diǎn)生存周期。從圖13可以看出,實(shí)線在初始時(shí)位于虛線的上方并保持了很長(zhǎng)的周期,由此可知,CRBHNN算法的FND和HND比LEACH算法晚出現(xiàn)很多,這驗(yàn)證了CRBHNN算法可以更有效地均衡節(jié)點(diǎn)能耗,提高節(jié)點(diǎn)的能量利用率,延長(zhǎng)網(wǎng)絡(luò)壽命,證實(shí)了CRBHNN算法在路由方面優(yōu)于LEACH算法;同時(shí)在網(wǎng)絡(luò)后期實(shí)線與虛線出現(xiàn)相交并且實(shí)線處于虛線的下方,這是因?yàn)楣?jié)點(diǎn)大量死亡后,LEACH算法中存活的節(jié)點(diǎn)大部分位于基站附近,使其死亡速度減緩,而CRBHNN算法存活的節(jié)點(diǎn)更加均勻,進(jìn)一步證實(shí)了RBHNN算法有更好的能量均衡性。該路由優(yōu)化的局限性是當(dāng)鄰近節(jié)點(diǎn)范圍定義過(guò)大時(shí)會(huì)造成一定程度的通信延遲。
圖13 路由算法節(jié)點(diǎn)生存周期
3.3.1 CRBHNN算法優(yōu)化方法
本文算法綜合考慮簇首優(yōu)化算法和路由優(yōu)化算法的優(yōu)缺點(diǎn),通過(guò)整合這2種算法來(lái)達(dá)到最優(yōu)化。在簇首選取階段是通過(guò)改進(jìn)的分簇優(yōu)化方法對(duì)整個(gè)無(wú)線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行分簇,通過(guò)限定簇群范圍來(lái)限定鄰近節(jié)點(diǎn)范圍;在簇內(nèi)成員與簇首的通信階段是依據(jù)路由優(yōu)化算法對(duì)數(shù)據(jù)傳輸路徑進(jìn)行優(yōu)化,如圖14所示,將圖10中的虛線路徑優(yōu)化為圖14中的虛線路徑,使遠(yuǎn)處的成員節(jié)點(diǎn)通過(guò)中繼節(jié)點(diǎn)向簇首通信;在簇首與基站間通信階段同樣是依據(jù)路由優(yōu)化算法對(duì)數(shù)據(jù)傳輸路徑進(jìn)行優(yōu)化,如圖14所示,將圖10中的虛點(diǎn)線路徑優(yōu)化為圖14中的虛點(diǎn)線路徑,使遠(yuǎn)處的簇首通過(guò)中繼節(jié)點(diǎn)向基站通信,最終達(dá)到延長(zhǎng)網(wǎng)絡(luò)壽命的目的。
圖14 CRBHNN算法的數(shù)據(jù)傳輸路徑
3.3.2 CRBHNN算法描述
算法3CRBHNN算法
輸入n個(gè)感知節(jié)點(diǎn)隨機(jī)部署在M×M的感知區(qū)域上,基站位于感知區(qū)域的中心
輸出簇首分布位置、簇群成員和每個(gè)節(jié)點(diǎn)的中繼節(jié)點(diǎn)
步驟1依據(jù)CRBHNN分簇算法選取簇首同時(shí)確定各自的簇群成員。
步驟2依據(jù)CRBHNN路由算法確定每個(gè)簇群中成員節(jié)點(diǎn)的中繼節(jié)點(diǎn),簇群成員以此路徑向簇首傳輸數(shù)據(jù);依據(jù)CRBHNN路由算法確定每個(gè)簇首的中繼節(jié)點(diǎn),簇首以此路徑向基站傳輸數(shù)據(jù)。
步驟3輪循步驟1、步驟2的操作,實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)涞牟粩喔隆?/p>
3.3.3 仿真結(jié)果與分析
為驗(yàn)證本文CRBHNN算法的有效性、可行性和優(yōu)越性,從網(wǎng)絡(luò)剩余總能量、節(jié)點(diǎn)剩余能量和節(jié)點(diǎn)生存周期來(lái)對(duì)算法進(jìn)行評(píng)價(jià),并與LEACH算法、LEACHC算法、DEEC算法和CECA算法進(jìn)行對(duì)比。
圖15為網(wǎng)絡(luò)剩余總能量隨周期的變化。從圖15可以看出,無(wú)標(biāo)記的實(shí)線在初始時(shí)位于其他線的上方并保持了很長(zhǎng)的周期,在網(wǎng)絡(luò)能量利用率上CRBHNN算法明顯優(yōu)于其他算法,這是因?yàn)樵跀?shù)據(jù)傳輸階段,數(shù)據(jù)的傳輸經(jīng)過(guò)了大量的中繼節(jié)點(diǎn),只需相對(duì)短的路徑就可以完成傳輸,同時(shí)數(shù)據(jù)也在中繼節(jié)點(diǎn)進(jìn)行了融合,進(jìn)一步減少了數(shù)據(jù)傳輸?shù)哪芎?明顯優(yōu)于其他算法的直傳方式,同時(shí)在后期無(wú)標(biāo)記的實(shí)線與其他線相交后處于其他線下方,也是因?yàn)槠渌惴ǖ拇婊罟?jié)點(diǎn)大部分位于基站附近,進(jìn)一步證明了CRBHNN算法的能量均衡性優(yōu)于其他算法。
圖15 不同算法網(wǎng)絡(luò)剩余總能量隨周期的變化
圖16為首節(jié)點(diǎn)死亡時(shí)的節(jié)點(diǎn)剩余能量。從圖16可以看出,無(wú)標(biāo)記的實(shí)線大部分位于其他線的下方并且無(wú)標(biāo)記的實(shí)線的起伏明顯小于其他線,由此可知,在能量負(fù)載均衡上CRBHNN算法明顯優(yōu)于其他算法,這是因?yàn)閷?duì)節(jié)點(diǎn)剩余能量進(jìn)行了分級(jí),使得剩余能量多的節(jié)點(diǎn)更易于成為中繼節(jié)點(diǎn),減少剩余能量少的節(jié)點(diǎn)的通信負(fù)載,對(duì)節(jié)點(diǎn)能量進(jìn)行了一定程度的均衡,而其他算法只在簇首選取時(shí)考慮了能量這一因素,并未進(jìn)行全面考慮。
圖16 首節(jié)點(diǎn)死亡時(shí)的節(jié)點(diǎn)剩余能量
圖17為節(jié)點(diǎn)生存周期。從圖17可以看出,無(wú)標(biāo)記的實(shí)線在初始時(shí)位于其他線的上方并保持了很長(zhǎng)的周期,由此可知,CRBHNN算法的FND和HND比其他算法晚出現(xiàn)很多,證實(shí)了其生存周期明顯優(yōu)于其他算法,這也充分證明了CRBHNN算法的有效性和優(yōu)越性,這主要是因?yàn)镃RBHNN算法在進(jìn)行隨機(jī)選取簇首后又對(duì)其分布位置進(jìn)行優(yōu)化,使其分簇更加均勻,實(shí)現(xiàn)了簇首選取的優(yōu)化,同時(shí)考慮能量等因素采用中繼方式進(jìn)行信息傳輸,均衡了網(wǎng)絡(luò)負(fù)載,提高了能量利用率;同時(shí)在后期無(wú)標(biāo)記的實(shí)線與其他線相交后處于其他線的下方,也是因?yàn)槠渌惴ǖ拇婊罟?jié)點(diǎn)大部分位于基站附近,這進(jìn)一步證明了CRNHNN算法能量均衡性優(yōu)于其他算法。
圖17 CRBHNN算法節(jié)點(diǎn)生存周期
為延長(zhǎng)網(wǎng)絡(luò)壽命提高網(wǎng)絡(luò)服務(wù)質(zhì)量,本文對(duì)無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸能耗模型進(jìn)行研究,提出一種基于分級(jí)鄰近節(jié)點(diǎn)的分簇路由算法。在分簇階段通過(guò)對(duì)簇群成員進(jìn)行分級(jí),對(duì)不合理的簇首進(jìn)行再選舉,解決了簇首分布的完全隨機(jī)性問(wèn)題,使得簇首可以更均勻地分布在感知區(qū)域中。在數(shù)據(jù)傳輸階段通過(guò)對(duì)鄰近節(jié)點(diǎn)進(jìn)行分級(jí),確立各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的中繼節(jié)點(diǎn),解決遠(yuǎn)處孤立節(jié)點(diǎn)傳輸能耗過(guò)大和網(wǎng)絡(luò)能量不均衡的問(wèn)題,同時(shí)多次的數(shù)據(jù)融合也提高了能量利用率。仿真結(jié)果表明,與LEACH、CECA、DEEC等算法進(jìn)行對(duì)比,該算法可以有效減少和均衡網(wǎng)絡(luò)負(fù)載能耗,提高能量利用率,最終達(dá)到延長(zhǎng)網(wǎng)絡(luò)壽命的目的。CRBHNN為分布式路由算法,是基于一定范圍內(nèi)的鄰近節(jié)點(diǎn)信息進(jìn)行的優(yōu)化,可能會(huì)導(dǎo)致部分范圍內(nèi)的優(yōu)化在整體上不夠突出,下一步將與集中式算法結(jié)合來(lái)優(yōu)化路由算法。