劉功民 朱俊杰
1(柳州鐵道職業技術學院信息技術學院 廣西 柳州 545616) 2(中南林業科技大學計算機與信息工程學院 湖南 長沙 410004)
無線傳感器網絡(WSN)具有布線成本低、檢測精度高和可遠程控制等優勢,已廣泛應用于環境科學、智能家居和智能交通等領域[1-2]。同時,WSN由于節點數量多且能量有限難以補充等問題,其發展與應用也受到限制。因此如何降低傳感器節點的能耗,延長網絡的壽命成為一個重要的研究熱點[3]。
目前,針對WSN中的能耗控制大多通過MAC層協議和路由技術來實現,其中LEACH協議是最具有代表性的一種層次路由器[4]。文獻[5]提出了前端領先的節能簇首(FLEECH),用于從多個聚類中選擇簇首。通過在通信網絡中組織傳感器節點并將數據從傳感器節點路由到遠程接收器以克服聚類和網絡通信方面的困難。孫彥景等[6]提出EBFA路由協議,采用一種社會福利函數,預先衡量中繼節點的能量消耗情況。文獻[7]基于NB-IoT窄寬物聯網技術設計了一種能夠進行數據幀轉換和處理的雙模網關,以實現在WSN與NB-IoT間高效的數據融合。文獻[8-9]提出了一種基于數據聚合的傳感器網絡可調模型,通過該模型降低了能耗,并且延長了網絡的存活時間。Sinha[9]利用無線通道的廣播特性以減少數據的傳輸量,并且是在數據融合的最后選出簇首。
由于簇首需要實現簇內與簇間通信,因此能耗比一般節點較高,這導致負載不均衡,甚至影響網絡通信。文獻[10]針對簇間負載不均衡性,結合能耗提出了以種群粒子優劣為依據的自適應慣性權重調整策略的簇首選舉機制。文獻[11]提出了EEUC(Energy Efficient Unequal Clustering)路由協議,它是一個非均勻分簇路由協議,其簇成員數量少,節約能量用于簇間多跳轉發數據。文獻[12-13]采用不同的聚類算法,如K-means、MRRCE(Multi-hop Routing Reducing Consumed Energy)等,并考慮剩余能量和距離等因素,實現簇首選擇的最優化,以提升網絡的生命周期。
此外,在連續監測應用中,移動接收器的使用可能導致延時限制,并且通信所花費的時間更長。因此引入靜態和移動接收器(稱為雙重接收器)的組合以緩解能量漏洞,減少延時限制[14-15],使用受控移動接收器為無線傳感器網絡引入了節能競爭聚類算法[16],能夠改善傳感器網絡的性能。
以上關于不等簇首選擇方法以及網絡中使用靜態和移動接收器的研究側重于解決能耗與延時等問題,但在能量利用率、網絡壽命、網絡密度、聚類通信成本等方面降低了WSN性能。因此,本文提出了基于雙重接收器結合自適應加權數據融合的WSN簇首優化聚類算法。主要的創新點如下:
(1) 傳統的節能方法無法有效地延長網絡壽命和能量分配,而所提具有雙重接收器的能量感知不等聚類路由算法增加了基站,能有效地轉發數據、均衡負載的能量分配。
(2) 靜態接收器附近的聚類耗能較多,靠近靜態接收器選擇簇首更是如此。因此,本文方法采用靜態接收器和移動接收器(雙重接收器)進行數據收集,以降低能耗。
(3) 大量傳感器節點會產生海量數據,因此引入大數據技術,利用自適應加權數據融合技術減少了數據的傳遞數目,提高數據處理速度,降低能耗,提高了WSN的性能。
網絡模型由傳感器節點組成,且傳感器節點在網絡中均勻分布,相對于簇首(Cluster Head,CH)聚類。基站位于每個傳感器區域,簇首和基站在整個過程中保持不變,每個節點分配唯一ID,根據傳輸范圍更改屬性。在WSN中這些網絡模型具有以下屬性:
(1) 傳感器節點始終是靜態的,它永遠不會改變其位置。這些節點用于收集周圍數據并通過無線通信將數據轉發到基站。
(2) 當發射功率級別降低時,節點可能具有動態調節其功率級別的能力。
(3) 傳感器區域的位置搜索中,每個傳感器節點是基于接收的信號強度而不是基于GPS設備來計算它們的位置。
在LEACH協議中,僅當傳感器節點選擇的隨機數小于閾值Ti時,傳感器節點才被選為當前旋轉輪的簇首。Ti的計算如下所示:
(1)

