潘繼強,劉 杰,達列雄,黃現代
(陜西理工大學 數學與計算機科學學院,陜西 漢中 723000)
無線傳感器網絡(wireless sensor networks,WSN)[1-3]是一種分布式傳感網絡,它的末梢是可以感知監測區域的傳感器.隨著計算機技術和微電子技術的不斷發展,有效推動了低功率多功能傳感器的快速發展,多功能傳感器也依據自身數據無線傳輸的優越性被廣泛使用,已成為現代監測技術的前沿技術.但異構無線傳感器網絡由于自身的體積問題,攜帶的電池能量有限,監測環境復雜會使更換電池問題無法實現.并且異構無線傳感器網絡節能分簇路由通信時,若通信節點工作能耗較大,會直接影響網絡的使用壽命,影響無線傳感器網絡的正常運行.因此,異構無線傳感器網絡[4-5]的能耗優化尤為重要.針對該問題,為減少網絡的碰撞概率以及網絡通信的荷載問題,對異構無線傳感器網絡實施節能分簇路由方法,就成為傳感器網絡技術領域亟待解決的問題.
文獻[6]首先詳細分析了異構無線傳感器網絡的能耗無線電一階模式,構建了異構無線傳感器網絡的能耗模型;在此基礎上,獲取網絡簇群請求節點接收信息的編碼時隙,轉發數據并令其穩定傳輸;結合狼群算法建立網絡路由路徑,實現無線傳感器網絡的分簇路由優化.但由于獲取的網絡簇群請求節點接收信息編碼時隙與實際結果之間存在較大誤差,所以該方法在網絡節點路由通信時節點死亡數量較多.文獻[7]首先在簇頭選舉階段基于節點剩余能量以及節點密度信息確定簇頭權值,并以此修正簇頭閾值;再使用簇間路由算法計算簇頭與鄰居簇頭的鏈路質量,找出最佳簇頭完成簇間路徑的建立,實現無線傳感器網絡的分簇路由通信.但根據節點剩余能量以及節點密度信息確定簇頭權值存在問題,所以該方法在節點通信時,節點節能程度較差,傳輸能耗輸出較大.文獻[8]首先根據粒子群優化算法對模糊均值算法實施優化模糊,并根據節點剩余能量更新網絡簇首,平衡簇內負載;再基于距離因子以及節點負載系數建立路徑評價函數,使用貓群優化算法搜索最佳路由路徑,實現網絡通信.但該方法在實際應用中未能對網絡節點實施分布優化初步節省節點傳輸能耗,因此導致傳輸能耗輸出較大,通信節能效果較差.
為解決上述異構無線傳感器網絡節能分簇路由過程中存在的問題,本文提出一種基于能量迭代模型和蜂群優化算法的異構無線傳感器網絡節能分簇路由算法.
開展異構無線傳感器網絡節能分簇路由通信時,需先在分簇路由通信前,分析異構無線傳感器網絡,構建網絡通信能耗模型[9],并結合差分蜂群算法及時優化網絡節點分布,為后續網絡節點分簇路由通信做好準備.
異構無線傳感器網絡節點能耗主要用于數據接收,采用分簇協議模型(low energy adaptive clustering hierarchy,LEACH)進行網絡節點通信,設網絡中通信節點i和j位置為(xi,yi),(xj,yj),則獲取通信節點距離為

(1)
基于上述確定的通信節點距離,選取信道模型,設通信節點的接收發送能耗為A,將建立的網絡能耗模型表述成T,以獲取節點數據發送時距離為ζ的節點發送能耗.設節點發送接收信息時的比特數為k,節點距離為d,則節點發送能耗AT(k,d)的計算過程為

(2)
其中βf表示網絡自由空間信道模型的功率放大能耗,βm表示多徑衰落模型功率放大能耗,d0表示節點傳輸距離閾值.
根據上述計算結果,獲取異構無線傳感器網絡節點接收時的接收能耗[10]為
AR(k,d)=kA(kA+kβfβm),
(3)
其中AR(k,d)表示節點接收的能耗.
基于上述獲取的節點接收、發送能耗值,獲取通信節點簇頭能耗分布以及非簇頭能耗分布,以完成能耗模型的建立,過程為

