APP下载

等量线模型下的LEACH优化协议

2019-04-20张亚君徐万一马德朋

沈阳化工大学学报 2019年1期
关键词:等量能量消耗无线

王 军, 张亚君, 徐万一, 马德朋

(沈阳化工大学 计算机科学与技术学院, 辽宁 沈阳 110142)

无线传感器网络WSN(Wireless Sensor Network)是通过自组织的方式形成的网络,其中布置了大量成本低廉、并且可以进行传感、数据传输处理以及通信的传感器,这些传感器节点所组成的网络独立于基站或移动路由器等基础的通信设施.其网络的形成是通过分布式协议自组形成的,其通过相互协作以达到感知、采集和处理其网络覆盖范围内所能获取到的一切对象信息.在进行传感器网络的研究时,节点能量使传感器网络的寿命受到制约,同时传输带宽低和容易出错也是传感器节点之间的无线链路传输的缺点,很难保证其安全.为此,传感器网络当前研究的目标是设计部署功耗低、容错能量强、安全的传感器网络[1-2].

LEACH的簇头选择方法在给网络中传感器节点分配能量时,不能够将能量负荷均匀分配,从而不能使得网络能量消耗均衡.针对上述,本文对LEACH中簇头随机选择算法进行了改进.改进后的协议有效地提高了网络的生存周期,延长了节点的死亡时间,从而达到了能量均衡分配,避免过早地产生能量空洞造成网络瘫痪.

1 无线传感器网络能量消耗特性

传感器节点一般采用模块化设计[3-4],由感知模块、数据处理模块、无线通信模块和能量供应模块4部分组成,通过各个模块的配合实现对信息的感知、采集、编码、处理、存储、发送、通信以及能量管理等功能.而无线传感器网络节点的能量消耗主要用于感知模块、数据处理模块和无线通信模块.能量消耗主要分为非通信类能量消耗和通信类能量消耗两种.感知模块的数据采集和数据处理模块的数据处理能耗属于非通信类能量消耗.由于无线传感器网络节点的硬件特点,其采样数据量较少,数据处理的相对简单,因此,非通信类能量消耗较低.而属于通信类能量消耗的无线通信模块主要负责节点间的数据传输,是传感器节点的能量消耗主要来源.通信类的能量消耗主要包括节点发送感知的数据包或者根据路由路径接收并转发其他节点发送的数据包,以及接收或者转发来自汇聚节点的控制信息包[5].

无线通信模块分为4种工作方式[6],分别是:发送状态、接收状态、空闲状态和睡眠状态.发送状态时,传感节点需要将感知处理后的数据包根据路由路径发送到其它节点或者转发其它节点的数据包.接收状态时,节点接收汇聚节点发来的控制消息或者作为中间节点接收其它节点需要转发的数据包.空闲状态时,虽然节点即不发送也不接收数据包,但节点需要一直监听通信信道,来检查是否有需要接收的数据包,因此空闲状态同样有较高的能量消耗.而睡眠状态下,节点则会关闭无线通信模块,此时能量消耗很低.在节点不需要感知和传输数据时,节点可以进入睡眠状态来保存能量,待到有事件发生时被唤醒,退出休眠状态进行工作.睡眠状态能够通过休眠不必要的节点来尽可能地降低网络的能量消耗.

2 LEACH路由协议

2.1 LEACH算法简介

LEACH[7-8]是一种专为无线传感器网络设计的典型的层次型路由协议,是低功耗自适应簇头路由算法.在LEACH算法[9-11]中,节点通过自组织的方式形成不同的簇.而簇头节点的选择方式是通过随机循环的方式进行确定,将整个网络的能量负载平均分配到每个传感器节点中,各个簇头内的普通节点将自身所收集到的数据传送给簇头节点,然后簇头节点将其所收集到的数据融合处理后传往Sink节点.其最基本逻辑是在整个网络的运行过程中不断地循环执行簇的重构过程.通常情况下用“轮”来描述每个簇的形成过程,而簇的建立阶段和数据的稳定传输阶段两部分组成簇的一轮运行周期.

2.1.1 簇建立阶段

在建立簇的阶段,传感器节点随机产生0~1之间的随机数,并将随机数与阈值进行比较,如果小于阈值T(n),则选该节点为簇头节点.其阈值的大小由下式确定:

(1)

