基于LEACH协议的能量优化方法

2024-03-21 01:57郝丽君陈嵩杰唐孟麒
计算机工程与设计 2024年3期
关键词:热区数目路由

李 波,郝丽君,陈嵩杰,唐孟麒

(辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001)

0 引 言

在无线传感器网络[1](wireless sensor network,WSN)中,路由协议主要负责将节点采集的数据逐跳转发至基站(base station,BS)。而传感器节点计算、存储和通信能力有限,其资源的局限性[2]给路由协议的设计带来一定的挑战[3]。研究与之相适应的路由协议已成为当今热点[4,5]。

现有路由协议研究分为平面路由[6,7]和分簇路由[8]。代表性的低功耗自适应分簇路由[9](low energy adaptive clustering hierarchy,LEACH)协议可将每个工作周期分为成簇和数据传输两阶段。其中,成簇阶段包括簇头选取和普通节点入簇两个步骤。该协议在一定程度上延长了网络的生命周期,但在两个阶段考虑的影响因素欠缺,存在网络能耗不均和边缘节点早亡问题。针对成簇阶段,文献[10]引入成本函数计算最佳簇头数目,利用优化检测范围内簇头分布来均衡网络能耗。文献[11]借助于节点能量和簇内平均距离改进成簇方式,利用不均匀成簇分配网络能耗。文献[12]引入剩余能量因子与节点密度,提出了一种簇头节点和非簇头节点间双向选取模式,实现了簇头和非簇头间的能耗平衡。针对数据传输阶段,文献[13]引入了中继节点用于均衡簇头能耗。文献[14]由节点与BS间距离,采用单跳与多跳相结合的数据传输方式,延长了边缘节点的生命周期。而文献[15]由节点间距离动态调整发射功率,延长了网络节点的生命周期。可见,这些路由协议在不同程度上延长了网络生命周期,但网络能耗不均、节点早亡问题依然存在。

针对上述问题,本文对LEACH协议在成簇和数据传输两个阶段分别进行优化。在成簇阶段,结合距离与剩余能量改进阈值公式,由节点密度限制成簇规模。在数据传输阶段,簇内采用结合轮询机制的单跳传输方式。

1 系统模型

1.1 能量模型

本文对WSN做出如下假设:100个WSN节点随机分布在面积为100×100 m2的监测区域内。各节点同构、编号独立、能量有限;BS能量无限且位于监测区域的中心位置;BS和节点一经布置,位置固定;所有节点可感知自身位置;通信链路具有对称性,可由收到的信息信号强度计算同发送者的近似距离;所有满足条件的节点可作为簇头,不满足条件则退化为普通节点。

由一阶无线电模型[16]知,在节点i和节点j间传输Lbit数据所需能量由式(1)给出

(1)

式中:Eelec为节点收发单位数据所需的能量,dij分别为节点i和节点j间的距离,εmp和εfs分别为电路放大器在多径衰落和自由衰落情形下的功放系数。

于是,能量模型的距离阈值d0可定义为

(2)

假设普通节点与簇头通信采用自由衰落模型,簇头间通信采用多径衰落模型,能耗模型如图1所示。其中,节点接收数据所需的能量与节点间距离无关,接收Lbit数据所需的能量E为

E=L×Eelec

(3)

簇头节点融合Lbit数据所需的能量EDA为

EDA=L×Epda

(4)

式中:Epda为簇头融合单位数据所需的能量。

1.2 LEACH协议的分析

在LEACH协议中,簇的形成包括簇头选取和成簇两个阶段。簇头选取是节点在每周期内获得一个[0,1]之间的随机数,若该数小于阈值Ti,则为簇头。普通节点入簇可采用就近原则。簇头在数据传输阶段与BS进行单跳通信,阈值Ti定义为[17]

(5)

式中:p为簇头的占比,r为当前网络周期数目,G为在前序周期中未作为簇头的节点集合。由于LEACH协议在选取簇头时未充分考虑节点剩余能量和位置等因素,随机选取簇头会导致距BS较远的簇头因较大的数据传输能耗而早亡;距离BS较近的簇头因承担自身数据传输和作为中继节点,在BS附近的簇头能耗较大,消亡速度快,易出现“热区”。

2 LEACH协议的改进

在簇头数优化阶段,可根据能量模型计算节点数目与簇头数目的比例。在簇头选取阶段,可由节点剩余能量、位置和簇密度改进阈值公式。在归属成簇阶段,可引入簇规模密度限制成簇规模。在簇头更新阶段,可引入能耗速率,利用周期总能耗与各簇平均能耗判定簇头是否更换。在传输数据阶段,可融合采用“热区”内单跳方式与非“热区”多跳方式,自适应选择传输路径,防止“热区”簇头能耗过大。

