APP下载

基于多跳分簇算法的传感器节点剩余能量监测

2021-11-17吕淑芳高宇鹏

计算机仿真 2021年2期
关键词:能量消耗消耗无线

吕淑芳,高宇鹏

(山西农业大学信息学院,山西 晋中 030800)

1 引言

无线传感器网络是一种分布式的传感网络,其主要的末梢能够感知与检查外部世界传感器。其中传感器采用无线方式实现通信,因此网络的设置较为灵活,设备能够随时进行更改,同时还能够与互联网实现无线或者有线的方式连接。传感器网络主要有:数据传输、处理以及采集三种功能,它和计算机技术以及通信技术一同组成了信息技术的三大支柱[1]。它主要是通过大量静止或移动或静止传感器,通过多条以及自组织方式构建无线网络,采用协作的感知、处理、采集以及传输网络,覆盖地理区域中全部被感知的对象信息,且最终将这些数据信息发送给使用者。因为无线传感器网络存在众多种类的传感器,能够探测包括电磁、地震、噪声、土壤成分、移动物体的大小、方向、速度等。所以可以应用在各行各业中:例如商业、工业、家居、医疗、航空、环境、军事等领域。

无线传感器网络将数以万计的传感器节点采用自由式完成结合和组织,从而形成的网络模式,构建传感器节点单元分别是:数据处理单元、能量供应单元、数据传输单元以及数据采集单元,其中数据采集单元主要是用来采集监测区域内的信息进行转换,例如湿度、光强、大气压力等等;数据传输单元是利用无线通信与交流信息的方式,来发送接收采集的数据;数据处理单元主要是处理所以节点路由协议与管理任务以及定位设备等,能量供应单元主要为了缩减传感器节点所占据的面积。在无线传感器网络内,节点主要分为两种:一种是汇聚节点,另外一种是传感器节点[2]。汇聚节点主要工作是通过网关在传感器节点内,把错误报告清除掉,同时将各个传感器节点采集的数据整合,判断发生的事情。用户节点和中心节点进行连接,就能够借助卫星或者是广域网络进行直接通信,且处理收集而来的数据。

无线传感器网络组建方式自由,不受外界条件的限制随时随地可以组建;网络拓扑构造的不确定性,从网络层次方向观察,拓扑结构变化不定;控制方式不集中,虽然无线传感器将基站与传感器节点控制起来,不过每个传感器间控制方式都是分散的,主机与路由功能全是利用网络终端完成各个主机独立运行,且互为干涉,所以无线网络的强度较高,很难被破坏。利用无线通信的方式构成一个多跳自组织的网络,因为它主要是利用节点进行构造的,包含移动电话与电脑等设备,这些设备全是利用无线连接到彼此,接着相互之间利用网络进行转发数据,使数据从一个节点跳至另外一个节点,直到目的地。除非全部节点出现故障,否则数据总是可用的,因此这种网络拓扑结构可靠,并且扩展性较强[3]。不过一旦传感器节点能量用尽,就会导致信息发送不出去,不能及时完成通信,所以需要对节点的剩余能量监测,在能量用尽时,及时更换节点,保证网络通畅。为此提出一种基于多跳分簇算法的传感器节点剩余能量监测方法,为了的是及时观察到节点剩余的能量,对其进行处理,使通信过程顺畅。

2 多跳分簇算法下传感器节点剩余能量监测

2.1 簇头计算

为了减少簇头出现聚集情况以及均衡网络的消耗,需要在簇头选择的阶段,进行充分的考虑所在区域节点分布密度,通过引入密度因子,将簇头的选择概率T(n)进行加权,而能量因子会让能量较高的节点作为簇头的概率增加,能量小的减小节点的概率,且密度因子会让密度比较高的区域内节点成为簇头概率增加[4]。

当每一轮对簇头进行提取时,此轮就会按照固定方法生成一个阈值T(n),在网络内全部的存活节点会同时生成一个0至1间的随机数,假如该数比阈值T(n)小时,就会成为簇头,反之即为普通节点。从阈值计算公式可以看出,每个节点在被选出簇头概率是相等的,能够在网络起始化时刻可以均衡网络内每个节点的能量消耗,不过因为没有考虑节点目前所剩余的能量是否适合做触头,经过工作一定时间之后,在网络内节点的剩余能量比较少的会成为簇头,加速能量损耗[5]。若在担当簇头期间它的能量损耗尽,那么会导致该轮中,此簇头节点信息无法发送,严重则会导致网络出现不连通,使网络数据无法进行采集工作。