式中,p表示簇头在所有节点中占的百分比,n表示网络中传感器节点总数,r表示当前轮数,G表示这一轮循环中未当选簇头的节点集合.一旦簇头被选定,它应用CSMA(carrier-sense multiple access)MAC协议以相同的传输能量主动向所有节点广播自己成为簇头的消息,成为ADV;普通节点将接收器打开以便接听簇头发送的广播消息,普通节点会在一定时间间隔内同时收到多个簇头所发布的广播消息,而其最终会决定加入哪个簇头则取决于自身接受到的消息的强弱.在每个节点决定其将要加入哪个簇头之后,该节点用CSMA协议发送Jion-REQ到相应的簇头,然后簇头会分配时隙给其范围内的普通节点,并通过广播的方式发送给簇内的所有节点.这在一定程度上保证了簇内每个节点只在相应的时隙进行数据传输,而在其他时间进入休眠状态,减少能量消耗.

2.1.2 稳定阶段

收到通知的簇头节点,为簇内的普通节点创建时分多址;普通节点在各自时隙表中,将其收集到的数据发送给其所在簇的簇头节点,然后簇头节点将数据融合压缩后发送给sink节点,直到循环结束,准备下一次聚簇.LEACH协议是简单的分层路由协议,每次随机选取簇头节点时,根据T(n)来确定担任簇头的节点,即节点担任簇头是等概率的.能量小的节点与能量大的节点做簇头的概率完全相同.能量低的节点若被选作簇头,很容易耗尽能量而失效,在若干次的运行之后,会出现簇头过分集中于某一区域或在一个区域内不再有簇头的现象.随机选取机制,导致簇的个数变化,若簇过少,会因距离远而造成能量快速消耗,其不利于延长网络的生命周期.此外,一旦簇头失效,整个簇都无法进行通信,不利于网络的健壮性,也不利于全网的负载均衡.

2.2 LEACH算法分析

虽然LEACH算法在一定程度上能够提高网络的生命周期,但是其在使用的过程中某些假设条件仍存在一些问题:

(1) 簇头选取过程中随机循环产生簇头,此时在节点之间传输数据时,可能加大能量的消耗[12].

(2) 在LEACH算法中假设的是所有的节点都可与汇聚节点Sink直接通信,若节点与Sink节点距离较远的情况下能量消耗必然增大,不适合在大规模的无线传感器网络中应用[13-14].

(3) 在簇头确定之后,要发送广播信息给其范围内覆盖的所有节点,增加了节点间的通信量.这一过程毫无疑问加大了能量的消耗率.

(4) 每进行下一轮的工作,都需要重新确定簇头节点,重新进行聚类的划分.每个节点都需要接受和传输数据消息,大量的能量在这一过程中被消耗.

3 LEACH路由协议的改进

LEACH协议采用自适应的成簇算法以及簇头位置的轮换算法,以延长节点寿命,平衡网络负载.但其忽略了节点的通信距离不同,传输距离的增加会造成能耗增大.并且其簇头选取的随机性,有可能使剩余能量很小的节点仍被选作簇头,或者离簇头和基站较远的节点也成为簇头,这一部分节点很有可能因为数据传输而耗尽自己的能量,从而成为死亡节点.出现大量的失效节点将会使整个传感器网络生命周期大大降低和协议的有效性大打折扣[15].NPT_LEACH协议[16]是基于LEACH协议改进后的协议,其协议的主要思想是在选举簇头时加入备选簇头集和增加最优簇半径的过程.改进后的协议提高了网络规模的适应性,并且延长了无线传感器网络的生命周期,但其在最优簇半径的确定过程中会加大能量的消耗.在这些不足的基础上,提出了一种基于等量线模型和节点位置及剩余能量的簇头选取机制,记为I_LEACH.本算法的关键是计算合理的选举参数,确定新一轮簇头的选举时间,即当簇头节点的剩余能量低于平均能量的一半时,在簇内开始进行簇头选举;然后通过建立等量线模型和计算距离比值来确定新的簇头节点.

3.1 等量线理论

在物理学中,场的概念随处可见.在静电场描绘中,用一对电极产生的恒定电流模拟一对等量异种电荷产生的静电场是最经常采用的方法.因为直接测电流场有一定的困难,而借助电压表可以测出电场中一系列的等势点,进而画出等势线,最后画出电场线[17-18].因此,借用等势线的概念,提出等量线,即将节点剩余能量相近的节点划分在一条线上,在簇头选取的过程中优先选取高能量线上的节点作为簇头,从而起到保护低能量节点的目的,特别是保护高能量区域内的低能量节点.使数据包通过高效率高能量的簇头传输至汇聚节点,使路由路径具有高效率、高均衡性.

