APP下载

太阳能补给的线型WSN能量高效路由算法

2020-09-18李翠然

计算机工程 2020年9期
关键词:线型路由生命周期

李翠然,李 昂

(兰州交通大学 电子与信息工程学院,兰州 730070)

0 概述

无线传感器网络(Wireless Sensor Network,WSN)是一种由大量传感器节点以多跳自组织方式组成的无线通信网络,其具有监测精度高、覆盖区域广等特点[1],在数据收集、环境监测等领域被广泛应用。目前,针对平坦型WSN的路由算法已经有大量研究成果,但是对狭长区域进行环境监测时,还需要设计WSN节点线型部署时的路由算法以满足应用需求[2]。

线型WSN可以应用于管道[3]、铁路沿线[4]和边界[5]等线型区域的环境监测。但线型WSN特殊的拓扑结构更易导致能量空洞问题,即靠近汇聚节点的节点由于转发数据包数量多而造成能量快速消耗甚至节点死亡。文献[6]提出一种用于监视大型建筑物中各种管道的线型WSN节点最优部署方案,其采用狮群优化算法,根据不同管道长度优化节点数和节点间距离,以最小的延迟和丢包率使节点部署数量最少同时延长网络寿命。文献[4]面向高速铁路环境提出一种基于事件触发的线型WSN路由协议,通过调节触发阈值减少节点转发数据量,从而降低节点能耗,延长网络生命周期。文献[7]针对铁路线型环境提出的路由算法,根据采集信息的重要程度设置优先级,使等级高的数据包传输跳数变少,从而减少排队时延,有效均衡网络能耗,延长网络寿命。上述路由算法虽然适用于线型环境,但是一旦节点电池耗尽,网络就会死亡。

目前,环境能量采集(Ambient Power Harvesting,APH)技术的发展使传感器节点不仅由电池供电,而且还可以从环境中补给能量(如太阳能、振动能等)[8]。但是由于APH具有随机性和时变性,因此能量有效性研究始终是WSN硬件设计、通信协议和上层应用优化方面的研究重点[9],设计高效管理的路由协议并合理利用采集的能量十分重要。ACMC[10]是一种数据采集量随太阳能能量补给值变化的路由算法,其由矩阵恢复出全部数据,同时增大远离簇头节点的占空比,从而提高能量利用率并降低网络时延。DEARER[11]是一种具有能量预留的距离和能量感知路由算法,其设定能量补给为泊松分布,使节点轮流成为簇头,在节点为非簇头节点时预留部分能量在自身为簇头时使用,从而解决能量补给短缺时簇头中断的问题。PHC[12]是一种基于振动能能量补给的分簇路由算法,其中簇首的选择综合考虑各节点能量补给值和剩余能量,并定义一个代价函数决定非簇头节点应归属于哪个簇的问题,从而有效延长网络寿命。

现有针对能量采集WSN的路由算法多为面向节点大面积密集随机部署的场景,不适用于线型环境监测。为此,本文提出一种具有太阳能补给功能的WSN路由算法,针对不同能量补给值设置传输阈值,从而高效利用补给能量,延长网络生命周期,使算法满足线型WSN节点部署要求。

1 系统模型

1.1 节点部署方式与能耗模型

线型WSN节点部署方式如图1所示[4]。在铁路沿线这种线型狭长区域部署大量信息采集节点,用于采集沿线气温、风力、机车参数等大量数据,并将采集的信息周期性地发送至数据接收/转发节点,每个数据接收/转发节点接收到信息采集节点转发的数据量相同。为定量分析线型WSN的节点能耗问题,本文做如下假设:

2)所有传感器节点都是同构的,具有相同初始能量和唯一ID,并且部署后不可移动。

3)由于节点能耗主要发生在接收和转发数据中,为简化计算,对节点感知环境的能耗忽略不计。

4)节点可根据与接收节点之间的距离自由调节发射功率以节省能量。

5)数据传输时不考虑冲突或重传。

图1 线型WSN节点部署示意图

无线传感器节点的主要功能包括信息感知、信息处理和信息传输,相对于信息感知和信息处理,信息传输的能耗较高[13]。节点每传输lbit数据至距离d时,发送端和接收端的能量消耗ETX和ERX分别表示为[14]:

(1)考虑到介质含有焦粉等颗粒杂质以及在运行过程中会产生热量,易导致电渗析膜堵塞、老化变性,从而缩短膜寿命,故在工艺中设置预处理工序,对介质进行过滤和冷却,以保护设备。

(1)

ERX(l)=lEelec

(2)

1.2 太阳能补给模型