(2)
式中:Eelec是電能,是發送或接收1比特信息的能量消耗;φfs和φmp的比值是常數。在接收器中實現相同的過程并且為無線電消耗的能量是:
ERx(m)=m×Eelec
(3)
與通信能量相比,計算和存儲過程所消耗的能量要低得多。因此,僅考慮通信的能耗。為了結合數字s的這些信息,能量消耗可表示為:
EDx=s×k×Emerge
(4)
式中:Emerge是合并1比特信息的能量消耗;k為能量消耗系數,通常取0.95。當距離小于Ti時,使用自由空間信道模型;當距離大于Ti時,使用多徑衰落信道模型。
基于上述系統模型,設計了基于雙重接收器結合數據融合技術(Dual Receivers Combined with Data Fusion Technology,DR-DFT)的簇首優化聚類算法,以降低通信成本,節約能量并延長網絡壽命。算法的流程如圖1所示。

圖1 本文方法整體流程
本文系統的網絡模型的聚類構造如圖2所示。該系統由具有簇首的許多聚類組成,簇首在每一輪中形成,具有信號強度和無線電范圍。靜態和移動接收器位于網絡中心路徑,其功能是從簇首收集數據。在網絡中心,靜態接收器是固定的,移動接收器在網絡區域中以直線移動。節點在每一輪中聚類,由靜態和移動接收器收集數據。

圖2 本文方法的網絡模型聚類構造
簇首選擇基于兩個過程,即TCH選擇和FCH選擇。基于能量的計時器(EBT)被分配給節點以選擇TCH,并且基于節點的整體信任值來計算信任值,選擇擁有最高信任值和能量的節點作為TCH。TCH根據競爭范圍、冗余能量、節點度和簇首數等參數競爭成為FCH。
2.1.1臨時簇首選擇
(1) 基于能量計時器(EBT)的TCH選擇。根據每個節點的能量,把傳感器節點分配給定時器,并根據能量,確定分配給節點的等待時間。本文方法使用兩個標準來分配等待時間,即具有較高能量的節點將被分配較短的等待時間,具有較低能量的節點將被分配較長的等待時間。將計時器值最先到期的節點選為臨時簇首(TCH)。

(5)
式中:E(in)表示節點i的第n個近鄰節點in的能量。對于任意傳感器節點ID:Si,基于能量的等待時間值為:
(6)
根據式(6),可知等待時間隨著節點能量的增加而減小,選擇此節點作為臨時簇首。
(2) 基于信任值的TCH選擇。使用信任值(TV)檢測節點行為、節點質量和節點服務,也把它用于傳感器節點的數據聚合、重新配置和路由。本文方法使用信任值收集數據并監視節點中的不同事件,結合基于能量的計時器(EBT)以尋得臨時簇首。節點的信任值計算式為:
(7)
式中:NFD是轉發數據包的數量;NREC是接收數據包的數量。計算單個節點的信任值,并選擇具有最高信任值的節點作為臨時簇首。
2.1.2最終簇首選擇
基于傳感器節點的能量消耗,識別聚類的死節點和活節點。附帶在節點上的邊數稱為節點度,通過節點度這個指標衡量WSN的連通性,而增加節點度可以通過減少跳數來節省能量。通過評估每個節點的能量消耗來確定最佳節點度,其目的在于觀察由傳輸范圍控制的節點度變化引起的影響。
根據節點度和能量選擇簇首節點。N的平均節點度是:
(8)
式中:d(n)是節點的度;n是節點的近鄰數。網絡的最小節點度定義為:
(9)
與EEUC相比,dmin和dmean提供了有效的結果。節點度降低了簇首選擇的總體通信成本,增加了網絡的整體壽命。每個普通節點只屬于一個聚類,最小化聚類數可最大化聚類大小平均值。選擇部署在密集區域的高級節點作為簇首。
假設S1、S2、S3、S4、S5是被選定的五個臨時簇首,臨時簇首間的競爭范圍如圖3所示。