2.1 簇头数目的优化

首先,由能量模型计算WSN的节点总数和簇头数目间的比例,用于数据融合与数据发送簇头的能耗ECH定义为

(6)

用于感知和数据发送的普通节点能耗Enon-CH为

(7)

由此,周期内总能耗Etotal可表示为

Etotal=ECH+Enon-CH=(2N-k)LEelec+NLEpda+

(8)

∬r2ρ(r,θ)drdθ

(9)

假设覆盖区域面积大小为M×M,簇覆盖范围为圆形,则每个簇的覆盖半径r记为

(M×M)/k=πr2

(10)

于是,式(9)可改写为

(11)

由于节点均匀分布,将密度函数ρ=1/M2k代入式(11)有

(12)

令∂Etotal/∂k=0,则最优簇头的数目kopt为

(13)

由此,网络总节点与新的簇头比例p可表示为

p=kopt/N

(14)

2.2 簇头选取的改进

(15)

式中:Ei(t) 为t时刻节点i剩余能量,Ei(0) 为节点i的能量初值。

为避免低能量节点当选簇头,即节点的剩余能量低于所在簇平均能量i(0) 被使用,在簇头更新时,令此类节点没有机会竞选簇头。随着网络整体能量降低,相对低能节点仍有机会竞选簇头。低能节点判断条件如下

(16)

(17)

接下来,计算网络中BS与存活节点间的平均欧几里得距离Dave(t)

(18)

(19)

由于节点能量与网络总能量随运行次数增加而降低,所以节点剩余能量的比重应降低,而距离应增加。为此,引入参数α自适应调节剩余能量和距离因素的权重

(20)

α=1/γ(t)

(21)

其中,γ(t) 为t时刻簇头更新次数。可以看出,在初始簇头更新时,剩余能量权重α较小。随着运行周期的增加,节点能量与网络总能量均降低,剩余能量权重α逐渐增大。

综上,改进后阈值Ti可定义为

(22)

2.3 普通节点归属成簇的改进

LEACH协议易产生过大簇或过小簇,不利于均衡网络能量和延长工作周期。

(23)

式中:kopt限制成簇的最大密度。

(24)

可以看出,上述公式的成簇方式均为就近原则,即一次成簇。首轮簇头选取完成后进行广播,普通节点联合就近原则和簇密度规模申请入簇。当簇密度到达上限时,拒绝节点入簇请求并指示其应加入次优簇。以此类推,保证所有WSN内的节点都有归属。

2.4 簇头更新的改进

若每周期都采取泛洪式方法更新簇头,则会增加网络负载。由于节点能耗受周围环境和感知数据量影响,还需考虑能耗速率参数。当周期内簇头更替方法为簇内更替时,能耗速率决定是否更换簇头。

假设所有簇合集为C={c1,c2,c3,…,cϑ},每周期内簇ci的能耗为Eci,则周期内总能耗Etotal可表示为

(25)

于是,周期内的各簇平均能耗Eave为

(26)

这样,是否在下周期内簇需更换簇头,只需判断Eci和Eave:当Eci≤Eave时,表明簇头承担负载较小,预测簇头下周期可正常工作,无需更换;当Eci>Eave时,表明簇头承担负载较大,为保证下周期正常工作,应更换簇头。

2.5 传输数据的改进

本文对簇内数据采用结合轮询机制的单跳方式传输。若节点因能量耗尽而消亡,则在轮询表中删除该节点,顺序更新其它节点的位置。簇间数据传输采用“热区”内单跳与非“热区”多跳相结合方式。由节点剩余能量权重自适应选择路径传输,避免“热区”簇头能耗过大,其“热区”的范围Range记为

(27)

式中:Dis(ci,BS) 为BS与簇头的距离,ϑ为网络中簇头数目,位于“热区”范围的簇头采用单跳方式传输数据,无需中继节点。其判断条件为

Dis(ci,BS)≤Range,(i=1,2,…,ϑ)

(28)

(29)

3 仿真实验与结果分析

3.1 仿真场景与参数设置

本文仿真实验环境为:Window10 64 bit,CPU i5,8 GB内存,MATLAB 2019b软件。在成簇方面,对比本文方法、LEACH、LEACH-I、基于k均值聚类的均匀分簇路由(uniform clustering routing base onk-means,KUCR)算法和FCM(fuzzy C means,FCM)聚类算法,将成簇规模、首节点消亡周期、网络工作周期、簇头能耗标准差、数据吞吐量作为衡量指标,相关仿真参数见表1。

表1 仿真参数设置

3.2 仿真结果与分析

