林 勇
(重慶電子工程職業學院, 重慶 401331)
無線傳感網絡(Wireless Sensor Networks,WSNs)由大量、微型傳感節點組成。這些節點具有有限的感測、計算和無線通信能力[1]。目前,WSNs已廣泛應用于智能家居、污染檢測、目標跟蹤和康復醫療。在這些應用中,當節點能量消耗完畢后,補充節點能量是不可能的[2]。因此,能量供給的受限,激發了研究能量感知協議的動力。
引用簇結構能夠有效地降低WSNs的能耗。每個簇中由一個簇頭(Cluster Head,CH)和其他非簇頭節點(成員節點)組成。CH負責簇間通信[3]。當簇構建完成后,CH就給簇內每個成員節點分配時分多址接入TDMA時隙,成員節點就利用所分配的時隙向CH發送數據。
在基于簇WSNs中,每個成員節點先感測環境參數,再將感測數據傳輸至它的CH。然后,成員節點在預設的時間內進入休眠狀態[4]。與成員節點相反,簇頭CH在網絡操作期間內總是保持活動狀態。因此,CH的平均能耗遠高于成員節點的能耗。
為此,常由多個節點間輪換扮演CH角色,共同分擔通信負載,進而平衡節點間能耗。而重構簇便是實現CH角色的輪換的有效策略。
研究人員對重構簇進行了較深的研究[5-7]。例如,文獻[6]利用閾值函數產生簇頭,并利用節點角度比、距離比和吞吐率優化閾值函數。該方案仍是采用固定輪產生選擇簇頭。即以固定時間間隔啟動簇任務。類似地,文獻[7]也是在每輪內構建簇,每輪分為建立階段與數據傳輸階段。如圖1所示,在每一輪(Round)內均由簇建立和數據傳輸兩個階段構成。盡管每輪選擇簇能夠一定程度上平衡節點間的負載。然而,重構簇本身也消耗能量,加重網絡負擔。

圖1 基于輪策略的構簇任務的調度
若采用的Round過長,則CH的工作時間太長,可能導致其能量消耗過快。反之,若Round過短,系統需頻繁地重構簇,增加了構建簇所消耗的能量。因此,Round時長對能耗有一定的影響。
此外,選擇簇頭受多個因素影響,如距離,節點的剩余能量。那如何依據距離、能量等信息決定簇頭?實際上,這屬于多輸入單輸出系統。由多項輸入信息決策一個輸出量。而模糊邏輯系統常用于多輸入單輸出的決策系統。例如,文獻[8]中提出基于多參數模糊邏輯的車載通信資源協同優化算法。利用模糊邏輯系統對資源進行管理。文獻[9]中也采用模糊邏輯系統推理簇尺寸。
為此,本文引用超輪概念,提出基于模糊邏輯系統的能效感知的簇路由(Fuzzy Logic-based Energy-aware Clustering,FL-EAC)。FL-EAC路由不是每輪都構建簇,而是在一個超輪內才構建一次簇。同時,由模糊邏輯系統決策超輪長度。本文的主要工作可歸納以下兩點:① 引用超輪概念,不再采用的以固定時間內建立簇策略;② 利用節點剩余能量、距離信息作為模糊邏輯系統的輸入,由模糊邏輯系統決策超輪長度。
引用與文獻[10]中所述的無線電能量消耗模型,如圖2所示。發射器向相距為d的接收節點傳輸m比特的數據包所消耗的能量ETX(q,d):
(1)
其中:Eelec運行發射器或接收器固定的能量消耗;εfs、εamp分別表示發射器在自空間、雙徑傳播模型(two ray ground model)的單位功率放大器的能量消耗[11-15]。
相應地,對于接收m比特的數據包所消耗的能量:
ERX(m)=m*Eelec
(2)
為了平衡WSNs內的能耗,通常在多個傳感節點間輪換承擔CH角色。當構簇算法啟動時,一些傳感節點必須成為CHs。在構簇過程中,每個非CH節點向與它的CH發送加入信息Mes_Join。收到Mes_Join的CH就給它的成員(非CH節點)提供TDMA時隙。此外,將每個簇內的數據傳輸過程看成單跳傳輸。

