APP下载

WSN中基于虚拟网格的LEACH改进算法

2022-01-14佘星星徐善山

关键词:稳定期生命周期能耗

柏 琪,佘星星,徐善山,郑 昊,许 凯

(安徽信息工程学院 计算机与软件工程学院,安徽 芜湖 241000)

1 引言

无线传感器网络(WSN)作为一种准确、实时的信息获取方式,具有自组织、低能耗、配置方便、成本低等特点,在农业、工业、军事等方面都具有广阔的应用前景[1-2]。WSN由大量空间分布、无线连接、自治的传感器节点组成,部署在监测环境中,感知、处理和传输数据,但工作时间受到能量限制。因此,有必要设计一种有效的数据采集策略来降低节点的能量消耗,延长WSN的寿命。

经典的LEACH算法[3]是目前常用的一种分簇路由算法,但它仍然存在一定不足:(1)该算法没有对簇头的分布进行规定,很可能出现被选中的簇头集中在网络的某一区域,一些节点的周围没有任何簇头。(2)它在选取簇头时是完全随机的,导致能量不足的节点可能会成为簇头,加速该节点死亡,减少整个网络的生命周期。文献[4]中普通节点可以计算自身剩余能量和周围节点数量的比值,但是该算法对节点硬件要求太高,不符合实际。文献[5]提出基于集中节能与距离的CEED算法,在选取簇头节点时会考虑到节点的剩余能量,但该算法降低了簇头节点选取的范围。

本文对传统的LEACH算法进行改进。改进的U-LEACH算法中在簇头的选择上首先考虑剩余能力较大的节点,并在此基础上考虑节点距离簇重心的距离,算法保证了簇头的选举更加合理,最大程度保证网络的能耗平衡,延长网络生命周期。

2 网络模型与节点能耗模型

2.1 网络模型

假设WSN是由多个初始能量相同的、位置固定的和随机部署在监测区域内的传感器节点组成。WSN中的每个节点都可以获取自己的地理位置,感知自己的剩余能量。假设传感器节点模型如下:

(1)传感器节点是固定的,每个节点都有自己唯一的ID,N个传感器节点和一个移动sink的ID号集合为 M={n1,n2,n3,...,ni},其中 ni是第 i个固定传感器节点;

(2)所有传感器节点同构,能够进行数据融合;

(3)无线通信链路是双向对称的。该节点具有测距功能,可根据通信距离随时调整发射功率;

(4)在没有数据采集任务时,簇成员节点可以休眠,簇头可以定时唤醒成员节点,请求其传输感测到的数据;

(5)传感器节点存储容量有限。当未发送的感知数据量超过最大存储容量时,节点将保存最新的数据,丢弃最早的数据。

2.2 能耗模型

本文提出算法的能耗模型是基于无线通信系统的能耗模型[6]。传感器节点的能耗由发射端和接收端两部分能耗组成。发射端的能耗包括射频模块和信号放大器的能耗,接收端的能耗仅包括接收电路的能耗。信号放大器的能量消耗是以发射端和接收端之间的距离为基础的,可以使用自由空间衰落模型和多径衰落模型。

某个传感器节点发送L位数据所消耗的能量如公式(1)所示。

接收L位数据所消耗的能量与传输距离无关,如公式(2)所示:

3 算法描述

3.1 基于网格分簇

本文假设WSN是一个M×M个矩形区域,N个传感器节点随机部署在网络中。如图1所示,将网络划分为若干个等面积网格。

图1 网络网格图

网格总数Cnum由N确定,如公式(3)所示。每个虚拟网格的宽度Cl可用公式(4)表示。

当每个网格被视为一个簇时,整个网络被划分数量为Cnum的相同大小的簇。传感器节点属于哪个簇,由其逻辑坐标决定。

3.2 选择簇头

根据无线通信能耗模型,簇头与簇中节点之间的通信能耗主要与距离有关。因此,为了减少和平衡簇内的通信能耗,作为簇头的节点应该靠近簇的重心。网络中k个簇可以表示为Ck(k=1,2,…,n),CHk为簇Ck的簇头,每个簇中的节点数为Nk。每个簇Ck的重心坐标为(CCk,YCk),如公式(6)所示。