图2为LEACH协议的成簇结果。可以看出,成簇数目为8个,由于采用就近原则入簇方式,最大簇规模和最小簇规模相差13%,导致成簇不均。

图2 LEACH协议成簇效果

图3为LEACH-I协议的成簇结果。可以看出,成簇数目为10个,簇规模差距仍较大。在成簇数目上,LEACH-I算法比LEACH算法更为均衡。

图3 LEACH-I协议成簇效果

图4为FCM算法在初始聚类中心为12时的成簇效果。可以看出,成簇数目为11个,簇11为网络中的最大簇,其节点数目占20%左右,但簇头位置并非尽量居中,不利各节点间的相互通信。

图4 FCM算法成簇效果

图5为KUCR算法成簇效果。可以看出,成簇数目为8个,最大簇规模与最小簇规模相差10%,但仍存在成簇不均问题。

图5 KUCR算法成簇效果

图6为本文方法成簇效果。可以看出,成簇数目为11个。由于簇密度的引入控制了成簇规模与均匀性,最大簇规模与最小簇规模仅相差3%。由于边界附近节点为线状分布,若簇头位于近中心位置,则不利于网络能量均衡。

图6 本文方法成簇效果

图7为本文方法与其它算法对首节点消亡时的网络运行周期数对比(网络节点数目100个,测试次数10次)。可以看出,FCM算法给出的首节点消亡出现的周期数目有较大波动。LEACH-I算法对首节点消亡的周期数目体现出了改进优势。而KUCR算法则与LEACH-I算法的整体差别不大。本文方法增加了剩余能量和距离约束,降低了簇头选取与低能节点作为簇头的概率,缓解了网内节点早亡问题。

图7 首节点消亡时周期数目

图8为网络最大生存周期数目对比。可以看出,相对于传统的周期性更换簇头与泛洪式搜索方式,本文方法由能耗速率判定簇头是否更新,缩减了簇头更新次数与泛洪搜索所需的额外能耗,延长了网络的工作周期,优化了网络所需能量。

图8 最大生存周期数目

表2为死亡节点不同占比出现时的周期数比较。可以看出,由于簇头数目的优化、阈值公式的改进、簇密度及能耗速率的引入,本文方法较对比算法,网络的工作周期分别提高了10.6%、15.9%、13.9%和27%。

表2 消亡节点不同占比出现时的周期数目

图9为簇头能耗标准差对比。可以看出,本文方法成簇规模较均匀,簇头能耗标准差比其它算法小且簇头能耗均衡。其原因在于在数据传输阶段,簇内采用单跳和轮询机制的传输,降低了所需节点的能耗;簇间采用多跳与单跳的传输,降低了“热区”内的簇头能耗,其“非热区簇头”采用了自适应路径传输,降低了远离BS簇头节点的传输能耗。

图9 簇头能量消耗标准差

表3为在BS处于监测区域不同位置时的簇头能耗标准差、首节点消亡出现周期数目等各方法的对比。可以看出,当BS位于非监测中心位置时,本文方法存在小幅波动,其原因为当BS处于中心区域时更有利于全网的辐射通信,进而节约了能量。

表3 不同情况下的性能

图10为网络存活周期内BS接收数据量对比。可以看出,随着网络中最后一个节点的消亡,本文方法给出的BS接收总数据量趋于稳定且为最大。同时,在数据传输稳定时的周期数目也明显延后,传输数据量有所提高。

图10 BS接收数据量

表4为当网络节点数目不同时各算法的有效性对比。可以看出,随着节点数目的增加,各算法的用时也逐渐增大。本文方法可达到均衡网络能耗、延长网络工作周期的目的。

表4 算法有效性/s

4 结束语

针对LEACH协议在簇头选取、成簇和数据传输阶段引发的WSN生命周期短、网络能耗不均等问题,本文提出了一种的改进的能量优化方法,均衡了网络能耗,延长了网络工作周期,提高了数据吞吐量。

为提高节点间的辐射通信能力,需在WSN内节点分布大范围聚集成片的情况时进一步优化各项指标。因此,接下来的主要工作是在频域内进行数据分析,由节点的功率谱与能量谱间的相似性完成分簇操作,自适应调节节点的功率实现数据传输。

猜你喜欢
热区数目路由
有机物“同分异构体”数目的判断方法
不忘初心继往开来谱写热作新篇章
——《热区特色农业产业发展与关键技术专刊》刊首语
探究路由与环路的问题
《哲对宁诺尔》方剂数目统计研究
牧场里的马
PRIME和G3-PLC路由机制对比
定向退火条件下柱状晶形成及连续扩展的相场模拟
WSN中基于等高度路由的源位置隐私保护
滇西热区柚早结丰产栽培关键技术
eNSP在路由交换课程教学改革中的应用