圖3 臨時簇首之間的競爭范圍
臨時簇首和最終簇首選擇具體步驟如下:
初始化:能量E,臨時簇首Sj,總能量Etotal,轉發數據包NFD,數據包總數NREC,節點非聚類集G,節點數N。
例1 臨時簇首選擇
1. ?節點i∈[網絡區域內],E(i)←節點i的能量級別
2. 初始化定時器(i)←k,近鄰節點in,傳感器網絡的第n個近鄰節點Si,選擇簇首為n
3. ifn為簇首
then 檢查聚類距離dmax=max(dmax,距離)且dmin=max(dmin,距離)
4. 根據式(5)、式(6)分別計算平均能量和等待時間
5. 重復步驟3和步驟4,直至達到高頻率的臨時簇首
6. ifn發送廣告并結合請求到G
節點的非聚類檢查并驗證簇首dmax、dmin、總能量Etotal=Etotal+E
else 創建新的聚首,形成剩余節點的非聚類集
7. 根據式(7)計算信任值
例2 最終簇首選擇
8. 根據式(8)、式(9)計算節點度和平均節點度
9. 對于所有密集區域,計算臨時簇首的競爭范圍:
10. if 距離d(Si,靜態接收器)增大
then 競爭范圍Ri增大
else if 距離d(Si,靜態接收器)減小
then 競爭范圍Ri減小
11. 選擇CH為FCH
本文算法在每輪中測量的冗余能量(RE),其從當前的Round(輪次)開始,直到達到最終節點。
在本輪中,CH消耗的能量為:
冗余能量=RE+S(i)×E
(10)
平均冗余能量(ARE):
(11)
則每輪的總能量消耗(TEC):
TEC(Round+1)=E0×n-RE(Round+1)
(12)
如果網絡中有n層可用,節點平均能耗為:
(13)
TEC由所有傳輸能量、接收能量、空閑能量和睡眠模式能量的平均值組成。結果顯示系統中存在總的死亡和活動節點,對于這種情況,每個節點都能夠將2 000位的數據包傳輸到接收器。此時,當傳輸距離較小和/或無線電能量較高時,則使用等量的能量進行發送和接收。
在連續監測應用中使用雙重接收器可減少能耗問題。所提出的雙重接收器基于靜態和移動接收器用于聚合數據傳輸網絡模型。在網絡的中心,固定靜態接收器從附近的CH收集數據,移動接收器在網絡區域中以直線運動形式朝靜態接收器移動。
在傳輸m比特信息時,靜態接收器的網絡坐標表示為:

(14)
移動接收器的線性路徑坐標表示為:

(15)
數據包到接收器的傳輸取決于簇首到移動或靜態接收器之間的最小距離,在聚類間具體的通信流程如圖4所示。

圖4 聚類間通信的流程
在無線傳感器網絡中,由于節點的部署具有隨機性與高密度性,所感應的信息具有冗余性、實時性、成本低等特點,而數據融合便可充分利用數據特征,有效減少冗余性,增強互補性。
為了更加客觀地對數據權重進行處理,提出一種自適應加權數據融合技術,準確度更高,并且能夠減少異常數據。提出的自適應加權數據融合技術中,當總方差最小時,自適應地尋找最優加權因子,從而得到最優的融合數據。
(16)
總方差σ2為:
(17)
(18)