传感器节点主要由处理模块、传感模块、能量模块和通信模块4个部分组成[15]。图2显示了具有太阳能采集功能的WSN节点系统结构。在能量采集模块中,通过太阳能电池板将太阳能转化为电能,可以直接为节点供能。若太阳能采集速率大于节点消耗速率,则可以将多采集的能量存储于能量存储模块即电池中;若太阳能补给不足,则采用电池供电[16]。

图2 具有太阳能补给功能的WSN节点系统结构

太阳能采集能量的多少主要取决于时间、天气和位置等信息[17]。本文对传感器节点配备1 V 80 mA的30 mm×25 mm太阳能电池,对不同天气下节点的能量采集速率进行实际测量,每隔10分钟记录一次数据。设置同一节点位置不变,晴天和阴天环境下的最大能量采集功率如图3所示。

图3 不同天气条件下节点太阳能最大采集功率

2 路由算法

本文提出太阳能补给的线型WSN能量高效路由算法,其设计思想为:根据不同天气条件下太阳能补给值的不同,确定相应的传输阈值,提高数据传输量,并采用节点均匀分簇和簇内节点轮流作为簇首的机制,以均衡节点间的能耗,延长网络生命周期。

2.1 传输阈值选取

由于太阳能能量补给具有随机性、受天气影响变化大和夜间无能量补给的特性[18],因此在设计具有太阳能补给功能的WSN路由算法时要兼顾有能量补给和无能量补给2种情况。定义数据传输阈值η为Sink节点接收到的数据包数量占信息采集节点转发数据包数量的比率,取值范围为(0,1]。当有能量补给时,根据能量补给值的变化设置不同的阈值,从而高效利用补给能量以提升网络性能;当夜间无能量补给时,全网为节能模式,设置较低的阈值,使网络可以运行至下一个能量补给周期。

在白天,根据太阳能补给量可以将网络分为3种状态,分别为耗能期、储能期和平稳期。若节点能量补给值小于等于消耗值α,此时网络处于耗能期,网络总能量呈下降趋势,为延长网络生命周期,将数据传输阈值设置为η1;若节点电池电量小于初始值E0,能量补给值大于消耗值α,此时网络处于储能期,节点电池为充电状态,网络总能量呈上升趋势,但由于电池并没有充满,因此将数据传输阈值提升到η2;若电池电量已充满为E0,节点能量补给值大于等于消耗值α,此时网络处于平稳期,为减少能量的溢出浪费,将补给能量用于全部数据传输,此时将传输阈值设置为η3=1。

在夜间,网络处于无能量补给阶段,此时要根据夜间时长和夜间来临时刻节点的剩余能量确定传输阈值η4,以达到延长网络生命周期至下一次能量补给周期的目的。

网络处于不同状态时,每轮能量补给周期内的传输数据包数量mη表示为:

(3)

2.2 分簇与簇首选举

分簇算法将网络任务分散到各个簇并在本地范围内加以解决,为网络带来全面的性能提升[19]。文献[4]中数据接收/转发节点之间距离为250 m,间距较远,节点间为单跳传输,容易使靠近Sink节点的传感器节点能量迅速耗尽而造成能量空洞现象。为均衡节点间能耗,本文在原节点之间增设新的节点,并以簇直径D均匀分簇,如图4所示。其中,d为新增节点后节点之间的距离,此时网络中均匀部署了n个节点。当网络初始化运行分簇后,网络拓扑结构不再发生变化。

图4 节点均匀分簇示意图

每个簇内节点数n0为:

(4)

若监测区域长度为L,则每个节点接收信息采集节点的数据包数量m0为:

(5)

在长距离、线型稀疏节点部署环境下,为确保相邻簇首间的距离相近并且簇首节点有较充足的剩余能量,采用使簇内节点轮流成为簇首的选举机制。在每轮簇首选举中,每个簇内从靠近Sink节点的节点成为簇首开始,依次到簇内距离Sink最远的节点成为簇首的轮数为一次循环,则循环一次为n0轮,保证每一轮相邻簇首之间的距离均为D,使簇内各节点平均能耗相近,从而延长网络生命周期。

2.3 数据传输

路由算法采用单跳和多跳相结合的数据传输方式。簇内通信采用单跳传输方式,簇内节点将其采集到的数据包直接发送给簇内的簇首节点;簇间通信采用多跳传输方式,簇首节点将接收到的簇内成员和其他簇首的数据包转发至Sink方向最近簇首,从而将数据包多跳传输至Sink节点。

除了距离Sink最近的簇外,其余每个簇内任意一个节点成为簇首的能耗为:

(6)