圖2 無線電能量消耗模型

(3)
其中,Ej表示節點j的剩余能量。

圖3 構簇算法1的偽代碼

(4)
其中,i表示廣播CH_adv消息的簇頭。

每個簇在一輪內完成它們的任務,然后再配置下一輪。FL-EAC路由允許所有節點參與構簇過程[11]。而傳統的簇路由是采用固定輪時長構建簇,這必然加大了構建簇的能耗。為此,提出的FL-EAC路由采用新的策略。
FL-EAC路由先建立簇,形成多層結構。然后,將網絡操作劃分為超輪(Hyper Rounds,HRs),進而降低簇開銷。 FL-EAC路由規定在每個HRs內的第一個輪的建立階段重構簇。
HRs模型如圖4所示。值得注意的是,在實施階段,每一個HR的穩定時期可能被合并成一個長的穩定時期。換而言之,除HRs的第一個輪外,其他輪可以不重構簇,進而降低了構簇開銷。盡管輪長度是固定的,但HR長度隨傳感節點的狀態變化。現有的多數算法只關注HR策略,而提出的FL-EAC路由利用模糊邏輯系統處理變化的HR長度問題。

圖4 HRs模型
依據FL-EAC路由,在每個HR的開始執行構簇算法。因此,先將網內所有節點被劃分為CHs和非CH節點(普通節點)。然后,在構簇階段結束時,每個CH依據FLS計算HR長度。在分布算法中,將最短HR作為選為網絡內全局的HR長度。選擇最短的HR作為全局HR長度,是為了降低CH的能耗。
為此,每個CH需產生一個等待時間,其正比于它所計算的HR長度。HR長度越短,等待時間越短。一旦等待時間結束,并且在等待時間期間,沒有收到鄰居節點發送的Msg_Sch,每個CH就向鄰居CHs傳輸Msg_Sch,其包含了HR的長度。每個CH從所接收的Msg_Sch中提取HR長度,并與之前接收的HR長度進行比較,保存最短HR長度。接下來,分析計算HR長度的過程。
采用模糊邏輯系統FLS處理每個CH節點在估計HR長度的不確定性。FLS利用節點的剩余能量和離信宿的相對距離決定HR長度。相比于遠區的CHs,位于信宿附近的CHs承擔了更多數據轉發任務,因此,它們消耗了更多的能量。所以,它們的簇頭輪換頻率需更快[12]。
基于上述考慮,將離信宿相對距離和節點剩余能量作為FLS的輸入。FLS系統如圖5所示。剩余能量低的CHs難以完成它的任務,必須進行快速輪換。FLS的輸出就是HR長度。離信宿距離近的、低剩余能量的節點具有更短的HR長度。相反,離信宿距離遠的、高剩余能量節點的HR長度更長。因此,HR長度因節點個體不同而不同。

圖5 FLS系統

(5)

由于傳感節點是靜態的,離信宿最小和最大距離是固定參數。一旦網絡部署后,信宿就向所有節點廣播信號。因此,每個節點就可利用接收信號強度(Received Signal Strength Index,RSSI)估算離信宿近似距離。
1) 相對距離
節點i離信宿的相對距離RDi的定義如式(6):
(6)
其中,dmin、dmax分別表示離信宿的最近、最遠距離。而d(i,Sink)表示節點i離信宿的絕對距離。
2) 相對剩余能量
節點i的相對剩余能量REi的定義如式(7):
(7)

輸入變量RD、RE和輸出變量Out的隸屬函數如圖6所示。其中用非常低(very low)、低(low)、中(medium)、高(high)、非常高(very high)作為RE的語言變量。而用近(close)、中間(adequate)和遠(far)作為RD的語言變量。類似地,輸出變量Out可表述為:
Out={Verylow,low,ratherlow,mediumlow,medium,
mediumhigh,ratherhigh,high,veryhigh}
(8)

