寸怡鹏 唐涛 王 菲 姜德航 谢卓然
摘 要
无源无线传感器网络中选择多跳路由进行数据传输时,很容易出现传感器节点选择不合理引发的过载现象,严重时会导致网络瘫痪,这对网络传输性能会产生很不利影响。本文对这种问题产生原因进行分析,而引入时分多址技术,并结合网络拓扑特征,提出一种通过合理分配超帧时隙和选择中继节点的多跳路由算法。在无源无线传感器网络中部署多节点进行多跳路由传输测试,验证了该多跳路由算法的可行性。
关键词
无源无线传感器网络;多跳路由;时分多址
中图分类号: TN929.5;TP212.9 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.11.017
0 引言
随着目前传感器节点的尺寸功耗不断降低,性能日益提升,其应用领域开始迅速扩大[1]。传感器节点大部分都用到移动电源提供能量,这对其环境适用性产生一定不利影响。为有效地避免这一问题,无源无线传感器网络被研发出。无源无线传感器网络是指能够收集能量,并且能采集数据、计算、组网传输数据的网络,通常用于没有稳定供电的应用场景[2]。
1 研究背景
图1显示了这种网络的拓扑结构情况,分析可知其中的组成单元主要有传感器节点和网关。可基于传感器节点的位置进行划分,而将这种网络划分为不同的区域,从1到H区。其中H代表总区数,各区域中的传感器节点为4个,对这些节点依据顺序编码序,各区域内的节点依据逆时针顺序编码,全部节点一直编码从1到N,通过编码相关十六进制数描述这些节点的位置。其中第一个区域的中继节点为网关,由其他区域的中继节点基于对应的方案确定。在进行传感器节点的数据传输时,依据从h+1到h区的顺序进行。
对这种网络而言,节点一般通过多跳路由网络进行数据传输,每个节点均有可能被选为中继节点。如果某节点长时间执行数据转发的任务,则该节点的电量将消耗殆尽,与此同时,邻居节点由于没有进行数据转发,其剩余电量仍然较多,将造成网络中能耗分布不均的问题。利用无源无线传感器网络可以收集能量的特点,设计一种保证节点间能耗均衡的多跳路由算法成了无线传感器领域的研究热点。
在无源无线传感器网络多跳路由过程中通常采用载波侦听多路访问(CSMA)机制来调度节点访问无线网络的顺序和时间。但是采用该机制可能导致信息在传输信道上相互冲突而遭到破坏,为此CSMA采用了CSMA/CA(Collision Avoidance)和CSMA/CD(Collision Detection)的方法来减少或者避免冲突的发生。这两种方法均会通过随机等待一段时间发送数据来避免冲突的发生,存在无法保证传输实时性的问题。
2 多跳路由算法改进
节点在进行数据传输过程中需要消耗能量,为了解决网络中能耗分布不均的问题,需要合理选择每个区的中继节点,使得每个区内节点根据自身情况轮流承担数据转发的任务。为了能改进多跳路由算法,本文分配了超帧时隙并且设计了中继节点选择方案。
2.1 超帧时隙
为有效地避免这种传感器网络中CSMA机制造成的通信冲突问题,本文使用了无线传感器网络通信技术中的时分多址方式[3]。
在将时分多址技术应用于多跳路由算法的过程中,需要对超帧的时隙进行合理分配。下图2显示了超帧时隙的分配相关情况,具体分析可知其中,t代表节点运行在第t个活跃周期。对這种周期而言,其对应的超帧可进一步划分为7个时隙段,可实现的功能主要如重选通知、选择结果反馈、数据采集、休眠等。其中各时隙段可进一步划分为Hi个时隙,各时隙长表示为Lslot,这样就可计算出时隙段长度表示为HiLslot,一般情况下Lslot为10ms。
2.2 中继节点选择方案
首先,提出了一种根据网络中节点的多种指标来动态选择中继节点的方法;其次,中继节点需要根据自身的剩余电量和能量收集速率来决定是否需要重新选择中继节点;最后,以网络中节点的一个工作周期为例,设计了中继节点选择方案的流程。
2.2.1 中继节点动态选择
在选择中继节点过程中应用了不同权重系数多种指标的能耗均衡策略[4]。对与此相关的中继节点进行选择时,单纯选择节点剩余电量等指标为依据。为更好地满足所选中继节点的质量要求,对多种指标都进行分析,在剩余电量基础上,还分析了其功耗和RSSI值[5]。根据指标相关的信息量进行分析,设置出合理的权重系数给各指标。确定出全部指标和对应权重系数乘积之和,然后进行对比分析,确定出值最大的节点,将此节点当作为目标节点。
首先,确保在一个周期数据传输过程中,传感器节点不会出现中断的现象,为此需要设定一个阈值电量Eth进行判断,在发现传感器节点的剩余电量低于设定的阈值情况下结束工作。设当前节点的剩余电量为Eremain,传输数据时的功耗为Psend,分配的发送时隙时间具体表示为Tsend。对全部的待选节点进行遍历,如果发现其符合条件Eremain-PsendTsend>Eth,则认为结束此周期的传输后其剩余电量高于阈值,如果不满足此条件则不选择其当作为中继节点,结束后对列表进行更新。
其次,通过公式评分法对中继节点进行评分,相应的流程如下:根据要求设置适当的指标和相关权重系数,,在此分析过程中假设X1为剩余电量,X2为发射功率,X3表示RSSI值,Wi为指标i的权重系数。在对各指标的权重系数进行分析时,选择了信息量权数法,这种方法在设置时主要依据指标的信息量进行,基于变异系数法进行判断,设置的权重系数大小和变异幅度正相关。
体系中包含m个指标,设其中的指标Xi有n个样本,设的应用其均值,Si为相关的标准差,这种情况下可通过如下表达式确定出其变异系数为:
将CV设置为不同指标的权重得分,进行归一化处理后就可确定出的对应指标的权重系数。在此过程中还应该确定出此种系数的正负号,也就是指标值增加后,对应的贡献变化方向。选择中继节点应该依据一定的原则,主要是剩余电量多,这样可确保在运行过程中网络全部节点的能耗均衡,提高网络运行的稳定性。因而应该设置剩余电量指标的权重系数为正。而功耗小则节点被选择为中继节点的可能性较高,在选择后设置发射功率为对应子节点的,由此分析可确定出发射功率指标的这种系数为负。最后,相关RSSI值大的节点被选择为中继节点,此参数和两节点的间距存在负相关关系,其数值大则说明在数据传输中不容易受到环境因素的干扰,因而此指标的权重系数为正。可在以上分析基础上确定出三类指标的权重系数结果如下:
接着设xi为Xi的第n个样本,这样可通过如下的表达式确定出选择参数RN
进行对比分析,确定出RN值最大的节点,将其设置为目标节点,后者对状态进行调整后,依据超帧时隙相关要求进行子节点数据的接收。
2.2.2 中继节点周期更换
在确定出合适的中继节点后,接着应分析怎样情况下需要更换中继节点。根据实际的经验可知,节点在运行过程中可收集附近的环境能量,这可基于支持向量回归发放进行预测[6]。中继节点可通过这种方法预测出下一个数据处理周期内收集的能量,并计算确定出此周期结束后的剩余电量。在判断发现剩余的电量低于阈值情况下,为满足其后的正常运行要求,其会给自己的子节点发送重选广播,让后者重新选择中继节点。
在此设置的训练数据为最近一段时间内收集的能量数据,其中Ei对应于i周期收集的能量,可据此预测出下周期可收集的能量。
支持向量回归过程中,需要确定出一个线性函数,控制此函数与训练数据差值低于ε,设线性函数可具体表示如下:
代入训练数据就能确定出此线性函数,然后就可预测出下周期中继节点收集的能量Eharvest。如式(14),而下周期结束后其剩余电量Enext可基于如下表达式确定出
在对比分析发现剩余电量小于设定的阈值时,则认为下一周期数据传输完毕后,中继节点的电量不足而关闭,此时,条件下中继节点会发送重选信息给子节点。
2.2.3 中继节点选择方案流程
以下以一个工作周期为例,设计出选择中继节点的流程,具体情况如图3。在此选择过程中先初步选择中继节点,且计算确定出邻居区节点的剩余电量。然后依据条件将其中不满足要求的节点排除。接着依据剩余电量、发射功率和RSSI值相关指标进行计算确定出各候选节点的RN值,进行对比分析确定出最大值对应的节点,将其设置为中继节点。后者在运行过程中采集和传输结束后预测分析下一个周期内收集的能量,然后进行判断,如发现不满足条件,则发送重选信息给子节点,其后进入休眠状态。
3 测试验证
3.1 测试拓扑
图4显示出这种网络的测试拓扑图,分析可知此网络包含十六个节点,可总体上划分为4个区,对其中各区内的节点依据逆时针顺序编号。网关用于对全部节点发送的数据进行接收,和这种网络数据传输相关的报文主要含有中继节点初选广播包、中继节点重选广播包和路由转发数据包等,相关情况如下所示[7]。
3.2 中继节点选择测试
在此测试过程中设置第3区全部节点开始选择中继节点,对此区域中的9-12号节点进行对比分析,确定出中继节点,在选择时依据图2相关的超帧时隙进行,在中继节点确定出之后进行数据的传输。
3.3 中继节点更换测试
中继节点在运行过程中预测下一个工作周期内收集的能量,并计算分析确定出此周期结束后的剩余电量。在对比发现剩余电量值低于设定值情况下,其会发送重选广播包到子节点,然后对中继节点进行重选择。9号节点在进行中继节点的更换时,依据图6相关的顺序进行。在确定出下一周期的中继节点后后,通过其进行数据的转发。在中继节点更换过程中,6号节点发送了这种重选广播包,5、7、8号节点则传输了初选广播包,9号传输了反馈广播包,7号传输了确认广播包。在以上操作基础上,9号节点的重选工作实现,中继节点从6号变为7号。
3.4 数据传输测试
在三次广播选择完毕后,节点发送自身采集的信息到中继节点。以第3区9号节点的数据传输为例进行说明,此节点选择了6号节点当作自己中继节点,这样其需要发送数据包给6号节点。
路由转发数据包的具体过程如下图7,分析此图可知,节点的数据包源和目标地址分别为0x0009、0x0006。在此条件下9号节点被选中为中继节点,因而对应的角色值为0x01。网络报文类型值为0x06,其中包含了80个字节信息,并且对应的序列段值为0x0000,進而判断出其属于一个路由转发数据包。
4 结论
本文对无源无线传感器网络结构进行论述,且针对这种网络而设置了一类多跳路由算法,介绍了多跳路由的网络拓扑,设计了超帧时隙和中继节点选择方案,并通过分析传感器节点在中继节点选择、中继节点更换以及数据传输过程的网络报文对多跳路由算法进行了测试验证。验证结果表明,节点可通过该多跳路由算法在无源无线传感器网络中实现数据的传输。
参考文献
[1]Ilyas M,Mahgoub I.Smart Dust:Sensor network applications,architecture and design[M].CRC press,2016.
[2]羊威.车载无源无线传感器网络的设计与实现[D].北京:北京交通大学,2018. 1-12.
[3]YANG D,XU Y,WANG H,et al.Assignment of segmented slots enabling reliable real-time transmission in industrial wireless sensor net-works[J].IEEE Transactions on Industrial Electronics,2015,62(6):3966-3977.
[4]Wu Y,Qian L P,Huang L,et al.Optimal Relay Selection and Power Control for Energy-Harvesting Wireless Relay Networks[J].IEEE Transactions on Green Comm unications & Networking,2017,2(2):471-481.
[5]Awang A,Lagrange X,Ros D.RSSI-based Forwarding for Multihop Wireless Sensor Networks[C].Open European Summer School &Ifip Tc66 Workshop on the Internet of the Future.Springer-Verlag,2009.
[6]Smola A J,Sch?lkopf B.A tutorial on support vector regression[J].Statistics and com puting,2004,14(3):199-222.
[7]802.15.4e-2012–IEEE Approved Draft Standard for Local and Metropolitan Area Networks Part 15.4:Low Rate Wireless Personal Area Networks(LR-WPANs) Amendment to the MAC sub-layer,2012.