宋 嚴
(長春師范大學網絡中心,吉林 長春 130032)
無線傳感器網絡(Wireless Sensor Network,WSN)作為一種自組織網絡系統,由大量低成本的微節點組成,具有數據處理和無線通信能力,各個節點通過自組織形成一個網絡。WSN能夠感知、采集和協同處理被監控的數據并發送到用戶終端[1]。隨著數字時代日益增長的需求,5G無線通信技術越來越普及,這種技術具備更好的性能、更高的帶寬、更低的延遲和更低的功耗。然而,當前網絡基礎設施覆蓋不足等因素限制了5G網絡的發揮,在未來,部署大型基站和天線網絡將會顯著推動5G傳輸模式與WSN的融合。WSN作為聯結搭建了物理宇宙和虛擬宇宙之間的橋架。分散的網絡由小型輕量級傳感器節點組成,通過電池提供能量,最終將檢測信息傳送到互聯網。無線傳感器網絡可用于各種應用區域,包括軍事觀察、患者健康監測、災難監測和應急管理等[2]。大量緊湊且功率較低的傳感器節點作為WSN的主要組件,可以感知、處理周圍環境的觀測數據并將其傳輸到目的地,從而更容易監控人工不方便監控的惡劣環境。典型的 WSN 包含從幾百到幾千個節點[3]。動態網絡拓撲、功率約束、節點異構性、有限的預載能量、節點的移動性以及節點故障時的適應性是WSN的主要特征。
傳感器節點的組織部署在觀察區域中,從而創建了應傳達給系統的大量數據。盡管傳感器節點非常微小,但它們在內存、傳輸容量、數據處理和電池壽命方面存在一些限制[4]。WSN節點完全由電池供電,而電池能量有限且不能隨時充電。傳感器節點的壽命在很大程度上取決于電池的壽命,不合理的能耗會導致網絡過早衰減,從而降低網絡壽命。當WSN用于遠程區域觀測時,傳感器網絡的使用壽命是系統效率和數據傳輸可靠性的保障。檢測到所有WSN內所需能源的節點,能源會進行不中斷輸送,用于數據通信。通過最小化跳躍總數和間隙,可以有效降低能量利用率,延長WSN的預期壽命。對于潛在的大規模網絡,更需要輕量級、低成本和低消耗的傳感器節點。此外,為了延長單個傳感器節點和網絡的使用壽命,每個節點都需要使用盡可能少的功率。網絡生存期取決于單個節點生存時間與整個網絡能量消耗的平衡性,因此網絡能量消耗的平衡性也同樣重要。路由算法可以通過評估剩余能量和網絡生存期來選擇更優路徑,有助于延長節點生存期并節省能量消耗。其中,將各種來源的數據的合并稱為數據聚合。傳感器節點可以從多個節點生成均勻的數據包,這些數據包的聚合減少了傳輸次數。上述功能可以在每個傳感器節點中部分或全部執行。與通信相比,計算消耗的能量最小,從而節省了大量的能量。數據聚合是實現顯著節能的有效方法,可以進一步優化各種路由協議的流量。一般來說,在一些網絡架構中,權值更高、具備更少連接數或特定的節點被分配給聚合和計算任務。目前已經對各種算法和協議進行了大量研究,以減少傳感器網絡消耗的總能量[5]。合理設計有關節能的路由協議和操作系統應用層,可以大大延長傳感器網絡的使用壽命。利用收發器和微處理器的獨特功能,降低傳感器節點消耗的能量。此功能有助于為各種傳感器節點設計提供定制解決方案。根據傳感器網絡選擇的簇頭節點的不同,進一步提出了多種WSN領域的集體算法。由于每個節點的能源供應有限,能耗的優化被認為是WSN系統架構研究的關鍵目標[4]。
本文分別采用分簇算法和神經網絡算法,在自組網的過程中,綜合考慮傳感器能耗、傳感器位置、節點剩余能量、多路信息整合等因素,實現對無線傳感器網絡的實時組網;利用神經算法實現自組網,綜合衡量距離、負載和以往信息實時性要求等因素,設計相應的權重的計算方法;在自組網的過程中兼顧單個節點能耗的問題,對整體組網進行合理的簇頭選擇和高效傳輸,達到節能和延長WSN壽命周期的效果。
為了更好地研究無線傳感器網絡的節能問題,首先要明確無線傳感器網絡的工作流程,其主要由以下三部分組成:分散在區域環境附近的無線傳感器節點、作為傳輸數據中轉站的匯聚節點以及終端管理節點,如圖1所示。首先在監控區域的內部和周邊部署大量的傳感器節點,這些節點可以通過自組織的方式構成無線傳感器網絡;節點檢測到的數據隨著其他節點的跳轉向外傳輸,最終經過多次跳轉到達匯聚節點;匯聚節點通過互聯網或衛星通信網傳輸,到達終端的管理節點(通常為電腦或者服務器),管理者可在管理節點監測到區域環境的數據,根據收集到的數據進行任務下發或者配置告警。在傳輸數據的過程中,規劃無線傳感器網絡內部的最優路徑成為高效傳輸數據和節能的關鍵。