而在无线传感器网络内,需要充分通过节点自身有限资源以及信息来尽量降低节点能耗,无线传感器网络的节点通常都知道本身剩余能量以及邻居节点个数。其中一个节点邻居个数就能够直接反映出此节点所在区域节点的大致密度。而邻居节点越多,那么此区域节点的密度就越大,否则密度就越小。

引入能量因子,选取簇头时,需要对节点目前剩余能量进行考虑,通过增加剩余能量的节点当选概率,然后引入能量的调节参数,具体公式为

(1)

式中:Esur(n)代表节点n目前剩余的能量值,Ea代表此轮网络全部节点能量预期平均值,具体大小公式为

(2)

式中:Et代表网络起始时全部节点能量的总和,r代表目前轮数,N代表网络起始时刻全部活动节点数目,rmax代表网络预期能够工作轮数。

引入密度因子,在网络内节点通信时,通常接收节点所接收到的信息内,会具有一个信号的强度值,依据该值能够计算出发送节点和接收节点间的距离[6],能够确定邻居节点个数,既而引入密度的调节参数,具体公式为

(3)

式中:Neighbor(n)代表节点n邻居节点个数,Nr代表目前轮数全部存活节点个数,H代表最佳簇头数。

2.2 多跳路经的选取

在数据的传输过程中,采用多跳方式,那么就具有多跳路经选取,通过改进的蚁群算法来优化多跳路径,具体如下所示:

1)引入全局更新,由于引进蚁群算法是对簇头节点和汇聚节点之间距离进行优化,所以蚂蚁并没有爬完全部节点[7],而为了防止蚂蚁不选取未爬过的路经上面信息素降低,通过引入全局更新的机制,将最大最小的系统以及蚂蚁系统的两个特征进行结合,从而完成全局更新,具体信息素的更新公式选取为

τij(t+1)=(1-ρ)τij(t)+ρΔτij(t,t+1)

(4)

通过引入信息素值上下界,就是τij(t)∈[τmin,τmax]。

2)改变启发式因子,将发送节点和接收节点间的距离设置为dij,在dij

(5)

3)能量损耗的最小路经,蚁群算法主要是求距离的最小值,在本着降低能量消耗,提升无线传感器网络的使用寿命下,因为距离和能耗是不成线性的变化,因此把求路经长度最小值更改成求能量消耗最小值,所以Δτij(t,t+1)同样需要变动,具体公式为

(6)

求解路经应该是从簇头节点至基站路经,就是目标节点子终点路经[9]。

2.3 邻居节点

簇头至汇聚节点的通信路经主要有蚁群优化,因此最佳簇头数和单跳网络不一样,利用dtoBS代表簇头和汇聚节点通信多跳路经,在理想的状态下,簇头间数据的传输主要是自由空间传输数据的衰减模型,所以可以得到公式为

(7)

(8)

2.4 传感器节点剩余能量监测

在无线传感器网络的剩余监测工作过程中,簇头始终是处于活动的智能体,来进行计算处理、传输通信以及数据采集等工作,而绝大部分能量的消耗都用于传输通信,在休眠状态下的节点则会关闭无线通信的模块,并不会进行通信传输的动作,而能量的消耗只是在本身所执行监测任务时消耗的能量,对于活动节点通信的能量损耗是忽略不计的,因此本文监测的剩余能量消耗都是指通信传输的部分。

而对于通信传输的消耗能量,主要是用于数据接收以及发送,假设簇内的活动节点Agenti与Agentj处于标准距离d0下,其最小通信能量的消耗是P0,那么Agenti通信能量消耗Pi和两个节点的空间距离dij有关,具体表达式为

(9)

从网络内的节点智能体转换成本身的状态,可以通过监测能耗的角度对其有效性进行分析,计算能量的消耗,观察是否需要对其进行监测[12]。如果簇头节点Agenti在活动的状态下功耗是Pactive,而处于休眠的状态时功耗会降为Psleep,如果它处于tsleep时刻是由活动状态转换到休眠的状态时,其转换所需要花费的时间为τoff,若在τoff内的平均能耗是Eoff=τoff(Pactive+Psleep)/2,接着维持Psleep直到tactive时再度被激活,那么休眠状态所需要的能量公式为

Esleep=τoff(Pactive+Psleep)/2+Psleep(tactive-tsleep-τoff)