由式(6)可以看出,簇首能耗与簇内节点数无关,只与簇首所在簇的位置有关,越靠近Sink的簇首转发的数据量越大,这是因为节点能耗主要取决于收发节点之间的距离和比特数[20]。但第一个簇内除距离Sink最远的节点外,其余节点成为簇首后虽然数据转发量大,但是转发距离均小于D,只有第一个簇内距离Sink最远的节点成为簇首时,其数据转发量和传输距离为全网最高,会成为网络最先死亡的节点。本文采用网络生命周期的一般定义,即网络中第一个节点死亡时的轮次,计算网络的生存周期T。

将第一个簇内距离Sink最远的节点称为节点A,则在一次循环中,节点A在前(n0-1)轮为普通节点,在第n0轮为簇头节点。节点A在前(n0-1)轮的总接收能耗E2和总发射能耗En0-1分别表示为:

E1=m0(n0-1)lEelec

(7)

E2=m0ηl(Eelec+εmp·d4)+m0ηl((Eelec+εmp·(2d)4)+…+m0ηl(Eelec+εmp·((n0-1)d)4)=

(8)

(9)

节点A在第n0轮成为簇首的总能耗En0为:

(10)

节点A在一次循环n0轮的总能耗Euse-A为:

Euse-A=En0-1+En0

(11)

(12)

网络生命周期T为:

(13)

2.4 算法流程

本文路由算法流程如图5所示,具体步骤如下:

步骤1网络运行开始,各节点以距Sink最近的节点开始,依次以每n0个节点为一簇广播成簇信息,第一轮分簇后,簇结构不再变化。

步骤2判断网络中是否存在节点k剩余能量小于等于0,若存在则网络运行结束;否则转步骤3。

步骤3由Sink节点计算判断网络处于耗能期、储能期、平稳期还是夜间无能量补给期。判断节点平均能量补给值是否等于0,若是则为夜间无能量补给期,设置传输阈值为η4,转步骤6;否则转步骤4。

步骤4判断节点平均能量补给值是否小于α,若是则为耗能期,设置传输阈值为η1,转步骤6;否则转步骤5。

步骤5判断节点平均剩余能量是否小于E0,若是则为储能期,设置传输阈值为η2;否则为平稳期,设置传输阈值为η3。

步骤6广播节点能量补给信息和此轮传输阈值η,并根据簇内节点轮流成为簇首的选举机制,广播此轮成为簇首的节点信息。

步骤7节点接收到广播信息后,判断自身是否为簇首节点,若是则转步骤8;否则转步骤9。

步骤8多跳数据传输阶段。簇首节点将接收到的信息多跳转发给距Sink方向最近的簇首节点,最终到达Sink节点,转步骤10。

步骤9簇内节点将自身储能耗能信息及接收采集到的信息以传输阈值η单跳转发给所在簇的簇首,转步骤8。

步骤10Sink节点接收到全网数据后进行计算处理,网络进入下一轮运行,转步骤2。

图5 本文路由算法流程

3 仿真结果与分析

本节使用Matlab软件进行仿真实验。选取的监测区域长度L为2 km,簇直径D为250 m,此监测区域内的数据采集节点个数为160,节点初始能量E0为50 J,每轮时间为60 s[21],其他仿真参数设置与文献[4]相同,即Eelec=50 nJ/bit,εmp=0.001 3 pJ/bit/m4,εfs=10 pJ/bit/m2,d0=87.7,数据包大小l为4 000 bit。

3.1 分簇对网络性能的影响

图6和图7分别给出了采用文献[4]单跳传输路由算法和本文均匀分簇-多跳路由算法的节点平均能耗和网络生命周期对比。由图6可以看出,单跳传输方式下的节点能耗远大于均匀分簇算法的节点平均能耗,在均匀分簇n0=3,4,5时的对比中,n0=5的平均能耗最低。由图7可以看出,均匀分簇方式下的网络生命周期远长于单跳传输方式,且随着簇内节点数目的增多,网络生命周期随之增加,这是由于传输相同的数据量,簇内有更多的节点可以轮流成为簇头以分担能耗,从而延长了网络生命周期。

图6 节点平均能耗对比

图7 网络生命周期对比

3.2 传输阈值η对网络性能的影响

仿真分别在图3所示的不同天气能量补给情况下,研究η1、η2、η4取值对网络剩余能量、网络生命周期和数据传输量的影响。路由算法均采用n0=5的均匀分簇-多跳路由。

在晴天环境下,网络运行1天时,η4不变条件下η1、η2的取值对网络剩余能量的影响如图8所示。可以看出:η1、η2的值越小,电池充满电的速度越快,这是因为在同样的能量补给速率下,η1、η2取值越小,传输的数据包越少,节点能量消耗越少,则充电时间越短;在第960轮昼夜交替的时间点上,η1、η2取值越小,则网络的剩余能量越多,这是因为η4的取值是相同的,所以η1、η2取值越小的网络在夜间无能量补给时网络剩余能量越多,网络生命周期越长。

图8 晴天环境下的网络剩余能量

在晴天环境下,网络运行1天时,η4不变条件下η1、η2的取值对数据传输总量的影响如图9所示。可以看出:在网络开始的耗能期,η1、η2取值越大,其传输的数据量的增量越大;在960轮以后夜间无能量补给时,η4不变,但η1、η2值越大,其传输的数据总量越大。

图9 晴天环境下的数据传输总量

在晴天环境下,网络运行1天后,η1、η2不变条件下η4的取值对数据传输总量的影响如图10所示。可以看出,η1、η2不变时,η4越大则数据传输总量越大。

图10 晴天环境下η4对数据传输总量的影响

在晴天环境下,η1、η2不变条件下η4的取值对网络生命周期的影响如图11所示。可以看出,当η1=0.4,η2=0.6时,为使网络运行至下一能量补给周期,η4的最大取值为0.14,若超过这一阈值,会使网络提早死亡。这也解释了图10中η4大于0.14后网络中数据传输总量的增量变小甚至传输总量下的原因。

图11 晴天环境下η4对网络生命周期的影响

在阴天环境下,网络运行1天后,η4不变条件下η1、η2的取值对网络剩余能量的影响如图12所示。可以看出:η1、η2越小,节点充电速度越快;在第900轮昼夜交替时剩余能量越多,η4相同时其网络生命周期越长。对比图8可以发现,晴天时节点充电速度更快,网络在稳定期的时间更长,在昼夜交替的时间点剩余能量更多。

图12 阴天环境下的网络剩余能量

在阴天环境下,网络运行1天时,η4不变条件下η1、η2的取值对数据传输总量的影响如图13所示。可以看出,η4取值固定时,η1、η2取值越大,则数据传输总量越多。对比图8、图9和图12可以发现,在η4不变、η1、η2变化的情况下,阴天环境下网络对η1、η2的变化反应更敏感,这是因为阴天环境下的能量补给变化波动较大,能量补给值较低。

图13 阴天环境下的数据传输总量

在阴天环境下,网络运行1天后,η1、η2不变条件下η4取值对数据传输总量的影响如图14所示。可以看出,阴天数据传输总量随η4的增大而增大,且在η4=0.11以后,增量逐渐变小,因为网络已经提早死亡。此外,当η4值相同时,图10中晴天的数据传输总量远多于阴天,主要有以下2个原因:1)在白天,阴天环境下能量补给值较低,数据传输阈值大部分时间处于低值状态,与大部分时间都处于平稳期的晴天相比,数据传输总量更低;2)阴天夜间来临更早,网络处于无能量补给状态的时间更长,传输阈值低,则数据传输更少。