3.2 网络的初始化

在LEACH算法的基础上进行优化.实验环境是已知传感器节点均匀分布在被监测的区域内,且Sink节点是固定的.具体的条件如下:

(1) 所有的传感器节点是平等的,初始能量相同;

(2) 基站位于传感器监测区域以外的固定一点,基站的能量不受其他因素的限制;

(3) 传感器节点与Sink节点的位置是固定不变的;

(4) 传感器节点向任意方向发送数据的功率是相同的;

(5) 本算法只考虑数据处理和数据传输的能量消耗.

3.3 簇形成阶段

在无线传感器网络的初期,采用随机的方式来产生簇头.所有节点随机选取0至1的数值,与T(n)进行比较,T(n)按照公式(1)计算.此时查询节点的状态表,如果该值大于阈值T(n),则成为簇头.这些节点将向周围节点广播信息,接着进入簇的生成阶段.

下一轮则是以高等量线上且距离sink节点和剩余能量最小的节点较近的节点为簇头.在本轮的簇头选取中,首先基站收集节点剩余能量和位置信息,根据节点的剩余能量建立等量线模型.选取高等量线上的任一节点,计算其距离基站和剩余能量较小的节点的距离,然后比较其自身能量是否大于网络平均能量,确定其是否可以成为簇头.确定簇头之后,向各个节点发送广播消息.在各个节点接收到簇头选取消息后,将当前剩余能量en.res、本轮通信阶段节点的能量消耗en.cons等参数传送给簇头.然后依据等量线的原理将节点划分等级,节点剩余能量的计算方法采用LEACH中使用的能量消耗公式[19].即在数据传输过程中,发送节点的能量消耗为

(2)

其中,l为发送数据的比特数;d为发送节点与接收节点之间的距离;Eelce为发送节点电路的能量消耗系数;当传输距离小于阈值dcrossover时,功率放大损耗采用自由空间模型,εfs表示该模型下功率放大损耗的能量;当传输距离大于等于阈值dcrossover时,功率放大损耗采用多路径衰减模型,εmp表示该模型下功率放大损耗的能量.

接收节点的能量消耗为:

ERx(l,d)=lEεlεc

(6)注重对学生的学法指导。教学是由教与学双方构成的,要达到良好的教学效果,就要求教师要教好,学生也要学好。对中学生而言,要搞好学习,取得好成绩,就要成为一名学习的管理者,做到自主学习,提高学习效率,合理安排时间,找到适合自己的学习方法。教师要注重培养学生的学习自觉性,引导学生提出问题,分析问题,解决问题。

(3)

因此,在一轮通信后,各个节点的剩余能量为:

Eres=E0-[ETx(l,d)+ERx(l,d)]

(4)

其中E0表示节点的初始能量.

在一个簇内,根据节点的剩余能量Eres,将能量相近的节点依据等量线划分等级(允许±α的浮动范围),形成等量线模型,依次选取高等量线上的节点,依据公式(5)计算传输距离比值p.

(5)

将整个无线传感器网络划分为不同的簇,一个簇头节点和若干的普通节点组成一个簇类.簇内普通节点负责向簇头节点传输数据,然后簇头节点再将数据整合传送给sink节点.新簇头产生后,下一轮的选取则根据簇头内节点数量、簇头节点和成员节点的能量消耗数值等实时因素动态确定.

图1是I_LEACH算法的工作流程,其具体过程为:收集各个节点的剩余能量及其位置信息,根据等势线的概念,建立等量线模型,在等量线上随机选取一个节点i,计算其到最小剩余能量节点和sink节点的距离,再计算出其比值,若满足条件,则i选作簇头,广播消息进入稳定传输阶段;若不满足条件,则再选择高等量线上的另一节点,重新计算,直到找到簇头节点为止.

I_LEACH协议较LEACH协议主要是在簇头选取阶段进行优化,LEACH协议的簇头位置轮换算法是由每个簇头产生一个随机数并与系统给定的阈值比较,即簇头是每轮随机产生的,可能存在某一节点的剩余能量已经很小但仍被选为簇头节点,或者离簇头较远的传感器节点和那些离基站较远的节点也会成为簇头的情况,它们很有可能因为数据传输而耗尽自己的能量成为死亡节点,大量失效节点的出现将会大大降低整个传感器网络的生命周期和协议的有效性.而I_LEACH协议充分考虑节点的剩余能量和节点的位置进行簇头的确定,在等量线模型的基础上,优先选取高等量线的节点作为备选簇头,并且进行距离系数的比较,从而确定出最佳的簇头节点,延长了整个传感器网络的生命周期.

