摘要:无线传感器网络(WSN)路由协议中的LEACH-C协议是一种集中式的簇头选择协议,不同于LEACH分布式随机选择簇头的方式。针对LEACH-C只考虑节点剩余能量和过度依赖基站等问题,在LEACH-C成簇基础上进行改进,主簇头和路由簇头的选择既考虑了节点的覆盖率也兼顾节点的能量剩余和距离,减少频繁分簇而导致的能量消耗,路由采取双路径路由通信方案,提高网络的健壮性。通过Matlab仿真实验平台验证了改进协议比LEACH-C更能延长网络寿命。
关键词:无线传感器网络;LEACH-C协议;剩余能量;覆盖率;双路径路由通信
中图分类号:TP393 文献标识码: 文章编号:1009-3044(2016)08-0036-03
1 概述
无线传感器网络(WSN)[1]已广泛用于监测环境、军事活动和现代农业等方面,具有重要研究意义和价值。传感器节点的能量是有限的,所以高效地利用有限的能量以获得最大的生命周期是无线传感器网络研究的重要问题之一[2]。
低功耗自适应聚类路由协议(LEACH) [3]是WSN中经典的分簇路由协议,其协议通过循环随机地选举簇头节点来提高网络的能量利用效率和延长整个系统的生命周期。LEACH-C[4]采用集中式的簇头产生协议。当每轮开始时,每个节点向基站报告自己的剩余能量和位置,基站计算所有节点的平均能量,剩余能量高于平均能量的节点作为候选节点并从中最优的作为簇头。LEACH-C的不足是每一轮结束后所有网络节点都要给基站发送自己的状态消息,而且簇头节点也是以单跳的形式直接和基站通信[5]。文献[6]提出了基于粒子群优化的LEACH-C算法的改进。文献[7]提出了基于Dijkstra路由策略的LEACH-C改进算法,但未考虑中间节点的能耗问题。
在综合考虑节点的剩余能量、节点覆盖率以及半径内节点通信代价因素提出了一种改进的LEACH-C成簇算法,引入路由节点代替簇头路由的方式来提高簇的生存能力。在路由机制中采用双路径通信方案,提高网络健壮性。仿真结果表明该算法在确保检测区域有较好的覆盖性条件下延长了网络寿命。
2 相关参数的定义与计算方式
2.1 能量因子定义
在基站选择簇头时,需要考虑节点的剩余能量,因而能量因子是描述节点剩余能量与网络平均能量的一个参数,能量因子越大的节点表示节点剩余能量越多,当选簇头的概率应该越大。能量因子的确定:
其中,Eir为i节点的当前剩余能量,Ei为能量比值。当节点剩余能量大于平均能量时Ei大于1。
2.2 覆盖率因子定义
节点的被覆盖因子Ci:传感器节点i的覆盖面积内,被其他传感器节点覆盖的面积与本节点覆盖区域面积的比值。假设有N个邻居节点对i节点的监测范围有重合,若这N个节点在去除该区域的相互重叠面积后总覆盖面积为Ai,A为i节点的监测范围。则节点i的被覆盖率Ci的计算如下:
若节点Ci为1时,则称为完全覆盖,该节点的死亡不会影响整个网络的覆盖范围和覆盖率。若节点Ci不为1时,则称非完全覆盖或无覆盖。
2.3 节点半径内通信代价因子
选择出来的簇头不应该偏离簇内大部分成员太远,如果位于整个簇的几何中心位置附近,有利于降低簇内成员与簇头的通信,因为簇头要担任与基站的路由通信功能,所以还要考虑簇头与基站距离的因素。所以通信代价因子的定义为:
其中,ri为节点i为未当选簇头的轮数,一旦当选簇头或副簇头则重置为0。r为系统当前运行的轮数。轮是以基站规定的时间段为标准,在这时间段内所有节点都至少能向基站传送一次数据。由公式可知在开始的阶段簇头的选择主要依靠覆盖率、剩余能量以及通信代价,在多轮以后逐步以剩余能量和通信代价为主要选择依据,这样也增强了簇头选择的合理性。
3 算法设计
主要剩余能量、节点覆盖率以及半径内节点通信代价因素来进行网络分簇,提高能量利用效率。首先描述簇头选择公式,然后根据公式提出具体选择协议。
3.1 簇头的选择
步骤一:首轮所有节点发送自己的能量以及位置信息,距离远的节点以多跳方式发送给基站,以后节点以信息捎带的方式发送剩余能量即可。BS根据所有节点的信息计算网络平均能量,各个节点覆盖率以及通信代价因子。
步骤二:判断节点的剩余能量是否大于平均能量,如果大于平均能量则有机会竞争簇头。
步骤三:BS在选择簇头时尽量选择Ci为1的节点。如果一个簇范围内有多个符合条件的节点,则根据S因子选择主簇头。其他符合条件的节点BS可根据需要让其睡眠。若某区域内没有Ci为1的节点,则根据S因子利用拟退火算法选择出主簇首。
步骤四:BS把簇首信息广播给相应的簇节点,节点接收广播信息确定自己是否当选为簇头节点,是则根据广播半径广播自己的簇头消息,不是则根据接收到的簇头消息加入离自己最近的簇中,完成簇的建立。
3.2 路由节点的选择和成簇通信方式
在路由点选择中,BS可根据簇的分布情况,在网络中选择出多个节点担任路由节点,负责整个网络中信息的专递工作。这样通过簇的管理节点与路由传送节点的分离,降低簇头节点的能量消耗,延长簇头的寿命。路由节点的选择方式是根据能量因子以及与基站的距离因素利用拟退火算法来选择。在稳定阶段,簇内的所有普通节点都按照时分复用(Time Division Multiple Access,TDMA)时隙将采集到的信息传送到簇头节点。所有簇头在收集数据时都进行数据融合才向路由节点或基站发送,减少通信量。
3.3 簇间路由选择
基站在选择完路由节点以后,为每个路由节点在通往基站的方向上利用Dijkstra算法选择出两条最短路径,但一次只使用一条路径,另一条作为备用路径保存。每个路由节点无需保存路径的全部节点信息,只需保持路由节点的下一跳的两个后继节点(每一个后继节点代表一条路径)和需要通过本路由节点向基站传递消息的所有前驱节点(代表有多少簇头节点需要通过本节点给基站传递消息),这样就可以实现较远的路由节点以多跳的方式传送数据给基站。每个路由节点收到消息后都进行数据融合以减少不必要的能量消耗。为每个路由节点设置一个通信阈值,如果通信量超过这个阈值,便可通知自己的部分前驱节点选择第二条路径传送数据,从而达到减少某个路由节点能量过度消耗而提前死亡的危险,增强网络的健壮性。
4 仿真实现
4.1 模拟实验环境设置和参数
用Matlab作为仿真实验平台,仿真环境是在200m*200m的正方形区域内随机的部署200个传感器节点,初始能量为E=1J,基站处于正方形的左下角(0,0)m位置,并使用与文献[8]相同的无线通信能量消耗模型。发送数据和接收数据的无线通信模型分别为:
Leach协议在100轮时出现死亡节点,Leach-c协议在127轮出现第一个死亡节点,而本协议在将近250轮才出现,有效延长了第一个节点死亡时间。不过本协议在出现第一个死亡节点以后网络的节点死亡速度很快,在后面的六十轮中死亡节点数目急剧上升,几乎全部死亡。通过三种协议的比较,显示了改进协议在确保网络有较好覆盖率条件下延长了网络。
5 结束语
通过对Leach协议和Leach-c协议的分析研究,综合考虑了两个协议的优缺点,提出一种基于节点覆盖率、剩余能量和位置信息的Leach-c协议的改进协议。协议在Leach-c的基础上改进了簇头选择条件,加入路由节点改进簇首节点路由方式,采取了双路径方式,不仅保证了簇消息的发送成功概率,又优化了簇首节点的能耗过快问题,保证了网络在有较好的覆盖性条件下延长了整个网络的寿命。实验表明在确保网络覆盖率的条件下很好的延长了网络的生存寿命,但还有些可以改进的地方,如中继簇头能耗较大问题,对基站的依赖程度还比较大,不够独立等。
参考文献:
[1] 廖明华,张华,王东.基于LEACH协议的簇头选举改进算法[J].计算机工程,2011,37(7):112-114.
[2] 底欣,张百海.一种改进的WSN成簇算法[J].计算机工程,2011,37(1):110-112.
[3] Heinzelman W, Chandrakasan A, Balakrishnan H. Energy-efficient Communication Protocol for Wireless Microsensor Networks[C]// Proc. of the 33rd Annual Hawaii Intl Conf. on System Sciences. [S.l.]: IEEE Computer Society, 2000.
[4] Siva DMG, Ma DCF. A Centralized Energy efficient Routing Protocol for Wireless Sensor Networks[J]. IEEE Radio Communications, 2005, 43(3): 8-13.
[5] 何传波.无线传感器网络关键技术的研究[D].广西大学,2014.
[6] 闫效莺,程国建.基于改进粒子群优化的WSN均衡能量消耗路由算法[J].计算机工程与设计,2012, 10(33):3692-3696.
[7] 蒋华,刘伟强,王鑫.无线传感器网络中Leach-c路由协议的研究与改进[J].微电子学与计算机,2014,12(31):43-47.
[8] 蒋畅江,石为人,唐贤伦,等.能量均衡的无线传感器网络非均匀分簇路由协议[J].软件学报,2012, 23(5):1222-1233.