煤矿巷道无线传感器网络LEACH协议的改进
2020-11-05周飞
周 飞
(安徽理工大学,安徽 淮南 232000)
1 引言
无线传感器网络[1]是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,传感器可以通过飞机播撒或者发射炮弹到指定区域部署,特别适合部署在环境恶劣或人员不能到达的区域。煤矿井下巷道大都是类似于隧道的长带状结构,因而布置在巷道的无线传感器网络也呈狭长的长带状,而汇聚节点普遍布置在巷道入口处,信息会从巷道的一侧向另一侧的汇聚节点传输,数据流量会随着与汇聚节点的距离变小而变大,最终会导致靠近汇聚节点的传感器节点因负载过重而过早死亡,形成“热区”问题[2]。无线传感器节点通常都是自带电源,但能量有限且一经部署就无法进行充电或更换,这就使得如何均衡能量消耗,延长网络寿命变得尤为重要。
2 LEACH协议
2.1 算法描述
LEACH(Low Energy Adaptive Clustering Hierarchy)[3]算法是一种自适应分簇拓扑算法,它的执行过程是周期性的,每轮循环分为簇的建立阶段和稳定的数据通信阶段[4]。在簇的建立阶段,相邻节点动态的形成簇并随机产生簇头节点,成为簇头的节点向周围发布自己是簇头节点的信息,其他节点收到信息后根据特定规则选择加入某个簇。在数据通信阶段,簇内节点把数据发送给簇头节点,簇头节点进行数据融合并将结果发送给汇聚节点。由于簇头需要完成数据融合、汇聚节点通信等工作,所以能量消耗大。LEACH算法能够保证各节点等概率的担任簇头,使得网络中的节点相对均衡消耗能量。
2.2 LEACH协议应用在煤矿巷道中的不足
LEACH协议是无线传感器网络中最早提出的分层路由算法,但直接应用在煤矿巷道中,还存在一些不足。
(1)LEACH协议在选举簇头时并没有考虑节点的剩余能量,且同一节点可能多次担任簇头,导致该节点能量因负载过重能量损耗太大而过早死亡,直接影响到网络生存时间的大小。
(2)节点在网络中是随机分布的,LEACH协议没有参考节点在网络中的位置就随机选举簇头,这就导致节点多的地方可能没有簇头,节点少的地方又有可能有好几个簇头,簇头分布不均匀,网络的能耗也就不均衡。
(3)LEACH协议中假设所有节点均可和簇头节点以及汇聚节点直接通信,通信采用单跳方式,但煤矿巷道呈长带状,通常长达数千米以上,而汇聚节点通常情况下安置在巷道口,如果采用单跳方式通信,在通信距离以及有限节点能量的条件下,距离汇聚节点远的节点会率先耗尽能量过早死亡,降低网络的生存周期,还有可能形成监测盲区[5]。
(4)煤矿巷道长带状的网络中,信息会从巷道的一侧传递到巷道口的汇聚节点,越靠近汇聚节点数据量会越来越大,使节点负载过重,从而导致能量消耗过大过早死亡,形成“热区”问题。
3 LEACH协议改进
通过上述分析,本文针对LEACH协议应用在煤矿巷道中的不足之处,对LEACH协议进行以下改进。
3.1 簇头选择算法改进
节点在LEACH算法网络中是随机分布的,并没有考虑节点在网络中的位置以及节点的剩余能量就随机选举簇头。在煤矿巷道这个特殊的长带状网络中,将节点的位置信息和剩余能量纳入考虑因素中,这样可以优化簇头的分布以及均衡网络的能耗。因此本文对LEACH协议的门限值T(n)进行改进,加入节点的剩余能量和地理位置信息,得出新的门限值公式,如下所示:
(1)
式(1)中α是能量参数,Ecur是当前节点剩余能量,Et是当前所有节点剩余能量总和,β为距离参数,d1为节点到汇聚节点的距离,d2节点到监测区域中心的距离,G是在这一轮循环中还没有担任簇头的集合,p是网络中簇头节点数量占所有节点的期望百分比,新的门限值公式使得剩余能量多和距离汇聚节点近的节点成为簇头的可能性增大。
3.2 建簇算法
针对长带状网络信息传输中的“热区”问题,改进的协议网络中使用非均匀建簇算法。网络部署后,汇聚节点以固定功率向全网发送一个声明信号,簇头节点通过接收到的信号强度来计算与汇聚节点的距离,然后根据这个距离将簇头节点分为几类:距离较近的簇头节点,不近不远的簇头节点,较远的簇头节点。其中距离汇聚节点较近的和不远不近的簇头节点可直接将数据传输给汇聚节点,而距离较远的簇头节点则通过多跳的方式向汇聚节点传输数据。簇内普通节点采集信息后先向簇头节点传输数据,簇头再将数据通过前面所述方式传输给汇聚节点,多跳方式传输可以有效减少簇头节点进行远距离传输信息的能量消耗,延长网络周期。
3.3 煤矿巷道中的协议模型
综上所述,改进的协议模型是一种分簇无线长带状能量的多跳路由协议(图1)。
图1 长带状煤矿巷道多跳无线传感器网络模型
图1中每个圆形区域代表一个簇,其由簇头节点和若干个分布均匀的普通节点组成,簇内的普通节点负责收集信息并传给簇头节点,簇头将信息数据进行融合后,通过如图所示多跳的方式传输至汇聚节点。
4 仿真实验
本文仿真实验中,使用MATLAB软件进行仿真,实验设置网络节点数n为100,网络节点随机分布在600 m×3 m的长带状的场景中,汇聚节点放置在(0,1.5)点处,每个节点初始能量为1 J,p取值为5%,能量因数α取值为0.6,距离因数β取值为0.4,仿真从网络节点总能耗和网络节点存活数量两个方面来评价改进后LEACH协议的性能。
如图2所示,LEACH算法的总能耗更早的稳定在某一数值,说明该网络因部分节点死亡而丧失了传输数据的能力,而改进的LEACH算法下在相同时间段内的网络总能耗明显小于LEACH算法,说明改进后的LEACH可以利用有限能量继续完成信息传输工作。
从图3可以看出,LEACH算法网络约在50轮左右就出现节点死亡的情况,且在500轮左右算法网络已经失效,而改进的LEACH算法约在550轮左右才出现第一个死亡节点,死亡的轮数远比LEACH算法大,并且算法失效轮数较LEACH算法有了很大延迟,网络生命周期有了明显延长。
图2 网络节点总能耗
图3 网络节点存活数量
5 结论
本文针对煤矿巷道长带状特点,并通过对LEACH协议的分析,将节点在网络中的位置以及节点的剩余能量纳入考虑范围,对LEACH算法的簇头选择以及建簇算法进行了改进,并采用多跳的方式在网络中传输数据以减少簇头节点进行远距离传输信息的能量消耗,MATLAB仿真证明,改进后的LEACH协议可以有效延长网络生命周期,降低能耗,提高节点存活数,更加适合应用于长带状的煤矿巷道无线传感器网络中。