4 仿真实验

4.1 仿真环境

采用网络仿真工具OMNET+ +进行仿真,采用数据分析软件MATLAB进行数据比较,根据节点的存活时间和节点的能量消耗,对改进后的新协议进行性能评价.设置以下的基本参数进行仿真实验,假设I_LEACH协议在仿真环境中的情况如下:在监测范围内有100个传感器节点,且在100 m×100 m的监测区域内均匀地分布;坐标(0,0),(0,100),(100,100),(100,0)处为sink节点;并且所有节点的初始能量相同,初始值为0.5 J;发送和接收数据的能量消耗为50 nJ/bit;数据融合的能耗为50 nJ/bit.具体参数如表1所示.

表1 仿真实验参数

4.2 仿真结果及分析

通过OMNET+ +网络仿真模型,从节点的剩余能量、高等量线上的备选簇头节点到最小剩余能量节点和sink节点的距离综合选取簇头节点,得到LEACH协议、NPT_LEACH协议和I_LEACH协议剩余节点数以及能量消耗的对比.

在NPT_LEACH协议、LEACH协议和I_LEACH协议中,节点的存活数量如图2所示.

3种协议在网络生存周期和节点数量相同的情况下,采用NPT_LEACH协议和LEACH协议的网络节点的剩余数量少于I_LEACH协议的网络节点剩余数量,并且NPT_LEACH协议在1500轮时节点全部无效,LEACH协议更是在1400轮时节点就已经全部无效,而I_LEACH协议则在1600轮时节点才全部失效.仿真表明I_LEACH协议的性能优于LEACH协议及NPT_LEACH协议,节点的存活率显著增多.

在NPT_LEACH协议、LEACH协议和I_LEACH协议中,节点的能量消耗随时间的变化如图3所示.图3中剩余能量显示的值较真实值扩大100倍.在初始时,NPT_LEACH协议、LEACH协议和I_LEACH协议的节点能量消耗都成正相关性的增长,但是LEACH协议的节点能量消耗速率比NPT_LEACH协议、I_LEACH协议的节点能量消耗速率要快得多,到80轮时,LEACH协议的节点消耗速率逐渐变陡峭,I_LEACH依旧保持近似于原有的节点能量消耗速率.研究表明I_LEACH算法能够更加有效地控制网络,使得网络的生命周期得以延长.

通过以上的仿真试验对比,I_LEACH协议比LEACH协议、NPT_LEACH协议有更好的性能.从图2可以看出:随着时间轮数的推移,剩余节点数,即仍然存活的节点总数越来越少,但是I_LEACH的稳定周期比LEACH和NPT_LEACH的稳定周期要长.从图形趋势上看,I_LEACH与LEACH、NPT_LEACH相比,曲线较缓.这说明I_LEACH算法相比于LEACH算法和NPT_LEACH算法很大程度上提高了传感器的网络寿命,并且使所有的节点能量几乎同时耗尽,延长了网络的生存周期和节点的死亡时间.而图3同样表明I_LEACH协议更能使网络的能量均衡分配,可以更加有效地控制网络.

5 结 论

在LEACH协议的基础上提出了基于等量线模型和节点位置的无线传感器网络能量优化的分簇算法.综合分析和研究无线传感器网络路由协议的基本特点和原理,总结分析已有路由协议的优缺点,提出了LEACH的优化协议I_LEACH.在簇首的选取机制上,根据高等量线上节点到sink和最小剩余能量节点的距离综合考虑确定簇头.保证了让高能量节点担任簇头,降低了簇头到sink节点的能量消耗,减少了簇内节点不必要的能量消耗,有利于节点能量的同步消耗,从而将整个网络的生命周期有效延长.通过实验仿真表明:I_LEACH协议可以有效地延长网络的生存时间,延长了节点的死亡时间,具有显著的理论意义和实际应用.

猜你喜欢

等量能量消耗无线
太极拳连续“云手”运动强度及其能量消耗探究
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
一道等量约束关系下的不等式证明探究之旅
《无线互联科技》征稿词(2021)
没别的可吃
确定等量关系的三种方法
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
哈哈果熟了