APP下载

基于无线传感器对网络覆盖优化控制研究

2016-10-21王广超王振荣

电子技术与软件工程 2016年5期

王广超 王振荣

摘 要 在无线传感器网络中将传感器节点通常部署在高密度、大规模目标区域中,导致网络覆盖区域中大量节点相互重叠,同时网络的可靠性和监测质量达不到预期的目标。由于节点的相互重叠会导致数据在采集、传输产生大量冗余,从而导致消耗节点不必要的能量。为了解决此问题,提出了一种基于感知半径调整算法ASRA(Adjustment Sensing Radius Algorithm),通过感知半径对节点的调整,使网络中的传感节点能够充分降低网络的覆盖冗余,尽可能地减少传感节点在采集数据和传输过程中的能量消耗,从而延长网络生存周期。

【关键词】传感器网络 覆盖控制 感知半径调整

1 引言

无线传感器网络中的传感器节点通常大规模、高密度部署且大量节点同时工作,节点的能量有限,这将会使节点的生存时间在网络中变短,达不到预期的效果。因此,对节点合理的进行调度是研究覆盖控制的主要目标。

在保证节点感知半径的调整过程中对覆盖网络连通不产生任何影响的基础上,为了有效提高节点的覆盖控制提出了一种基于感知半径调整算法ASRA(Adjustable Sensing Radius Algorithm),更大程度关闭网络中的冗余节点,尽可能的降低节点的能量消耗,让各个节点相互协作,从而延长整个网络的生存期。

2 感知半径调整算法原理

在调整算法开始时,设节点O的最大感知半径为R,节点O首先根据邻居信息判断感知圆是否为全约束状态,若不是全约束状态,则感知半径仍为最大感知半径,且保持不变,以尽可能的能力覆盖μ邻居集的覆盖空洞区域。若具有全约束状态,则计算出节点O的全部邻居感知圆在该节点感知圆内彼此两两相交所构成的交点集合PointsSet。

若PointsSet中元素个数为零,则可判断节点O的感知区域完全被其邻居节点覆盖,此时可以将节点O的感知半径调整为零。当各节点的最大感知半径相等时,节点感知圆不具有全约束状态且PointsSet中元素为零的情况不存在的,此处做一次判断是为了尽可能的使算法兼顾最大感知半径变化的情况。

若PointsSet中的元素个数不为零,则将PointsSet中的节点分为以下两类:

(1)盲区顶点

(2)普通圆内交点

如果PointsList中不存在空洞顶点,说明A的邻居节点能够完全覆盖A的感知区域,此时,A的感知半径可以调整为零。

若PointsSet中不存在盲区顶点,则说明O的感知区域能够被μ的邻居节点完全覆盖,此时,O的感知半径可以调整为零。

若PointsSet中存在盲区顶点,说明O的感知圆内包含有μ邻居集的覆盖盲区,则可对节点O的感知半径进行调整。如图1所示,在O的感知区域范围内由其邻居集{O1,O2,O3,O4,O5,O6}形成闭合型盲区区域,记为φ,围成φ的圆弧交点构成盲区顶点记为P1,P2,...Pn。当一个节点的感知圆处于全约束状态即不存在自由圆弧时,可将该圆的感知半径调整为该节点与内部盲区节点距离中最远的距离,在此调整正中为全约束变化,不会产生新的覆盖盲区。此时,节点O的最大感知半径为Rmax,圆内离O点最远的盲区顶点到O点的距离为d,在保证覆盖盲区区域φ的不会导致新的覆盖盲区的产生,可将节点O的感知半径d调整为全约束状态。在降低了网络的冗余程度的同时减小了节点的感知半径和能量消耗,从源头上减少数据冗余。

3 算法详细步骤

(1)首先搜寻μ邻居节点集NBPOINTS的信息,使其节点信息相互交换信息,同时获取所有μ邻居节点的圆心坐标和当前感知半径。

(2)查询邻居节点个数NBPOINTS.COUNT是否为零,如果为零则转步骤7,如果不为零则转3。

(3)判断该节点的感知圆是否处于全约束状态,如果存在则转步骤7,否则转步骤3。

(4)计算在本圆内所有邻居节点的感知圆的交点集合PointsSet.COUNT,如果PointsSet.COUNT等于零,则转步骤6;否则转步骤5;

(5)在步骤4中计算本圆内所有交点集合PointsSet,如果不存在盲区顶点,则转步骤6;如果存在盲区顶点,则PointsSet.COUNT>0,则找出离该节点最远的点到该节点的距离d = max(d(o,p1),d(o,p2),…,d(o,pn)),并将节点的传感半径调整为d+即this.=d+(>0),则转步骤7;若加后的值大于该节点的最大感知半径,则将其感知半径调整为最大感知半径为Rmax,其中为误差控制参数,以免去因误差导致的覆盖盲点。

(6)将节点的感知半徑this.r调整为零,此时节点的感知范围区域被邻居 节点完全覆盖,所以将其调整为零。

(7)算法完成。

4 仿真与结果分析

本算法在OMNET++网络仿真平台上进行模拟仿真实验。在200x200m2的感知区域内随机部署800个感知节点,且所有感知节点的最大半径为20m,图A显示所有感知节点半径未被调整前的网络覆盖情况;图B显示经过感知半径调整后的网络覆盖情况。

5 总结

由于无线传感器网络随机部署大量的传感器节点,从而导致节点的覆盖冗余度太大,产生大量冗余信息在网络中传输,给网络能量带来极大的浪费,本文提出了一种基于感知半径调整算法ASRA (Adjustment Sensing Radius Algorithm),通过μ邻居节点信息来调整感知半径,极大的降低网络的覆盖冗余和节点能量,详细描述感知半径算法调整原理,画出感知半径调整示意图,通过模拟仿真对感知半径调整效果、覆盖冗余度实验分析,证明了算法对网络覆盖控制的优越性。

参考文献

[1]李海坡,杜庆伟.一种能量有效的无线传感器网络覆盖控制算法[J].小型微型计算机系统,2011(02):233-6.

[2]唐林俊.无线传感网络中部分覆盖与拟连通冗余节点的研究[J].传感技术学报,2011(06):895-9.

[3]蒋丽萍,王良民,熊书明,詹永照.基于感知概率的无线传感器网络k重覆盖算法[J].计算机应用研究,2009(09):3484-6+9.

[4]任秀丽,教传亮,薛建生,于海斌.与节点位置无关的无线传感器网络覆盖控制算法[J].小型微型计算机系统. 2011(01):121-5.

[5]王换招,孟凡治,李增智.高效节能的无线传感器网络覆盖保持协议[J]. 软件学报,2010(12):3124-37.

[6]顾晓燕,孙力娟, 郭剑,肖甫.无线传感器网络覆盖质量与节点休眠优化策略[J].计算机仿真,2011(09):127-31.

作者简介

王广超(1983-),男,山东省枣庄市人。硕士研究生学历。主要研究领域为无线传感器网络。

王振荣(1988-),男,山西省大同市人。硕士研究生学历。主要研究领域为无线传感器网络。

作者单位

北方民族大学 计算机科学与工程学院 宁夏回族自治区银川市 750021