此外,由于簇头需要转发数据和管理簇,作为簇头的节点也应该有更多的剩余能量。所以,节点离重心越近,剩余能量越多,就越有可能被选择为簇头。因此,对于k个网格,构造了簇头选择的加权和函数,如公式(7)所示。

根据公式(8),计算簇Ck中每个节点的f,并选择以f最大的节点作为簇头。在公式(7)中,ω的值根据实际需要确定的,如果ω值较大,则簇头选择更关注节点与重心之间的距离,否则则关注节点的剩余能量。

在每一轮结束时,簇中的每个节点都会报告其剩余的能量和到簇头的重心的距离。簇头根据公式(7)计算并比较每个节点的f值,f最大的节点将被选为下一轮的簇头。

3.3 簇内的数据传输

分簇并选择簇头完成后,簇中的其他节点向簇头发送连接请求,该请求包含自己的ID。簇头根据成员节点的数量将时间划分为若干个时隙,即采用TDMA[7]机制为每个成员节点分配相应的传输时隙。每个簇成员节点在自己的时隙内收集并向簇头发送数据,在其他时隙内休眠以节省能量,簇头收集信息并对数据进行融合。

4 仿真与分析

4.1 模拟参数设置

仿真在MATLABr2018a环境下运行。在仿真实验中,100-600个传感器节点随机分布在指定的范围内进行多轮数据采集,每个节点的初始能量为1J,数据生成速率是随机的,传感器网络中节点发送的数据存在冗余。1位数据处理电路的ERF为50×10-9J/bit,单节点最大数据存储容量为32kbit。综合考虑剩余能量和距离,选择ω为0.5。仿真参数如表1所示。

表1 模拟参数

4.2 结果和分析

为了分析该算法的有效性,将本文的U-LEACH算法与传统的LEACH算法和文献[5]的CEED算法进行比较,将对三种算法的存活节点数、网络生命周期进行比较分析。

4.2.1 存活节点数比较

随着网络的运行,一些节点由于能量耗尽,经过一些回合后就会死亡。3种方法在不同轮次中对应的活节点数如图2所示。网络生命周期可分为稳定期和不稳定期。在网络的FND(第一节点死亡时间)之前,网络处于稳定期;网络FND后,网络处于不稳定期。从图中可以看出。U-LEACH和CEED的稳定期明显长于LEACH。并且U-LEACH和CEED在不稳定期的活节点数总是大于LEACH。这是因为U-LEACH和CEED在网络节点能耗平衡方面优于LEACH,所以FND出现较晚,节点的生存时间更长。结果表明,U-LEACH的网络能量消耗比CEED更加均衡。

图2 节点数随轮数变化的比较

4.2.2 网络生存期比较

图3显示了在不同网络规模下的第一个节点死亡的时间,横坐标表示传感器节点的数量,纵坐标表示网络的生命周期。这里以FND的轮数作为衡量标准。随着传感器节点数量的增加,LEACH算法的网络生命周期呈下降趋势,而U-LEACH和CEED的网络寿命呈上升趋势。U-LEACH和CEED算法在簇头的选择上都加入了新的影响因子,簇头的选择更合理,其中U-LEACH效果更突出。结果表明,本文U-LEACH算法能够一定程度地延长网络的生命周期。

图3 网络生命周期比较图

5 结语

本文提出了一种基于虚拟网格的LEACH改进算法。将无线传感器网络划分为若干个网格,每个网格是一个簇,簇头的选取考虑了剩余能量和距离,最后对本文算法进行了仿真,并与CEED算法和LEACH算法进行了比较。结果表明,本文提出的算法在平衡网络能耗和延长网络生存期方面具有很大的优势。但本文考虑的网络简单,传感器节点同构,下一步实际应用中应考虑异构节点的情况。

猜你喜欢

稳定期生命周期能耗
自拟补肺饮治疗慢性阻塞性肺疾病稳定期(肺肾气虚证)的临床研究
全生命周期下呼吸机质量控制
120t转炉降低工序能耗生产实践
布地奈德福莫特罗治疗慢阻肺稳定期,慢阻肺合并肺癌稳定期患者的临床疗效
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
从生命周期视角看并购保险
民用飞机全生命周期KPI的研究与应用
日本先进的“零能耗住宅”
企业生命周期及其管理