李彬 向敏 趙旭東
摘? 要:無線傳感器節點攜帶的能源是有限的,制約了網絡的工作壽命。為了提高節點的能量利用效率,提出一種進行區域動態劃分的分簇方法。通過Sink節點以區域中心為原點劃分角幅度相等的子區域,并對分區進行動態控制,然后將每個子區域作為一個簇,從中選擇簇頭節點負責將簇內的數據傳輸至Sink節點,從而降低了網絡節點能耗。仿真結果表明,通過與LEACH、LEACH-C分簇算法進行對比,該分簇方法提高了節點的能量利用效率,延長了網絡的工作時間。
關鍵詞:無線傳感器網絡;動態分區;分簇;能量效率
中圖分類號:TP393? ? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2019)07-0026-03
Abstract: The energy carried by wireless sensor nodes is limited, which restricts the working life of the network. In order to improve the energy efficiency of nodes, a clustering method for dynamic region partition is proposed. Through the Sink node, the sub-region with equal angular amplitude is divided with the center of the region as the origin, and the partition is dynamically controlled, and then each sub-region is regarded as a cluster, from which the cluster head node is selected to transmit the data in the cluster to the Sink node. Thus, the energy consumption of network nodes is reduced. The simulation results show that compared with LEACH and LEACH-C clustering algorithm, this clustering method improves the energy efficiency of nodes and prolongs the working time of the network.
Keywords: wireless sensor networks (WSN); dynamic partitioning; clustering; energy efficiency
1 概述
無線傳感器網絡(wireless sensor network, WSN)一般是由部署在各類監測區域范圍內的數據采集傳感器節點和Sink節點(基站或網關)組成的網絡,節點可通過單跳或多跳的無線通信方式進行網絡數據傳輸。WSN在環境監測、災害預警、動植物管理等眾多領域得到了廣泛應用,在大部分應用中傳感器節點被部署后,節點的能源將得不到補充,由于節點的能量是非常有限的,能源的利用效率將影響網絡的工作時間。因此,如何提高無線傳感器網絡節點的能量效率一直以來是一個重要的研究課題。
在眾多的研究中對無線傳感器網絡進行分簇是一種有效提高節點能量利用效率的方式。分簇是將網絡中的節點分成多個區域,區域內的節點距離相近而形成一個簇,然后在每個簇中選擇一個簇頭,其余節點為簇成員節點。簇頭在收到簇內節點的數據后將其傳輸給Sink節點。常用的分簇算法可分為分布式分簇算法和集中式分簇算法[1]。分布式分簇算法一般用于節點位置和能量信息未知的網絡中,簇頭選擇是隨機的,雖然保證了各個節點都有相同的概率被選為簇頭,可以有效的延長網絡生存時間,但是存在網絡能耗不均衡問題。在集中式分簇算法中,由Sink節點通過獲取所有節點的位置和能量等全局信息進行分簇,降低網絡節點的能耗效果較好,應用研究較多。文獻[2]提出一種基于位置和剩余能量的局部集中式分簇算法LEACH-LC,并采用模擬退火算法確定局部較優的分簇,能量效率優于LEACH-C算法。文獻[3]提出一種基于能量估算的集中式分簇算法LEACH-EE,通過各個簇的數據量來估算每個簇內節點的能量消耗情況來確定下一輪的簇頭和簇結構。文獻[4]提出基于混合CS的WSN六邊形格狀優化分簇路由算法,減少了網絡數據傳輸次數,均衡了網絡能耗。文獻[5]對監測區域進行等間距環劃分和等夾角扇形劃分,形成非均勻多跳分簇路由算法,保證了網絡能耗效率最優,延長了網絡生存周期。本文通過對無線傳感器網絡的監測區域進行動態區域劃分的方式,提出一種基于動態分區的集中式分簇方法。
2 網絡與能耗模型
2.1 網絡模型
本文研究參考文獻[6]對無線傳感器網絡進行如下假設:
(1)每個節點具有相同的初始能量,節點有唯一的設備ID,都可以作為簇頭節點,節點作為簇成員節點時可以根據到簇頭的距離調節發射功率;
(2)節點的位置固定且都可以直接與Sink節點通信,節點之間相互獨立,不受其他節點的影響;
(3)Sink節點具有較高的計算、存儲能力,能夠獲取網絡節點的位置和能量等全局信息,其自身能量遠多于傳感器節點;
(4)簇頭節點可以對簇內的數據進行數據融合,減少數據的傳輸量。
2.2 能耗模型
由于數據處理的能耗遠遠小于數據傳輸的能耗,因此本文忽略節點數據計算和存儲的能耗,采用文獻[5]中的能耗模型,在傳輸lbit數據到距離d的節點能耗為
3 基于動態分區的成簇方法
節點均勻的分布在監測區域內與Sink節點構成無線傳感器網絡,Sink節點通過獲取的節點位置信息以區域中心為原點進行s個角幅度相等的子區域劃分,其中s?2由區域內的節點個數和密集程度決定,區域劃分后有編號從1到s的子區域。現將各個子區域分別作為一個簇,在Sink節點處通過計算選出各個子區域內剩余能量最高的節點作為簇頭,并將控制信息和簇內的成員節點地址發送給對應的簇頭節點,各個子區域的簇頭節點通過廣播發送消息給其成員節點,并利用TDMA協議為每個成員節點分配時隙,節點在非時隙處于休眠狀態以減少能耗。然后各個簇建立之后,簇內的成員節點每隔周期時間T上傳一次監測數據。為了使各個簇內的節點能耗均衡,每個節點在上傳r次數據后對簇頭節點進行輪換。
通過在Sink節點處的計算控制每次能夠選擇剩余能量較高的節點作為簇頭節點,保證了每個簇內的節點能耗均衡,但是由于不同子區域節點數目存在差異,不同子區域內節點平均能耗不同,因此如果只使用固定分區的方式進行簇的建立會使整個網絡的節點能耗不均衡,從而影響網絡性能。現對區域劃分位置進行改變,在每一次重新選取簇頭節點前將所有子區域的當前劃分位置向同一方向旋轉Δα,Δα<,并使Δα滿足在經過h次重新劃分區域后h.Δα=,這樣在經過h·rT時間后的區域劃分將與第一次進行的區域劃分相同,如圖1所示為區域被劃分為5個子區域的動態分區及簇的形成過程。
4 仿真分析
本文在Matlab平臺上對設計的分簇方法進行仿真,并與常見的分簇算法LEACH、LEACH-C進行能耗性能對比,以20%的網絡節點死亡時的時間作為有效網絡生命周期衡量指標。具體的仿真參數為:50個初始能量為2J的節點分布在200m×200m的區域內,Sink節點位于區域的中心,如圖2所示。并設置區域劃分數量s為5,每次節點上傳數據次數r為30,數據包的長度l為4000bit,發送數據的周期T為60s,每次子區域位置旋轉角度Δα為24°,其它能耗參數Eelec為50nJ/bit,εfs為10pJ/bit/m2,εmp為0.0013pJ/bit/m4。
通過仿真可以得出周期發送數據的次數即網絡生命周期與節點存活數量的關系圖,如圖3所示,對比LEACH、LEACH-C和只進行固定分區的分簇算法可以看出,在節點死亡數量達到20%時進行動態分區的分簇方法工作時間最長,因此該方法的網絡節點能量利用效率最好。
5 結束語
本文針對無線傳感器網絡工作壽命受到節點能源制約的問題,提出一種能夠提高節點能量利用效率的動態分區成簇方法。通過Sink節點具有較高的計算存儲等能力,實現對區域進行多個子區域的劃分,然后將各個子區域分別作為一個簇,從中選擇簇頭負責簇內節點的數據上傳,并通過動態分區控制方式均衡了區域內節點的能耗。仿真結果表明該分簇方法不僅能夠減少網絡節點的能耗,而且改善了網內節點能耗均衡性能,從而延長了監測網絡的工作時間。
參考文獻:
[1]徐晶晶,張欣慧,許必宵,等.無線傳感器網絡分簇算法綜述[J].計算機科學,2017,44(02):31-37.
[2]馬建樂,楊軍.基于位置和剩余能量的局部集中式LEACH算法研究[J].傳感技術學報,2013,26(08):1147-1151.
[3]劉國梅.WSN的一種基于能量估算的集中式分簇路由協議[J].單片機與嵌入式系統應用,2013,13(04):15-17+44.
[4]崔燦,孫毅,陸俊,等.基于混合CS的WSN六邊形格狀優化分簇路由算法研究[J].通信學報,2016,37(05):176-183.
[5]胡源,牛玉剛,鄒媛媛.基于區域劃分的WSN非均勻多跳分簇路由算法[J].控制與決策,2017,32(09):1695-1700.
[6]孫彥清,彭艦,劉唐,等.基于動態分區的無線傳感器網絡非均勻成簇路由協議[J].通信學報,2014,35(01):198-206.