圖6 隸屬函數
知識規則庫如表1所示,共有15條規則。系統輸出為模糊值,僅為語言輸出變量,需要將其轉換精確的數值,即去模糊化。利用文獻[13]的Mamdani模糊控制的重心法,可實現去模糊化。

表1 知識規則庫
利用MATLAB R2012b建立仿真平臺[15]。在100 m×100 m網絡區域內部署100個節點,信宿位于(50 m,175 m)位置。傳感節點的初始能量Einit從[2,4]J區內隨機選取。數據包尺寸和控制包尺寸分別為4 000和200比特。有關的能量參數如下:Eelec=50 nJ/bit、εfs=10 pJ/bit/m2、εamp=0.001 3 pJ/bit/m4、dco=87 m。
同時,為了更好地分析FL-EAC路由的性能,選用EHEED[14]和EDIT[15]進行比較。EHEED算法是基于HEED算法的改進,它采用多跳路徑完成簇間通信。而EDIT算法降低了在簇構建過程中的消息交互,并且將節點剩余能量作為CH選擇的基本指標。
1) 實驗一
本次實驗HR長度變化,并通過本次實驗數據證明超輪策略的可用性。HR長度如圖7所示。
依圖7可知,HR長度隨仿真時間變化。這與傳統路由采用固定輪策略不同。最初,HR長度較長,隨后,逐步變短。原因在于:在最初,節點能量較充足,每個簇頭能維持較長的工作時間,而隨著時間推移,節點能量逐步下降,擔任簇頭的時間會縮短。因此,HR長度變短。當仿真結束后,HR就等于一輪。這些數據表明,利用模糊邏輯系統能夠依據節點能量動態地決策HR長度,有效地平衡節點間能量。

圖7 HR長度
2) 實驗二
本次實驗分析構建簇所消耗的能量占總消耗的能量的百分比,將此指標稱為簇開銷比。實驗數據如圖8所示。
從圖8可知,與采用基于輪的策略的EHEED和EDIT算法相比,提出的FL-EAC路由有效地控制了開銷。原因在于:FL-EAC路由減少了重構簇的次數。而EHEED算法具有最高的構簇開銷比,原因在于它需要多條消息才能形成簇,增加建立簇開銷的能耗。

圖8 構簇能耗比
3) 實驗三
本次實驗分析網絡壽命隨節點數和離信宿距離的變化情況,實驗數據如圖9、圖10所示。

圖9 節點數對網絡壽命的影響
從圖9可知,與EDIT和EHEED算法相比,FL-EAC路由的網絡壽命得到有效提高。原因在于:FL-EAC路由采用分布式能量感知算法選擇CHs,平衡節點間的能耗。此外,隨著節點數的增加,FL-EAC算法的網絡壽命并沒有下降。

圖10 離信宿距離對網絡壽命的影響
圖10的離信宿距離為信宿離感測區域中心位置的水平距離。換而言之,當信宿位于區域中心位置,則距離為零。在這種情況下,穩定階段的能耗比信宿遠離區域中心環境下的能耗降低了不少。原因在于:在穩定階段中傳感節點所消耗的能量主要取決于節點離信宿距離。
因此,當信宿位于感測區域中心時,節點能量的大部分消耗于穩定階段。相比于EDIT和EHEED算法,FL-EAC路由降低了構簇開銷,因此,它獲取較長的網絡壽命。此外,即使信宿位置遠區域,FL-EAC算法降低了能耗,相比EDIT和EHEED算法,網絡壽命得到有效地提高。
提出基于模糊邏輯系統的能效感知的簇路由FL-EAC。與傳統輪策略不同,FL-EAC路由是在每個超輪的開始時重構簇,減少了構簇次數,降低能耗。利用模糊邏輯系統決策超輪長度,使得超輪長度能夠依據節點剩余能量和距離進行變化。實驗數據表明,提出的FL-EAC路由算法降低了能耗,延長了網絡壽命。