聂韶华
(临沂大学 计算机学院,山东 临沂 276000)
无线传感器网络(wireless sensor networks,WSNs)通过多个小型的低成本传感器节点组成,可以以投放等方式随机部署在地形复杂的区域,节点在有限的感测范围内采集数据,并以多跳的方式将数据汇聚到终端[1,2]。由于节点的感测半径有限,为了扩展无线传感器网络的覆盖面积,并在能量有限的条件下尽可能地延长网络的工作寿命,在目前的传感器网络研究中,人们采用了中继传输方式,将网络的部分节点作为中继节点,中继节点作为邻近节点的数据转发站点,负责与其它中继节点通信或与汇聚端直接通信,保证各节点采集到的数据传送至汇聚端。中继节点在邻近节点所构成的集群中充当着簇头的作用[3,4]。由于集群中的节点只需要与中继节点保持通信,不需要与其它多个节点保持通信,因此加入中继节点后,每个集群的覆盖面积得到了提升,而且数据聚合的方式节省了集群中节点更多的传输能耗。由于节点投放的环境复杂,一般采用电池供电,因此对节点进行能量控制很有必要[5,6]。在中继网络中,中继节点相比集群内的传感器节点具有更大的能量消耗量,因此在本文中对能耗控制研究主要集中在中继节点,本文提出的能量感知协议对中继节点进行状态调度,根据任务要求使得中继节点在运行和休眠状态中切换,根据能量消耗最小化为目标,自适应地调度中继节点的动作状态。
对于中继无线传感器网络能量问题的研究,关注中继节点选择方式的算法较多,这些算法在提升中继无线网络的能量效率上取得了一定成果,例如Sheng等[7]提出的一种中继无线多媒体网络节能中继选择算法,该算法的特点是通过优化协同传输的译码和转发来减少总能耗,对于中继节点的选择采用的是一种节能中继选择规则,该规则主要考虑节点的功率效率方面,虽然会带来额外的带宽开销,但在均衡节点能耗上具有一定优势。Lee等[8]提出的一种基于能量感知的多接口无线传感器网络中继选择和路由算法,该算法的特点是采用了一种高性价比的中继节点选择方式,选择的中继节点能够在数据传输所需的最低能量限度下,以较短的时间期限完成数据传输任务。虽然选择的路由可能使得个别节点的能量负担加大,但在网络的能量效率上得到了进一步的提升。本文在实验部分将与这两种算法进行能量性能的对比,进一步评估基于中继状态调度的方法在提高网络能量效率上的有效性。
图1 双层系统模型
图2 节点i的时间帧t
根据各状态给定的功率值和持续时间,每一个中继节点i在时间帧内所消耗的能量值为
(1)
(2)
由于状态调度的目的是最小化能量成本,本文采用二次成本函数来表示状态调度问题,得到单位帧内中继节点的最小化总能量方程
(3)
由于网络的衰落信道随时间而变化,因此考虑到信道增益λi是一个随机变量,时间帧是相对于λi的期望,本文将中继节点的最小化总能量方程转化为
(4)
式中:Υλi是相对于λi的期望。
式(4)是包含了对中继节点状态和时间帧的联合优化调度,为了寻找整体的解决方案,在本节中采用双分解来解决联合优化问题[10],首先形成式(4)的拉格朗日函数
(5)
式中:C表示原始变量,a≥0,b≥0,ω是拉格朗日乘子,相对于原始变量C的优化会产生一个对偶函数
(6)
该函数为寻找式(4)的最佳解决方案提供了一个下限,该下限可以通过对偶问题得到
(7)
对式(5)、式(6)采用表达式分解转化为
(8)
(9)
其中,Hi(a,b,ω)的表达式为
(10)
(11)
(12)
(13)
(14)
(1)Initialization:t=0,a0,b0,ωi,0,i∈N
(2)Whilet∈Tdo
(3)fori∈Ndo
(5)nodeiupdatesωi,t
(6)end for
(7)Sink updatesatandbtand then broadcast to nodei
为了验证中继状态调度算法在无线传感器网络能量效率上所表现出的性能,实验部分主要采用对比分析的方法来进行算法性能评估,并对算法的性能进行了定量的比较和分析,其中,对统计量的定义有如下几个方面:
(15)
式中:Ej表示节点j的能耗,用M表示网络的节点数,Crec表示汇聚节点成功接收到的数据分组数量。
(2)数据包丢失率。用φ表示
(16)
式中:CV——源节点发送的数据分组总数量。
(3)网络寿命。由于节点死亡会对网络链路造成影响,影响网络的正常运行,因此在本文实验中以第一个节点的死亡时间减去网络初始运行的时间作为网络的生命寿命。
算法的软件仿真平台采用的是OPNET14.5,其它仿真参数见表1,仿真过程中各算法的仿真环境一致。
表1 仿真环境参数
在图3所进行的实验中,随着网络节点个数的增加,网络的数据分组平均能耗量也逐渐提升。与节能中继选择算法和基于能量感知的中继选择算法相比,采用中继状态调度算法时网络的数据分组平均能耗有所降低。以该实验中参与仿真的网络节点个数为60个为例,采用中继状态调度算法时,数据分组平均能耗量对比另外两种算法分别减少了(0.000513J-0.000472J)/0.000513J≈8.0%、(0.000563J-0.000472J)/0.000563J≈16.2%。节能中继选择算法虽然通过译码减少了转发量,中继的优先选择也减少了传输能耗,但中继状态调度算法在保证数据转发任务正常执行的条件下最小化了节点的活跃期,使节点在网络寿命期间用于发送/接收的能耗更小。基于能量感知的中继选择算法虽然缩短了单个数据任务的传输时间,但随着网络节点的增多,网络的数据流量相应提升,单位时间内的任务完工时间越短,意味着单位时间内处理的数据分组数量越多,节点的平均能耗相比前两种算法就更大。
图3 数据分组平均能耗量比较
图4显示了3种算法的数据分组丢失率随着网络节点数的不同而变化的情况。可以看出,3种算法都保持着较低的数据分组丢失率,整个仿真过程中都低于1.25%。其中,中继状态调度算法随着网络节点数量的增多,其数据分组丢失率并不会产生较大的变化,由于算法包含了单位时间内接收数据位的平均数量约束,因此当网络总数据量增多时,数据包碰撞概率仍然较低。节能中继选择算法由于传送的控制分组数量明显提升,在信道竞争激烈的情况下数据分组的丢失率逐渐升高。
图4 数据分组丢失率比较
图5显示了3种算法的网络寿命随着网络节点数的不同而变化的情况。从图中可以看出,节能中继算法的平均网络寿命最长,以该实验中参与仿真的网络节点个数为60个为例,网络寿命达到了3952 s,中继状态调度算法达到了3875 s,基于能量感知的中继选择算法达到了3712 s。由于节能中继算法在选择中继节点时是以节点能量剩余量作为一个重要的选择指标,因此节点的能量均衡程度更好,节点的存活时间更长。但当网络节点数量增加到100个时,采用中继状态调度的方法可以得到更长的网络寿命,由于节点数量的增多带来了更多的网络数据流量,即使节能中继算法能够使得节点能量均衡,但总能耗增多的条件下每个节点的能量负载都会增大。因此,当网络节点数量较多时,网络总能耗越低,对提高网络寿命来说越有利。
图5 网络寿命比较
在研究无线传感器网络的能量问题上,本文以能量消耗最小化为目标,采用一种中继状态调度的方法来减少中继节点在空闲阶段所消耗的能量,提升节点的能量利用效率。该方法在优化节点能量上所体现出的重要特点,是最大化地延长了空闲节点的休眠期,尽可能地减少了节点能量的流失。从实验部分各算法的数据分组平均消耗能量、数据包丢失率和网络寿命的对比情况来看,基于中继状态调度的无线传感器网络在提高节点能量效率和网络寿命、提高传输数据的稳定性上具有较好效果。在接下来的工作中,我们将进一步研究移动中继网络的能量问题,为实现更低功耗的移动传感器网络创造条件。