(19)
對函數求極值,可得模型所對應的最優加權因子以及總方差的最小值:
(20)
在實驗過程中,基于有效的簇首選擇以及基于DR-DFT的簇首優化聚類算法使用雙重接收器進行數據傳輸,分析了網絡中每個節點的特性及其性能。使用MATLAB測試所提出的方法。在這項工作中,用100個節點模擬1 000 m×1 000 m的地形區域。假定網絡區域的最大競爭范圍為40 m。
在仿真結果中,討論了本文方法與現有的EEUC技術[11]、MRRCE技術[13]的比較。除此之外,通過實驗以確定活動節點和死節點的數量、冗余能量、平均冗余能量、總能量損耗、平均能量損耗和網絡壽命。仿真所用參數如表1所示。

表1 WSN仿真參數
在仿真時,每個節點都有自己的能量,能量用于與近鄰節點通信以進行數據傳輸。活動節點具有4 250個隨機選擇輪,如圖5所示。本文方法與EEUC技術、MRRCE技術進行比較。本文算法將活動節點數保持為較高的值,直到系統達到4 250輪。

圖5 活動節點數
圖6顯示了不同輪次的死節點數,且本文系統的死節點數很少。當第一個節點失去其完整能量時,該輪數即網絡壽命。可以看出,第一個節點在1 150輪處死亡,因此網絡壽命為1 150。

圖6 死節點數
圖7顯示了本文方法與現有的EEUC技術、MRRCE技術的冗余能量。平均4 200個節點的聚類節點的能量損耗是平衡的且接近最小值。

圖7 對應輪次每個節點的冗余能量
圖8顯示了在不同輪次中的平均冗余能量。

圖8 對應輪次每個節點的平均冗余能量
圖9顯示了考慮TCH和FCH方案的情況下,三種方法總能耗的比較。當考慮平衡能耗方案時,使用最佳能量配置。本文方法平衡了能耗,增加了每個傳感器節點的傳輸速率。因為考慮到這一點,所以每個傳感器節點的能耗都很低。

圖9 對應輪次每個節點的總能耗
圖10顯示了每個節點的執行時間。將本文方法與EEUC技術和MRRCE技術進行比較,其中EEUC和MRRCE都采用單接收器。

圖10 對應輪次每個節點的執行時間
可以看出,相比其他兩種方法,本文方法執行時間較長。分析可知,由于雙向接收器中的靜態接收器位置相對固定,接收信號范圍有限,而動態接收器在移動過程中會占用一定的時間,因此,相比基于單接收器的方法,本文方法一定程度上增加了耗時。但總體上看,相比其他2種方法而言,本文方法執行時間并未增加太多,仍然在可以接受的范圍內。
將本文方法與現有的EEUC技術、MRRCE技術的網絡壽命進行比較如表2所示。可以觀察到,本文方法具有更長的網絡壽命。

表2 網絡壽命比較
針對WSN中能量分布不均衡且網絡壽命較短等問題,提出一種利用雙傳感器結合自適應加權數據融合技術的WSN簇首優化聚類算法,以減少能耗,延長網絡壽命。數據采集和傳輸過程中,該方法使用雙重接收器,通過移動接收器減少了節點的能量消耗,利用自適應加權數據融合技術對節點收集的數據進行有效信息提取。實驗結果表明,與EEUC和MRRCE技術相比,本文方法在活動節點數量、冗余能量、平均冗余能量、總能耗等方面取得了更好的結果。雖然在執行時間上略有增加,但顯著提高了連續監測無線傳感器網絡的網絡壽命以及降低了能量損耗。
未來會在雙重接收器的基礎上,考慮使用多重接收器進行數據搜集和傳輸,并利用機器學習優化聚類算法降低WSN的能耗,從而進一步提高生命周期。