胡潤彥,李翠然
(蘭州交通大學(xué)電子與信息工程學(xué)院,蘭州 730070)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由部署在監(jiān)測區(qū)域內(nèi)大量廉價微型傳感器節(jié)點組成,通過無線通信的方式形成多跳自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者[1-4]。因為傳感器節(jié)點數(shù)量多,部署范圍廣,且部署區(qū)域的環(huán)境繁雜,通過人工方式來補充節(jié)點能量是不現(xiàn)實的[2]。因此降低節(jié)點的能量消耗,從而延長網(wǎng)絡(luò)的工作周期成為當(dāng)前研究無線傳感器網(wǎng)絡(luò)的關(guān)鍵問題。
隨著能量采集技術(shù)的不斷完善,太陽光照、熱力溫差、機(jī)械振動等傳感器節(jié)點自身就可以從環(huán)境中補充電量,從而擁有了自供能的特點。這種帶有能量自供給節(jié)點的無線傳感器網(wǎng)絡(luò)可以解決傳統(tǒng)傳感器網(wǎng)絡(luò)中由于節(jié)點能量受限,而導(dǎo)致其生存時間受限的問題[5]。但是,由于環(huán)境能量本身會受諸多因素影響,使得自供能節(jié)點的能量補給不穩(wěn)定,所以如何使網(wǎng)絡(luò)中的節(jié)點能夠有效節(jié)能進(jìn)而延長網(wǎng)絡(luò)壽命,也成為當(dāng)前無線傳感器網(wǎng)絡(luò)亟須解決的問題,而合理分簇是有效的方法之一[6]。
為了均衡無線傳感器網(wǎng)絡(luò)能耗,延長網(wǎng)絡(luò)壽命,已提出不少分簇算法[2,6-13],以及帶有能量自供給節(jié)點的網(wǎng)絡(luò)分簇算法[5,14-17]。低功耗自適應(yīng)集簇分層型(Low Energy Adaptive Clustering Hierarchy,LEACH)協(xié)議[7]是最早經(jīng)典分簇算法之一,其基本思想是通過計算概率的方式循環(huán)選擇簇頭,將整個網(wǎng)絡(luò)的能量負(fù)擔(dān)盡可能地分配到網(wǎng)絡(luò)中所有傳感器節(jié)點上,進(jìn)而降低網(wǎng)絡(luò)能耗,達(dá)到延長網(wǎng)絡(luò)工作壽命的目的。但是LEACH算法中存在剩余能量較低的節(jié)點或離基站較遠(yuǎn)的節(jié)點被選為簇頭節(jié)點的情況,導(dǎo)致這些簇頭節(jié)點會過早死亡,使網(wǎng)絡(luò)出現(xiàn)“斷層”的現(xiàn)象。為了克服LEACH 算法的缺陷,具有能量補給的分簇路由(Power-Harvesting Clustering,PHC)算法[14]是在LEACH的基礎(chǔ)上,將能量補給功能引入到網(wǎng)絡(luò)中,并改進(jìn)了非簇頭節(jié)點的歸屬機(jī)制和簇頭選舉機(jī)制。改善后的簇頭選舉機(jī)制不僅需要依據(jù)每個節(jié)點已成為簇頭的次數(shù)和網(wǎng)絡(luò)所需簇頭節(jié)點總數(shù),同時需要考慮節(jié)點初始能量、上一輪節(jié)點的剩余能量和節(jié)點采集能量。文獻(xiàn)[15]中提出了基于太陽能補給節(jié)點能量的自適應(yīng)分簇路由算法(Adaptive Clustering routing based on Solar Power replenishment,ACSP),該算法根據(jù)太陽光照特點,將網(wǎng)絡(luò)中節(jié)點的能量狀態(tài)劃分為:耗能期、儲能期、穩(wěn)定期,并針對節(jié)點所處的不同能量狀態(tài)設(shè)定不同的閾值來參加簇頭競選,并計算出簇間最佳通信距離,通過多跳方式將數(shù)據(jù)傳送到Sink 節(jié)點。能耗均衡的自供能無線傳感器網(wǎng)絡(luò)分簇(Energy Balanced Clustering with Self-Energization,EBCS)路由算法[5]通過改進(jìn)簇頭選舉機(jī)制,使補給能量和節(jié)點剩余能量之和較大的節(jié)點成為簇頭,并增加了部署在能量補給弱區(qū)的節(jié)點成為簇頭的概率,彌補了LEACH算法能量消耗不均勻的缺陷。但在該算法中簇頭間的數(shù)據(jù)傳輸采用多跳的方式,使得靠近基站的簇頭節(jié)點負(fù)載中繼任務(wù)過多而提前耗盡能量,產(chǎn)生“能量空洞”現(xiàn)象。上述均勻分簇方法一般適用于節(jié)點分布均勻的無線傳感器網(wǎng)絡(luò),但在實際部署場景中,例如采用飛機(jī)拋撒傳感器節(jié)點方式時,通常傳感器節(jié)點會分布不均勻。
為解決上述問題,文獻(xiàn)[8]中將節(jié)點到基站的距離、簇頭到節(jié)點的距離、節(jié)點度和節(jié)點剩余能量等因素作為權(quán)重,將全網(wǎng)劃分為大小不同的簇群。然后簇頭節(jié)點將依據(jù)與基站間的距離和剩余能量構(gòu)造基于最小生成樹的最佳傳輸路徑,通過簇間多跳、簇內(nèi)單跳的方式將數(shù)據(jù)傳輸?shù)交?。上述算法雖然優(yōu)化了數(shù)據(jù)傳輸路徑,但對網(wǎng)絡(luò)進(jìn)行遍歷,消耗了網(wǎng)絡(luò)的能量。文獻(xiàn)[9]中在此基礎(chǔ)上提出了一種新的改進(jìn)算法,通過在“熱區(qū)”內(nèi)選取傳送節(jié)點,緩解了在該區(qū)域內(nèi)的節(jié)點負(fù)載不均衡的問題。在非“熱區(qū)”內(nèi),會根據(jù)節(jié)點的殘余能量來選取簇頭,選取簇頭結(jié)束后剩下的節(jié)點參加到和其距離最小的簇群中。在節(jié)點入簇以后,再基于相似數(shù)據(jù)的收集策略,查找符合條件的相似節(jié)點,使部分冗余的節(jié)點休眠[9]。改進(jìn)的算法中每輪結(jié)束后重新選舉簇頭,減少了能量的浪費。文獻(xiàn)[10]中提出一種改進(jìn)的非均勻分簇路由(Wireless sensor networks non-Uniform Clustering Hierarchy,WUCH)算法,將節(jié)點到基站的距離和節(jié)點殘余能量作為性能指標(biāo)。它將網(wǎng)絡(luò)分成規(guī)模不同的簇群,從規(guī)模較大的簇中選舉雙簇頭節(jié)點,主副簇頭分擔(dān)不同任務(wù),以此緩解簇頭節(jié)點能耗過快,然后構(gòu)造基于改進(jìn)的最小二叉樹進(jìn)行多跳數(shù)據(jù)傳輸,從而減小節(jié)點能量消耗。但上述算法采用基于競爭的簇頭選舉方法會增加網(wǎng)絡(luò)開銷,且簇內(nèi)多跳、簇間單跳的方式在數(shù)據(jù)傳輸階段增加了更多的信標(biāo)報文,為網(wǎng)絡(luò)數(shù)據(jù)傳輸增加了復(fù)雜度。文獻(xiàn)[11]中提出了利用雙層模糊控制的簇頭選擇(Cluster head selection using Two-Level Fuzzy Logic,CTLFL)算法。將節(jié)點的能量、相鄰節(jié)點數(shù)、與基站之間的距離等性能參數(shù)作為隸屬度函數(shù)的輸入得到網(wǎng)絡(luò)中當(dāng)選簇頭的最佳節(jié)點,從而保證了簇頭節(jié)點間能量的均衡。
綜上所述,既有文獻(xiàn)大多采用概率的方式選取簇頭節(jié)點,但僅是針對節(jié)點的某一方面增加當(dāng)選簇頭節(jié)點的權(quán)重,并未結(jié)合影響網(wǎng)絡(luò)能耗的其他方面進(jìn)行考慮。雖然CTLFL 算法在選擇簇頭節(jié)點時進(jìn)行了綜合考慮,但是未具體分析在能量補給條件下的網(wǎng)絡(luò)能量消耗,并且對網(wǎng)絡(luò)分簇數(shù)目設(shè)定過于簡單,沒有對其建立數(shù)學(xué)模型進(jìn)行分析,從而影響網(wǎng)絡(luò)分簇的合理性。同時其建立的網(wǎng)絡(luò)模型過于簡化,對于節(jié)點的性能參數(shù)和傳輸模型沒有作具體分析。由此本文提出了一種基于模糊控制的自供能無線傳感器網(wǎng)絡(luò)分簇(Energy Harvesting-Fuzzy Logic Clustering,EH-FLC)算法。利用太陽能補給模型,結(jié)合單個節(jié)點每一輪次消耗的能量模型,通過數(shù)學(xué)推導(dǎo)的方式得出網(wǎng)絡(luò)最佳分簇數(shù);再結(jié)合雙層模糊控制模型將節(jié)點剩余能量、節(jié)點密度、與Sink節(jié)點的鄰近度和所屬簇的中心度進(jìn)行綜合評判,得出每一個節(jié)點當(dāng)選簇頭節(jié)點的閾值,最后通過其閾值大小來確定簇頭節(jié)點。
建立基于能量補給的無線傳感器網(wǎng)絡(luò)的主要目的是要獲取穩(wěn)定持續(xù)的能量以保證能量平衡,即采集的能量要大于系統(tǒng)消耗的能量。為便于分析,本文提出了一種簡化的太陽能補給模型。此模型中,假設(shè)在相同時間段內(nèi)網(wǎng)絡(luò)中所有節(jié)點采集到的能量都是相等的。為了模擬一天當(dāng)中日照強度的變化,將一天中不同時間段采集的能量數(shù)值大小建模為一個標(biāo)準(zhǔn)的等腰梯形。模型如下:
太陽能補給模型如圖1所示。
圖1 太陽能補給模型Fig.1 Solar energy replenishment model
其中,k是能量補給時曲線上升的斜率,EMax是節(jié)點接收能量的最大功率值,r1和r2是補給能量到達(dá)最大值時和能量開始下降時的輪次;r3表示當(dāng)天能量采集量為0時的輪次。該模型以收發(fā)數(shù)據(jù)輪次來代表時間的變化。由于太陽能收集遵循類似的晝夜模式,因此每輪任意節(jié)點(即?i,1≤i≤100)收集的平均能量為:
無線傳感器網(wǎng)絡(luò)的應(yīng)用環(huán)境類型繁多,本文考慮大量節(jié)點密集隨機(jī)分布,Sink 節(jié)點固定在部署范圍的正中心位置。本文為網(wǎng)絡(luò)模型作如下合理假設(shè):1)Sink 節(jié)點的能量一直是充足的;2)節(jié)點擁有GPS 功能,能廣播自身的位置信息ID;3)節(jié)點初始能量均相同,且具備太陽能補給功能;4)節(jié)點之間單次傳輸?shù)谋忍財?shù)是相同的,是基于單跳的。
在基礎(chǔ)無線電模型中,節(jié)點i消耗的能量由兩部分組成:一部分是功率放大器消耗的能量;另一部分是運行無線電元件消耗的能量。因此節(jié)點i向距離d處傳輸l比特數(shù)據(jù)所消耗的能量[16]可表示為:
其中:Eelec是發(fā)射電路和接收電路傳輸單位比特數(shù)據(jù)需要消耗的能量;εfs和εamp分別對應(yīng)自由空間和多徑傳輸?shù)姆糯笃魈匦猿?shù);當(dāng)距離d<d0時采用自由空間傳播模型來近似,當(dāng)距離d≥d0時,采用多徑衰落模型。節(jié)點i接收l比特信息時消耗的能量[6]為:
對于同質(zhì)傳感器網(wǎng)絡(luò)部署場景,假設(shè)總共N個節(jié)點隨機(jī)部署在M×M的待測區(qū)域,一共需要分成k個簇。每個簇平均有N/k個節(jié)點,其中有一個簇頭節(jié)點和(N/k)-1 個非簇頭節(jié)點,則每個簇所占面積為M2/k。普通節(jié)點與所屬簇頭節(jié)點間的平均距離[13]表示為:
其中M為待測正方形區(qū)域的邊長,全網(wǎng)絡(luò)單位輪次消耗的總能量為:
其中:ECH和EnonCH分別是單位輪次簇頭節(jié)點消耗的能量和非簇頭節(jié)點消耗的能量?;谔柲苎a給模型,即均勻和周期性的能量采集方案,可以將平均采集能量Ehavg視為網(wǎng)絡(luò)中任意節(jié)點的每輪收集能量??紤]到單位輪次中任意節(jié)點的能量耗散都高于平均采集的能量,給出整個傳感器網(wǎng)絡(luò)在單位輪次中的有效能量耗散為:
每個簇頭節(jié)點會接收簇內(nèi)節(jié)點數(shù)據(jù),將收集的數(shù)據(jù)融合處理后發(fā)送給Sink 節(jié)點。由于Sink 節(jié)點離簇頭節(jié)點較遠(yuǎn),簇頭節(jié)點的能量消耗遵循多徑衰落模型,簇頭節(jié)點在單位輪次中消耗的能量為:
其中:dtoSink表示簇頭節(jié)點與Sink 節(jié)點之間的距離,EDA是簇頭節(jié)點進(jìn)行數(shù)據(jù)融合處理時消耗的能量。每個非簇頭節(jié)點只需要在每輪次將收集的數(shù)據(jù)發(fā)送給所屬的簇頭節(jié)點。由于同一簇內(nèi)的每個非簇頭節(jié)點不會和簇頭節(jié)點相距過遠(yuǎn),所以普通節(jié)點的能量消耗遵循自由傳播模型,則非簇頭節(jié)點在單位輪次中能量的消耗為:
其中dtoCH代表非簇頭節(jié)點到簇頭節(jié)點的距離。由式(6)~(10)可得到在該網(wǎng)絡(luò)在單位輪次中有效消耗的能量為:
由式(11)得到了每一輪含有能量補給的網(wǎng)絡(luò)能量總消耗ERound與分簇數(shù)目k的函數(shù),進(jìn)而對式(11)中k進(jìn)行求導(dǎo)可以得出使E′Round=0時的k值,從而得到使ERound為極小值時的k值,因此在太陽能補給下的無線傳感器網(wǎng)絡(luò)最佳分簇數(shù)目kopt為:
本文通過模糊決策系統(tǒng)(Fuzzy Inference System,F(xiàn)IS)和太陽能補給模型提出基于模糊控制的自供能無線傳感器網(wǎng)絡(luò)分簇算法EH-FLC 來提高無線傳感器網(wǎng)絡(luò)工作周期并減少網(wǎng)絡(luò)能量消耗。不同于傳統(tǒng)的LEACH 算法,該算法只有在第一次分簇后,有節(jié)點死亡時才開始重新分簇,而不是每一輪都進(jìn)行分簇,節(jié)省網(wǎng)絡(luò)成簇時各個節(jié)點廣播信息,從而延長網(wǎng)絡(luò)壽命。結(jié)合最佳分簇數(shù),得出如圖2 所示的基于太陽能補給的無線傳感器網(wǎng)絡(luò)分簇圖。
圖2 基于太陽能補給的無線傳感網(wǎng)絡(luò)分簇圖Fig.2 Clustering diagram of wireless sensor network based on solar energy replenishment
EH-FLC算法采用了雙層模糊決策方法來確定簇頭節(jié)點,利用常用的Mamdani 模糊控制系統(tǒng)[6,11,13]來計算網(wǎng)絡(luò)中所有節(jié)點成為簇頭節(jié)點的閾值。其中第一層模糊決策稱為能力層,在第一層模糊決策中選擇在密集區(qū)域并具有充足能量的節(jié)點作為備選簇頭節(jié)點。第二層模糊決策稱為協(xié)作層,在這一層模糊決策中,需要在備選簇頭節(jié)點中選出的節(jié)點作為最終的簇頭節(jié)點。
在能力層的模糊決策過程中,網(wǎng)絡(luò)中普通節(jié)點成為備選簇頭節(jié)點的資格是根據(jù)節(jié)點剩余能量和它相鄰的節(jié)點數(shù)來確定的。由于簇頭節(jié)點不僅需要對所屬簇的普通節(jié)點發(fā)來的數(shù)據(jù)進(jìn)行融合,還需要將融合后的數(shù)據(jù)發(fā)送給Sink節(jié)點,因此簇頭節(jié)點必須有充足的能量[5]。此外,如果備選簇頭節(jié)點的相鄰節(jié)點相對緊密,則能夠縮短節(jié)點間數(shù)據(jù)傳輸?shù)木嚯x,均衡簇內(nèi)平均能耗。由此在能力層的模糊決策過程中,本文將節(jié)點剩余能量和相鄰節(jié)點數(shù)作為能力層模糊系統(tǒng)的輸入,在通過模糊化后,輸入的模糊化隸屬模糊集均為{low,medium,high}分別對應(yīng)的是“低”“中”“高”。再結(jié)合模糊IF-THEN 規(guī)則式得到各個規(guī)則下的模糊評分,然后通過集合器得到模糊輸出,即成為簇頭節(jié)點的資格參數(shù),輸出的模糊化隸屬模糊集為{v-small,small,r-small,med-small,med,med-large,r-large,large,v-large}分別對應(yīng)的是“非常小”“小”“較小”“一般小”“一般”“一般大”“較大”“大”“非常大”。最后通過解模糊化得到備選簇頭節(jié)點。能力層的模糊決策系統(tǒng)如圖3[11]所示。
圖3 能力層決策系統(tǒng)Fig.3 Capability level decision system
該層的模糊決策的輸入隸屬度函數(shù)如圖4、5 所示,輸出的隸屬度函數(shù)如圖6所示;模糊IF-THEN規(guī)則如表1所示。
圖4 節(jié)點剩余能量的隸屬度函數(shù)Fig.4 Membership function of node residual energy
圖5 相鄰節(jié)點數(shù)的隸屬度函數(shù)Fig.5 Membership function of the number of adjacent nodes
圖6 能力層的隸屬度函數(shù)Fig.6 Membership function of capability level
表1 能力層的IF-THEN規(guī)則Tab.1 IF-THEN rules for capability level
在協(xié)作層的模糊決策過程中,尋找網(wǎng)絡(luò)位置合理的節(jié)點以平均網(wǎng)絡(luò)能耗,因此以下兩個方面將作為決策評判條件:
1)簇頭節(jié)點必須位于所屬簇的中心位置,當(dāng)簇中的普通節(jié)點發(fā)送數(shù)據(jù)給簇頭節(jié)點時,可以均衡該簇的平均能耗以此延長節(jié)點的工作周期。
2)為了有效降低簇頭節(jié)點的平均能量消耗,簇頭節(jié)點需要鄰近Sink節(jié)點,使其處于合適的位置。
所以,將中心度參數(shù)ρ和Sink節(jié)點鄰近度參數(shù)θ作為第二層模糊控制系統(tǒng)的輸入,在通過模糊化后它們的模糊化隸屬模糊集均為{low,medium,high}分別對應(yīng)的是“低”“中”“高”。在經(jīng)過對應(yīng)的模糊IF-THEN 規(guī)則后,通過集合器得到最終評估成為簇頭節(jié)點的模糊輸出,它的模糊化隸屬度函數(shù)的模糊集為{v-small,small,r-small,med-small,med,med-large,r-large,large,v-large}分別對應(yīng)的是“非常小”“小”“較小”“一般小”“一般”“一般大”“較大”“大”“非常大”。
同時,為了避免各個簇頭節(jié)點相鄰緊密,導(dǎo)致網(wǎng)絡(luò)分簇覆蓋面積過小,網(wǎng)絡(luò)覆蓋重疊過多;簇頭節(jié)點間相距過遠(yuǎn)導(dǎo)致傳輸能量時消耗過多,在進(jìn)行第二層模糊決策時設(shè)定的簇頭節(jié)點間的距離μ應(yīng)在如式(13)所示的區(qū)間值內(nèi):
其中:xm和ym分別對應(yīng)無線傳感器網(wǎng)絡(luò)部署區(qū)域的長和寬。
在協(xié)作層的模糊決策過程中,節(jié)點位置的中心度參數(shù)ρ由各簇內(nèi)節(jié)點到簇頭節(jié)點的距離總和來度量,具體如式(14)所示:
同樣,與Sink 節(jié)點的鄰近度θ通過簇頭節(jié)點到Sink 節(jié)點的距離總和來度量,具體如式(15)所示:
其中:xBS和yBS分別對應(yīng)Sink 節(jié)點所在無線傳感器網(wǎng)絡(luò)的橫坐標(biāo)與縱坐標(biāo)。
綜上所述,通過第一層模糊決策評估后的備選簇頭節(jié)點會在協(xié)作層再次被評估。網(wǎng)絡(luò)中的節(jié)點在通過兩層模糊決策后將會得到一個綜合評估閾值α,當(dāng)α大于等于設(shè)定的當(dāng)選簇頭節(jié)點最低閾值時,該節(jié)點將進(jìn)入簇頭節(jié)點列表。最后通過最佳分簇數(shù)kopt的指導(dǎo)來確定需要多少分簇,并從列表中擇優(yōu)選取,被選出的簇頭節(jié)點將自己的位置ID 廣播到網(wǎng)絡(luò)中,使其鄰近的落選節(jié)點加入進(jìn)來。
協(xié)作層的模糊決策系統(tǒng)如圖7所示。
圖7 協(xié)作層決策系統(tǒng)Fig.7 Collaboration level decision system
該層的模糊決策的輸入隸屬度函數(shù)如圖8、9 所示,輸出的隸屬度函數(shù)如圖10所示;模糊IF-THEN規(guī)則如表2所示。
圖8 節(jié)點中心度的隸屬度函數(shù)Fig.8 Membership degree function of node centrality
圖9 Sink節(jié)點鄰近度的隸屬度函數(shù)Fig.9 Membership function of proximity of Sink node
圖10 協(xié)作層的隸屬度函數(shù)Fig.10 Membership function of collaboration level
表2 協(xié)作層的IF-THEN規(guī)則Tab.2 IF-THEN rules for collaboration level
EH-FLC算法偽代碼如下。
本文利用Matlab 仿真平臺測試所提出的EH-FLC 算法性能,并將它和LEACH 算法、WUCH 算法、CTLFL 算法進(jìn)行比較。網(wǎng)絡(luò)由100個節(jié)點組成,隨機(jī)分布在100 m×100 m的待測區(qū)域內(nèi),Sink 節(jié)點位于待測區(qū)域的正中心。表3 具體地給出了仿真環(huán)境參數(shù)的設(shè)置。
表3 仿真參數(shù)Tab.3 Simulation parameters
將EH-FLC 算法分別在網(wǎng)絡(luò)存活節(jié)點數(shù)、網(wǎng)絡(luò)總能量消耗和網(wǎng)絡(luò)數(shù)據(jù)包傳輸總和這3 個方面與LEACH、WUCH 算法和CTLFL 算法進(jìn)行對比。在傳感器網(wǎng)絡(luò)分簇算法中,簇頭的選取是算法的核心。在本文提出的算法中,由高等數(shù)學(xué)理論,根據(jù)網(wǎng)絡(luò)能量總消耗E與分簇數(shù)目k的函數(shù)關(guān)系式,對其求導(dǎo)后得到k值,該值使網(wǎng)絡(luò)能量消耗最小。而在其他文獻(xiàn)提出的算法中,簇頭數(shù)目占總節(jié)點數(shù)的比值通常是預(yù)設(shè)的。LEACH 算法和CTLFL 算法中的簇頭數(shù)占比分別為10%和5%,這種預(yù)設(shè)的方式會限制網(wǎng)絡(luò)性能的提升。甚至WUCH 算法并沒有對簇頭數(shù)目進(jìn)行設(shè)定,這樣可能出現(xiàn)網(wǎng)絡(luò)中簇頭節(jié)點數(shù)大于普通節(jié)點數(shù)的情況,嚴(yán)重影響網(wǎng)絡(luò)生存時間。圖11為四種算法下網(wǎng)絡(luò)中存活的節(jié)點數(shù)隨時間(輪次)變化的關(guān)系,可以看出在四種待比較算法中,EH-FLC 算法的節(jié)點死亡的速度明顯低于其他三種算法。在EH-FLC 算法中,第80 輪次之前的太陽能補給率較低,節(jié)點存活數(shù)存在下滑趨勢;隨著太陽能補給率的提高,部分節(jié)點在充能過后重新加入到網(wǎng)絡(luò)中繼續(xù)工作。與LEACH 算法、WUCH 算法和CTLFL 算法相比,EH-FLC算法在相同路由的情況下,網(wǎng)絡(luò)更加穩(wěn)定,工作壽命提高了約1.4倍、0.4倍和0.6倍。圖12反映了網(wǎng)絡(luò)消耗的總能量隨時間(輪次)變化的關(guān)系,可以看出EH-FLC 算法在約第320 輪次之前,網(wǎng)絡(luò)的總能量消耗比LEACH 和WUCH 算法消耗低,由于EH-FLC 算法的網(wǎng)絡(luò)工作周期比另外三個算法長,所以在約380 輪之后,EH-FLC 算法所屬網(wǎng)絡(luò)消耗的總能量仍然在增加。盡管在該算法運行的后期其網(wǎng)絡(luò)消耗的總能量要高于其他三種算法,但是由于本文設(shè)計的網(wǎng)絡(luò)系統(tǒng)具有能量補給功能,所以能量消耗的增長對網(wǎng)絡(luò)的影響不大。從展示的網(wǎng)絡(luò)數(shù)據(jù)傳輸隨輪次變化的圖13 中可以清晰地看到:在網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)倪^程中,EH-FLC 算法的數(shù)據(jù)傳輸量顯著優(yōu)于LEACH 算法、WUCH 算法和CTLFL 算法,與這三種算法相比,數(shù)據(jù)傳輸量提高了約20 倍、1.5 倍和1.28 倍。綜上所述,本文所提出的EH-FLC 算法在延長網(wǎng)絡(luò)壽命和提高網(wǎng)絡(luò)吞吐量兩方面明顯優(yōu)于LEACH 算法、WUCH 算法和CTLFL算法。
圖11 網(wǎng)絡(luò)存活節(jié)點數(shù)隨輪次變化Fig.11 Number of network surviving nodes varying with round
圖12 網(wǎng)絡(luò)消耗總能量隨輪次變化Fig.12 Total energy consumption of network varying with round
圖13 網(wǎng)絡(luò)吞吐量隨輪次變化Fig.13 Network throughput varying with round
本文提出了一種基于太陽能補給和模糊控制的分簇算法。太陽能補給模型降低了節(jié)點傳輸數(shù)據(jù)消耗的能量,有利于網(wǎng)絡(luò)整體能耗的均衡;通過雙層模糊決策的方式,節(jié)點剩余能量、鄰近節(jié)點密度、與Sink節(jié)點的鄰近度和所屬簇位置的中心度來選擇簇頭節(jié)點,提高網(wǎng)絡(luò)的吞吐量,有效延長了網(wǎng)絡(luò)生存時間。Matlab 仿真結(jié)果表明EH-FLC 算法在網(wǎng)絡(luò)生存周期和網(wǎng)絡(luò)吞吐量方面相較于LEACH 算法、WUCH 算法和CTLFL算法有明顯優(yōu)化。下一步將在隸屬度函數(shù)的選擇上深入研究,并且繼續(xù)研究EH-FLC 算法,以降低其節(jié)點的能量損耗,進(jìn)一步改進(jìn)和完善所提出的方案。