圖1 無線傳感器網絡拓撲結構圖
LEACH作為經典的分簇路由協議,其特點是網絡中所有傳感節點被選中的概率相同[6],因此每個節點所消耗的能量基本一致,能夠降低網絡的能量消耗,延長WSN的壽命周期。LEACH作為協議的計算公式如下:
(1)
其中,p表示此網絡中所需簇頭數占所有節點總數的比例,r是每次新建立路由及數據傳輸的回合,G表示在本輪之前還沒有被選為簇頭的節點集合。
針對LEACH協議計算公式主要考慮以下兩個因素:整個無線傳感器網絡中所需要的簇頭數量和某節點曾被選為簇頭的次數[7]。但是LEACH協議忽略了不同節點剩余能量不同的事實,當剩余能量較低的節點被選為簇頭時,能量消耗變快,導致該節點早于整體平均壽命衰短,影響網絡性能[8]。
考慮到節能對于WSN傳輸數據的重要性和可靠性,本文基于LEACH分簇協議提出了一種新的簇頭選舉算法LEACH-N。在每個輪次進行簇頭選舉之前,每個節點會在0至1之間選取一個隨機數θ,將選出的隨機數θ與參考值ε進行比較,ε的計算方式如下所示:
(2)
其中,α是一個非負常數,Ei是該節點當前剩余的能量。
如果某節點選出的隨機數θ大于參考值ε,則在本輪次中該節點當選為簇頭,反之則不能當選。對于單個節點來說,剩余的能量越大,其當選簇頭的概率更高,避免了低能量節點被選為簇頭而導致過快衰減,從而影響整個網絡壽命周期。
根據上述網絡模型,假設100個傳感器節點隨機分布在200 m×200 m區域且不會移動,單個節點初始能量為0.5 J。利用Matlab進行仿真實驗,分別測試LEACH和LEACH-N算法在網絡中傳輸數據的性能表現,仿真結果如圖2至圖4所示。

圖2 分簇算法下網絡存活節點變化趨勢
由圖2可知,LEACH算法在大約第300個輪次開始,網絡中傳感器節點數量開始減少,當來到第1 500個輪次時,網絡中存活的節點數基本為零。而改善后的LEACH-N算法隨著輪次的增加,從第600輪次開始顯著下降,且一直到第2 000個輪次LEACH-N算法中存活的節點數下降為零。可以發現,LEACH-N算法相比于LEACH算法,網絡中節點存活的時間更長。
同樣地,對簇頭節點發送給匯聚節點的數據包數量進行測試,測試結果如圖3所示。在前800個輪次,無論是哪種算法,匯聚節點收到來自于測試區域節點傳輸的數據包數量基本相同,隨著輪數增加到第1 200個輪次,LEACH算法發送給匯聚節點的數據包不再增加,而LEACH-N算法依然在向外傳輸數據。直到第1 800個輪次,LEACH-N算法基本停止向外發送的數據包。

圖3 分簇算法下簇頭節點發送給匯聚節點數據包傳輸量
對區域內節點剩余能量進行測試,測試結果如圖4所示。顯然,無論是LEACH算法還是LEACH-N算法,隨著輪次的增加,網絡剩余總能量均有所下降,且下降趨勢基本呈線性。然而,LEACH算法的網絡生命周期保持了約1 500個輪次,LEACH-N算法的網絡生命周期相比于前者提升了約25%,因此可以認為,LEACH-N算法能夠在一定程度上提高WSN的整體生命周期。

