摘要:通过对LEACH—C等协议的研究及改进,提出一种基于能量估算的集中式分簇路由协议LEACH—EE。在LEACH—EE协议中,基站根据接收到的各个簇的数据量来估算每个簇内节点的能量消耗情况,并根据估算结果来重新确定下一轮的簇首和簇结构。只有在一定条件发生时,或者间隔相当长的时间,才需要传感器节点向基站汇报自己的能量等信息。仿真结果表明,与LEACH、LEACH—C协议相比,LEACH—EE协议更能节省网络能量,延长网络的生命周期。
关键词:无线传感器网络;路由协议;LEACH—C;LEACH—EE
引言
无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内的大量廉价微型传感器节点,通过无线通信方式形成的一个自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。由于无线传感器网络节点的能量、存储空间、计算能力等的限制,使得传统的无线路由协议不适合无线传感器网络。因此,设计能够有效节约能量、延长网络生命周期的路由协议,对无线传感器网络来说意义重大。分簇路由协议在这方面具有很好的性能。
LEACH(Low Energy Adaptive Clustering Hierarchy)协议是无线传感器网络中第一个基于分簇的路由协议,通过周期性地随机选举簇首来保证节点有相等的机会成为簇首,均衡节点能量的消耗,从而达到延长网络生命周期的目的。其成簇思想贯穿于其后提出的很多分簇路由协议中,如TEEN(Threshold—sensitive Energy Efficient sensor Network protoc01)、PEGASIS(Power Efficient GAthering in Sensor Information System)等。LEACH-C(Low Energy Adaptive Clustering Hierarchy—Centralized)是LEACH协议的一个特定版本,是一种集中式的簇首产生算法。在LEACH—C中,当每轮开始时,每个节点将自身地理位置和剩余能量等信息报告给基站,基站根据这些全局信息挑选簇首,能够确保簇首的数量和位置最优,性能比LEACH协议有了显著提高。但是,这种算法由于每次都与基站进行交互,增加了不少的能量消耗。
针对无线传感器网络中LEACH—C协议存在的不足,本文在对LEACH—C协议研究的基础上提出一种基于能量估算的集中式分簇路由协议LEACH—EE(Low Energy Adaptive Clustering Hierarchy—Energy Estimate)。该协议通过对能量消耗进行估算,减少传感器节点与基站的通信量,从而节约整个网络的能耗。
1 网络模型及无线通信能耗模型
1.1 网络模型
本文假设n个传感器节点随机分布在区域A内,并且该传感器网络具有如下特性:
①网络部署完毕后,所有节点都是静止不动的,节点能够获知其位置信息。
②网络规模小,所有节点都可以直接与基站通信。基站唯一且位置固定。
③普通节点能量有限,且具有相同的计算、通信能力和初始能量,而基站的能量和计算能力没有限制。
④传感器网络是主动型的传感器网络,负责持续监测周围环境现象并以恒定速率发送数据。
⑤传感器节点的数据融合比例系数为β,即ktrans=krec/β,其中krec、ktran分别表示传感器节点接收到的数据包长度和融合后形成的数据包长度。
1.2 无线通信能耗模型
采用与参考文献相同的无线能耗模型。发送数据时的能量消耗为:
其中,k为发送数据bit值;d为实际通信距离;d0为距离阈值,当传输距离小于d0时,功率放大损耗采用自由空间模式,否则采用多路径衰减模式;Eelec表示节点电路发送和接收每bit数据的耗能;εfx和εamp分别表示放大器在2种衰减模型下的能耗系数。
2 基于能量估算的集中式分簇路由协议
本文提出的基于能量估算的集中式分簇路由协议LEACH—EE的思想如下:
①网络部署完毕后,每个节点将自己的位置和当前能量等信息发送给基站,基站运用类似LEACH—C的思想选择合适的簇首并进行簇的划分,并给每个簇加上簇标识,如c1,c2,c3,…,cn等。最后基站将簇首、簇标识、簇结构等信息广播出去,分簇完成。
②接着是一轮数据传输的稳定阶段。在这一阶段,传感器节点将监测数据传输给簇首,簇首将数据融合后加上簇标识,然后把数据传输给基站,基站统计每个簇发送过来的数据量。当一轮数据传输结束后,基站根据这轮接收到的每一个簇的数据量估算出本轮中这个簇内所有节点的能量剩余情况。具体如下:
假设第m(m=1,2,3,…)轮基站接收到簇标识为ci的簇的数据量为k bit,那么该簇内节点的能量剩余情况估算分两种情况:
a)簇首的能量剩余。簇首的能量消耗包括以下三部分:接收簇成员节点发送过来的数据的能耗、融合数据需要的能耗和将融合后的数据转发给基站的能耗。因此簇首的能耗为:
b)簇内其他成员节点的能量剩余情况估算。簇内其他成员节点的能量消耗只有发送数据时的能量消耗。由于采用的网络模型中各个传感器节点以恒定的速率发送数据,所以本文近似认为簇内每个成员节点发送的数据量是均衡的。因此,假设簇ci内有ni个成员节点,则该轮中每个簇内成员节点发送数据量k’近似为k’=k/ni。 记该簇内成员节点j到簇首的距离为dij(为了节省网络能耗,要求dij<d0),根据能量消耗公式(1),则该成员节点第m轮的数据能耗为:
这样,一轮数据传输结束之后,基站可以近似估算出所有节点的剩余能量,并根据这些估算值重新选择合适的簇首并进行簇的划分,开始新一轮的工作。
③当间隔一定的轮数(相当长的一段时间),或者传感器节点的能量低于一定的值,或者有新成员节点加入时,基站再要求传感器节点汇报自己的能量等信息,并根据接收到的信息重新校正估算的各个节点的剩余能量,使这些数值精确,然后再重新进行簇首的选择和簇的划分。
比起LEACH—C,LEACH—EE协议不需要传感器节点每轮结束后向基站汇报自己的位置、能量等信息,节省了能量开销。同时,由于间隔一定的时间会对估算值进行精度调整,所以LEACH—EE协议的性能比较好。3 仿真及结果分析
本文使用Matlab对LEACH—EE协议进行仿真,并和LEACH、LEACH—C协议进行比较。仿真场景设置如下:100 m×100 m的区域内随机部署50个传感器节点,基站位于坐标(50,50)处,节点的初始能量为1 J,数据包大小为2000 bit,Eelec=50 nJ/bit,εfx=10 pJ/(bit·m2),εamp=0.0013 pJ/(bit·m4),d0=87.7 m,β=1000,数据融合的能耗EDA=5 nJ/bit。本文从簇首的分布位置、网络总能量消耗、网络的节点存活数三方面对比了LEACH、LEACH—C和LEACH—EE协议,并给出了LEACH—EE协议中不同时刻能量估算的误差图。
(1)簇首分布位置
图1显示了3种分簇路由协议不同时刻的簇首分布位置。LEACH在100 s时簇首数目为5,在200 s时簇首数目为3,由于节点随机当选簇首造成其个数和分布不太理想;LEACH—C和EACH—C在100 s时簇首数目为4,到200 s时簇首数目仍然为4,避免了分簇数过大或过小造成的能量消耗,而且从图1中可以看出,LEACH—EE的簇首分布位置与LEACH—C很接近,在网络中一直都很均匀,说明LEACH—EE成簇效果与LEACH—C相当。
(2)能量估算误差
图2显示了LEACH—EE协议不同时刻能量校正时,计算出的所有节点的能量估算值和节点汇报的能量值之间的总误差。从图2中可以看出,总的来说,估算的能量误差并不算大。
(3)网络总能量消耗
网络节点总能耗情况如图3所示,图中的横坐标是仿真时间,纵坐标是50个节点的总的能量消耗。可以清楚地看到,大部分时间段里,总的能量消耗:LEACH—EE<LEACH—C<LEACH。
(4)网络节点存活数
图4为网络节点存活数随时间的变化情况,可以看到,LEACH—EE的节点存活率要好于LEACH—C和LEACH协议。这50个传感器节点,如果使用LEACH协议发送数据,则时间持续403 s后网络中的节点全部死亡;使用LEACH—C协议,则时间持续448 s后所有的网络节点全部死亡;而如果采用LEACH—EE协议,则时间持续到502 s后网络中的节点才全部死亡。
结语
路由协议是无线传感器网络的重要研究内容,它的性能直接影响整个网络的运行效率。本文从节省能量、延长网络生命周期的角度,对LEACH—C协议进行了改进,提出了一种基于能量估算的集中式分簇路由协议LEACH—EE。通过能量消耗模型,基站根据接收到的各个簇的数据量来估算每个簇内节点的能量消耗情况,并根据估算结果重新确定下一轮的簇首和簇结构。只有在一定条件下,或者间隔相当长的时间,才需要传感器节点向基站汇报自己的能量等信息。仿真结果表明,与LEACH、EACH—C协议相比,LEACH—EE协议能更好地降低网络能耗,延长网络的生存周期。 |