图14 阴天环境下η4取值对数据传输总量的影响

在阴天环境下,η1=0.4,η2=0.6时,η4的取值对网络生存周期的影响如图15所示。可以看出,为使网络运行至下一能量补给周期,η4的取值最大为0.11。对比图11可以看出,当η1、η2相同时,晴天可取的η4值更大,这是因为阴天时,昼夜交替更早,夜间无能量补给的时间更长,且昼夜交替时间点剩余能量更少,为使网络运行至下一能量补给周期,η4取值更小。

综上所述,随着网络对数据传输量要求不同和天气的变化,η1、η2、η4的取值可做出相应变化。如网络要求夜间传输数据量多,则要降低η1、η2的值,使昼夜交替时间点网络剩余能量更多,η4取值可以增大;如果是阴天,则要降低η4的值,使网络可以运行在较长的无能量补给期间,直至下次能量补给周期的到来。

4 结束语

针对线型WSN中容易出现能量空洞现象而导致网络生命周期缩短的问题,本文提出一种具有太阳能补给功能的能量高效路由算法。通过均匀分簇和多跳路由解决节点能耗不均衡问题,根据不同天气和时刻的能量补给值动态设置传输阈值,提高太阳能补给能量利用率。在晴天和阴天环境下的仿真结果表明,该算法可有效提高网络数据传输量,延长网络生命周期。后续将在更复杂的天气条件下进行研究,进一步提高本文算法的适用性和路由性能。

猜你喜欢

线型路由生命周期
全生命周期下呼吸机质量控制
变化环境下考虑线型不确定性的水文设计值估算分析
铁路数据网路由汇聚引发的路由迭代问题研究
从生命周期视角看并购保险
多点双向路由重发布潜在问题研究
民用飞机全生命周期KPI的研究与应用
一种基于虚拟分扇的簇间多跳路由算法
微流控法低温保护剂添加及去除线型优化研究
路由重分发时需要考虑的问题
大直径半球容器纤维缠绕线型研究