(4)
其中Ac表示異構無線傳感器網絡中簇頭節點的能耗分布,Af表示非簇頭節點的能耗.
基于上述建立的節點能耗模型,設網絡區域為p×q,區域內有N個無線傳感器節點且節點感知半徑為r,網絡節點集合表述成B={b1,b2,…,bN}形式,基于歐氏距離計算結果確定的節點距離[11],結合二元感知模型獲取網絡通信節點i與j之間的感知概率值為

(5)
其中d(bi,cj)表示節點距離,υij表示獲取的網絡通信節點i與j之間的感知概率值.即在當前感知范圍外,節點的感知概率恒為0,說明該節點被覆蓋的概率時間為P.因此,將網絡目標區域內節點集合B的區域覆蓋率設為G(B),將其作為節點集與網絡區域之間的面積比,以完成網絡通信節點分布優化的問題描述:

(6)
無線傳感器網絡節點根據分布優化算法不斷調整自身位置,從而提升無線傳感器網絡在目標區域中的覆蓋密度.根據獲取的無線傳感器網絡通信節點分布優化問題描述結果,采用差分蜂群算法對通信節點實施分布優化處理[12],為后續通信節點分簇路由通信做好初步準備.節點分布優化流程如下.



(7)

4) 跟隨蜂通過計算的解向量概率值進行鄰域節點搜索,獲取新的解向量,并基于貪婪算法比較節點適應度值,記錄比較結果找出全局最佳適應度解及其相關參數.
5) 對上述流程迭代計算,找出無線傳感器網絡節點的全局最優解,從而完成網絡通信節點的分布優化.
基于網絡節點分布優化結果,制定異構無線傳感器網絡節能分簇方法,使用能量迭代簇頭選舉方法[13],確定簇頭獲取簇頭半徑,完成異構無線傳感器網絡的通信節點節能分簇,并結合多跳的路由通信方式,在節省節點能耗的基礎上,實現異構無線傳感器網絡的節能路由通信.
根據上述確定的傳輸模型以及衰落模型發射最大功率能耗,獲取最優簇頭數目的數學表達式為

(8)
其中O2表示網絡目標區域的節點分布優化結果,U表示網絡的總節點數量,dtk表示節點至基站節點之間的距離.由于上述網絡路由協議不適用于基站節點,導致通信路由路徑通信能力較差,所以需要將節點剩余能量及最小平均可達能耗作為通信節點分簇目標,使用概率迭代選簇方法,完成異構無線傳感器網絡的通信節點節能分簇.過程中設節點的最大存儲能耗為Emax,節點的最小收斂概率為ηmin,以此獲取網絡節點的成簇概率值,完成節點簇頭的選取,并使用非均勻的分簇算法獲取簇頭的分簇半徑,過程如下:

(9)
其中γ表示網絡節點的簇頭優化比例,Es表示節點剩余能耗,Rmax表示節點簇半徑最大值,ρ表示節點成簇概率,max(dtk)表示簇頭節點與基站節點之間的最大距離,min(dtk)表示簇頭節點與基站節點之間的最小距離,ι為控制參數,Rc為網絡節點分簇半徑.
為有效縮減節點通信能耗,需使通信網絡節點簇頭分布更均勻,可利用能量迭代的簇頭選舉方法確定簇頭節點,從而有效規避簇頭節點受能耗問題的影響而過早失效的情況,同時避免出現能量空洞現象.
設節點能量迭代選舉時的因素權重為κ,網絡在選舉輪次中的平均消耗能量為Eg,則確定網絡節點的最優簇頭為

(10)
其中Eh表示選舉過程中的節點能量消耗值,λ表示確定的節點最優簇頭.
根據上述確定的網絡最優簇頭實現異構無線傳感器網絡節點的節能分簇[14].
完成網絡節點分簇后,設定通信簇頭節點與基站之間的距離,確定節點通信時的路由等級,過程如下:

(11)
其中C(Ha)表示簇頭節點a至基站的相對距離,Rc為成簇半徑,level(Ha)表示獲取的路由等級.
基于上述計算結果可知,網絡進行節點路由通信時,路由等級越小表示簇頭節點與基站之間距離越短[15].基于確定的路由等級,利用簇頭節點進行簇內廣播,設廣播發送能耗為et,普通節點接收能耗為eu,以此確定數據傳輸至下一跳的所需能耗值[16],并找出其中的最低能耗傳輸路徑,過程如下:

(12)
其中ω為節點剩余能量權值,etE(Ha)為簇頭節點傳播能耗,euE(Ha)為接收能耗,μC(Ha)為傳輸數據至下一跳的節點能耗總和,θ為最低能耗傳輸路徑.
異構無線傳感器網絡的節能分簇路由通信流程如圖1所示.

圖1 異構無線傳感器網絡節能分簇路由流程Fig.1 Energy efficient clustering routing flowchart for heterogeneous wireless sensor networks
實驗采用基于能量迭代模型和蜂群優化的異構無線傳感器網絡節能分簇路由算法、考慮網絡吞吐量的異構無線傳感器網絡分簇路由算法[6]、無線傳感器網絡中一種能耗均衡的分簇路由算法[7]進行對比測試.
實驗過程中,利用MATLAB軟件虛擬建立一個異構無線傳感器網絡,并設網絡中存在2 000個節點隨機散布在500×500的二維目標范圍內.實驗環境: 節點初始能量為2 J,睡眠能耗為0,發送、接收節點損耗為45 nJ/bit,最小連通度為12 k,數據包長為510 byte,簇頭節點數量為40個.
基于上述設定的測試環境,使用上述3種方法進行網絡節能分簇路由通信,從通信過程的節點死亡數量、節點傳輸過程能耗節能效果兩方面驗證不同方法的有效性.
分別使用本文方法、文獻[6]方法和文獻[7]方法進行傳感器網絡節能分簇路由通信,測試不同方法的網絡節點死亡數量,測試結果如圖2所示.

圖2 不同方法網絡節點死亡數量測試結果Fig.2 Test results of number of network node deaths using different methods
由圖2可見,在異構無線傳感器網絡節點通信過程中,隨著網絡節點接收、發送數據時間的增加,3種方法測試出的節點死亡數量呈不同程度的上升趨勢.其中: 文獻[6]方法簇頭節點數據傳輸節點死亡數量最多為34個,普通節點數據傳輸節點死亡數量最多為17個;文獻[7]方法簇頭節點數據傳輸節點死亡數量最多為27個,普通節點數據傳輸節點死亡數量最多為19個;而本文方法簇頭節點數據傳輸節點死亡數量最多為22個,普通節點數據傳輸節點死亡數量最多為16個.實驗結果證明本文方法節點的死亡數量低于其他兩種方法.這是因為在進行網絡節能分簇路由通信前,本文方法及時對網絡節點進行了分布優化處理,優化了節點位置,初步節省了傳輸能耗,減少了節點的死亡數量.
對上述3種方法進行網絡節能分簇路由通信時,分別對不同方法的節點傳輸能耗進行測試,測試結果如圖3所示.

圖3 不同方法的節點傳輸能耗測試結果Fig.3 Test results of node transmission energy consumption using different methods
由圖3可見,在異構無線傳感器網絡節能分簇路由通信時,隨著網絡中節點接收、發送數據時間的不斷增加,3種方法測試出的節點使用能耗均呈不同狀態的上升趨勢.其中在進行異構無線傳感器網絡節能分簇路由通信時,文獻[6]方法節點傳輸最大能耗為28 nJ/bit,文獻[7]方法節點傳輸最大能耗為37 nJ/bit,而本文方法節點傳輸最大能耗為21 nJ/bit,低于對比的兩種方法.實驗結果表明,經本文方法進行異構無線傳感器網絡節能分簇路由通信時,網絡使用壽命較長,網絡節能分簇路由通信較好.
綜上所述,針對傳統路由通信方法中存在的問題,本文提出了一種基于能量迭代模型和蜂群優化的異構無線傳感器網絡節能分簇路由算法.該方法先對網絡節點進行分布優化,再在此基礎上利用能量迭代算法選取最佳簇頭完成分簇處理,并結合多跳路由算法實現對異構無線傳感器網絡的節能分簇路由通信.