(10)

从另外一方面如果它从tsleep到tactive的时间段内,一直处于维持活动的状态,而不进行状态的转换,那么Agenti即为此时间段中能耗,具体公式为

Eactive=Pactive(tactive-tsleep)

(11)

如果tactive时刻Agenti再次被监测的电场强度值超出阈值,则重新激活需要时间为τon,相同设置τon时间中转换能量消耗为Eon=τon(Pactive+Psleep)/2,因此只有在Esaved>Eon时,Agenti经过转换至休眠状态时,所进行的节能方式才会有效。

如果检测过程内,节点智能体从休眠到再度被激活之间,会具有很大的时间间隔,或者是智能体在转换本身状态时所消耗的能量会比较小,可以忽略不计。因此只需要监测正常通信的过程中,所消耗的能量,完成剩余节点的能量监测。

3 实验证明

3.1 实验数据

为了验证本文方法的有效性,在无线传感器的网络平台上,使用Micaz进行分析。先将收集到的数据信号传输至电脑上,利用电脑记录实时测量数据且绘制能量消耗曲线。因为MicaZ节点运行的是开源嵌入式操作系统上点的Blink程序,程序在操作节点上3个LED显示灯是以不同频率进行闪烁的。通常处理器经过定时从休眠的状态下唤醒,且操作LED灯开关,在完成处理器的任务之后,从空闲的状态又重新进入休眠的状态。其整体过程是处于Ti-nyOS动态能量消耗的管理框架下自动运转的,以此就能观察到LED灯与处理器的工作状态。

实验设置如下:将供电电压设置为3.3V,而传感器部分,对MTS310CA传感器板上的每个传感器进行供电,具体每一个传感器的工作状态所消耗电流如表1所示。

表1 感应器供电状态下能量消耗

3.2 传感器剩余能量损耗监测

对硬件方面考虑,无线传感器的节点消耗部分,主要有:无线通信模块、处理器模块以及传感器模块。因为传感器的绝大部分能量都是损耗在无线通信的模块上,具体如图1所示。

图1 无线传感器网络的能量消耗

通过图1能够看出,传感器与处理器在工作时能量所消耗的比例已经非常小了,以此即可证明,其中绝大部分能量都是消耗在无线通信的模块上。所以在图1内给出了详细无线通信的各工作模式下功耗,但并没有对处理器以及传感器工作状态进行讨论。

在采用本文的节点剩余能量监测方法,对MicaZ节点和配套的MTS310CA的传感器板能量消耗进行监测,具体如图2所示。

图2 剩余能量消耗监测

通过图2所得到的监测数据,与历史所监测到的数据进行对比,数据几乎相同。其中,处理器的部分采取的是单片机活动状态,并没有休眠机制,而无线部分采用的是无线监听,让无线模块一直处于在接收监听的状态。以此可以看出,各部分未使用休眠策略,无线传感器的实际损耗能量并没有像图1所示一样。在对无线通信采用了能量管理策略下(把无线传感器的节点发射功率设置成0、-3、-6、-9dBm),例如:动态功耗的管理TinyOS系统,通信与处理器的能耗都获得了管理优化,此时传感器的能量消耗会具有不可忽视比重。

除此之外,通过改变发送数据包大小和改变通信距离,对节点的剩余能量进行监测,具体可以获得的监测数据结果如表2和表3所示。

表2 改变发送的数据包大小节点能量消耗测试

表3 改变通信距离节点能量的消耗测试

由表2和表3可以验证,传输通信消耗和两个节点之间的距离成正比关系,可得出本文检测方法能够敏锐感知节点能量变化,通过实时监测传感器的能量损耗,得出自身节点剩余的能量多少,且监测的数据精准,效果良好。

4 结束语

本文提出的基于多跳分簇算法的传感器节点剩余能量监测方法,能够及时地对剩余能量进行监测,且监测的数据精确,效果良好,不过由于网络的技术快速发展,所需求的工作量也越来越大,这就导致节点的能量消耗也越来越快,所以未来本文还需要进一步研究,争取能够更加精确快速地监测剩余能量。

猜你喜欢

能量消耗消耗无线
《无线互联科技》征稿词(2021)
学会爱自己
无线追踪3
无线追踪
Clear Your Mental Space
If We Burne d All the Fossil Fuel in the World
热拌沥青混合料生产和施工全过程能耗与排放评价
无线充电器
移动基站无线传感器网络优化研究