圖4 測試區域網絡能量消耗
本文在拉蓋爾神經網絡數據融合算法[9-10]的基礎上,對神經網絡隱藏層到輸出層權重值進行修正,模型算法可以做出如下推導,假設初始權重w為0至1之間的一個隨機數,隱藏層神經元的數量為m,初始誤差E=0,最大誤差為δ。假設選取徑向基函數的錨點為ci(i=0,1,…,m),選取h個不同的訓練樣本作為錨點的初始值,其他非錨點根據最小距離原則形成h個子集Ai(i=0,1,…,h)。則可以得到錨點:
(3)
其中,xk∈Ai,si代表第i個隱單元樣本集的單元數量。
隨后計算集合中訓練樣本對每個錨點的隸屬度,如式(4)和式(5)所示。
(4)
U={uij∈[0,1]|i=1,2,…,n;h=1,2,…,sj}.
(5)
由上述結果進行誤差范圍判斷,若ci不處于偏離允許的誤差范圍,則重新執行更新聚類錨點步驟。根據徑向奇函數的方差σ,可以確定第i個隱層神經元的節點輸出為[11]:
(6)
(7)

(8)
為了更好地展現輸入與輸出的映射關系,對輸出層的權重值w進行不斷優化。利用梯度下降法不斷逼近最優權重值,將每次訓練的優化方向作為梯度下降的方向,可以得到權值系數的修正公式:
(9)
其中,η為介于[0,1]之間的學習率。
根據式(8)和(9)推導出:
(10)
因此,權重w的修正方向為
wi←wi+Δwi,i=1,2,…,m.
(11)
通過式(11)不斷地重復修正步驟,直到0 (12) 其中,γ為輸出層的參考值。 上述計算公式可以表示神經網絡隱藏層到輸出層權重值的訓練過程,整個流程如圖5所示。 圖5 神經網絡算法訓練流程圖 在重復的神經網絡算法權重訓練之后,傳感器節點再次收集信息時,簇內節點將采集到的信息傳輸給選舉的簇頭節點,簇頭節點將得到的所有簇內節點信息經過加權處理發送到網絡中轉站的匯聚節點。此時,輸出結果代表了網絡中所有簇頭節點采集到的關鍵特征信息,但是又遠少于所有簇頭節點輸入的初始信息,進而大大減少了通信數量,使得傳輸的數據更精簡有效,提高了網絡的使用壽命。 利用Matlab進行仿真實驗[12],驗證修正后的神經網絡數據融合算法的有效性。假設100個傳感器節點隨機分布在200 m×200 m區域且不會移動,單個節點初始能量為0.5 J。圖6顯示了修正前和修正后的神經網絡數據融合算法在網絡中存活節點數的變化趨勢,修正前的算法在大約第1 100輪次開始出現節點衰亡現象,到第2 500輪次所有節點消耗殆盡,也意味著網絡的生命周期結束。而修正后的算法在第1 500輪次開始出現節點的衰亡現象,直到第2 800輪次所有節點死亡。這是因為修正之后通信數據量變少,傳輸的數據包質量提升,進而延長了整網的壽命周期。 圖6 神經網絡算法下網絡存活節點數變化趨勢 圖7 神經網絡算法下簇頭節點發送給匯聚節點數據包傳輸量 為了進一步驗證傳輸數據發送量,對簇頭向匯聚節點發送的數據包數量進行測試,測試結果如圖7所示。在前700個輪次,修正前的神經網絡算法傳輸的數據量大于修正后傳輸的數據量;在大約第700個輪次,修正前和修正后簇頭節點向匯聚節點發送的數據數量相同;在第700個輪次之后,修正后的神經網絡算法傳輸的數據量高于修正前傳輸的數據量。導致這一現象發生的原因是,修正前簇頭節點沒有對傳輸的數據量進行數據融合,直接將數據包傳輸給匯聚節點。修正前的算法一開始的數據包傳輸數量更大,但隨著時間的推移,節點早早地消耗完能量并死亡,導致傳輸數據包數量趨勢有所變緩。修正后的神經網絡算法在簇頭節點對數據進行數據融合,可以持續穩定地向匯聚節點發送數據包,節點存活的時間更長,最終匯聚節點收到的數據包數量更多,直到所有節點死亡時接收曲線接近水平。 本文提出了一種優化的分簇算法LEACH-N,基于傳感器網絡節點的剩余能量選擇簇頭節點,防止因單個節點過早老化而縮減網絡壽命。通過對神經網絡數據融合算法中權重進行修正,減少簇頭節點向匯聚節點傳輸的數據量,降低傳輸數據所消耗的能量,減緩網絡中節點的衰亡速度。仿真實驗結果顯示,該算法可在一定程度上提升了網絡傳輸的數據總量,延長了傳感器網絡整體生命周期。


4 結語