APP下载

面向体域网的节能动态路由算法研究

2019-12-06李燕香曹小凤

软件工程 2019年11期

李燕香 曹小凤

摘  要:近年来,随着对健康医疗水平的重视,体域网迅速发展起来。但是由于无线电作为传输介质传输能耗较高,并且穿戴在人体的传感器节点往往较小,这都导致网络生存周期较短。此外,体域网中各节点的相对位置会随着用户不同行为模式及姿态而发生变化。如何针对动态拓扑结构选择路由,保证最大化网络的生存周期,是本文的主要研究内容。本文提出一种基于卡尔曼滤波的动态路由算法,来自适应变化的网络拓扑,并同时达到延长网络生存周期的目的。

关键词:体域网;动态路由算法;网络生存周期

中图分类号:TP393     文献标识码:A

Research on Energy-Saving Dynamic Routing Algorithm for Body Area Network

LI Yanxiang,CAO Xiaofeng

(Department of Computer Engineering,Taiyuan Institute of Technology,Taiyuan 030008,China)

Abstract:In recent years,with the emphasis on health care,body area network has developed rapidly.However,due to the high energy consumption of radio transmission as a transmission medium and the small numbers of sensor nodes worn on human body,the network lifetime is shorter.In addition,the relative position of each node in the body area network will change with user's different behavior patterns and gestures.How to select routing for dynamic topology to maximize the lifetime of the network is the main content of this paper.In this paper,a dynamic routing algorithm based on Kalman Filtering is proposed,which adapts to the changing network topology and prolongs the network lifetime.

Keywords:body area network;Dynamic Routing Algorithm;network lifetime

1   引言(Introduction)

近年来,随着集成电路和可穿戴设备的迅速发展,一种用于检测人体生理数据的无线传感器网络——无线体域网(Wireless Body Area Network,WBAN)应运而生[1]。无线体域网的网络实体结构如图1所示。

图1 无线体域网的网络实体结构图

Fig.1 Network physical structure of wireless body areanetwork

为了避免对人体正常行为活动带来的不便,体域网中的传感器节点往往体积较小,因此携带的能量也较小。此外,实时变化的网络拓扑结构,也为数据传输的能量消耗带来额外开销。频繁更换传感器必然不是最好的选择,因此如何节约能量,尽可能延长网络生存周期,是WBAN研究的重要课题之一。

卢先领、彭能明等提出一种基于压缩感知理论的数据压缩节能策略[2];周岳斌、陈家顺等提出一种利用节点转发来平衡网络能耗的分簇路由算法以延长网络生存周期[3];彭能明、金智明提出一种利用临时节点富余能量,平衡网络节点间能量损耗以延长网络生存周期的算法[4];刘汉春、刘静等提出一种优化网络拓扑模型,通过动态调整数据到汇聚节点的路由及中继节点在网络中的数量和位置,延长网络生存周期[5]。

本文通过卡尔曼滤波预测节点剩余能量,在路由选择时选择预测剩余能量最大的节点作为路由的后继节点,保证整个网络的剩余能量始终最大,从而延长网络生存周期。

2   网络模型及算法(Network model and algorithms)

2.1   網络模型

部署在人体的传感器种类繁多,图2是体域网的一种传感器部署策略。

图2 体域网传感器部署举例

Fig.2 Examples of sensor deployment in body area network

本文体域网的拓扑结构如图3所示是一种以汇聚节点为中心的星型拓扑和网状拓扑相结合的网络结构[6,7]。

本文中根据与汇聚节点(sink)之间的欧式距离进行分层:距离汇聚节点越近的节点层次越低,否则反之。为了消息最终都定向传输到汇聚节点,高层次的节点只能向低层次节点发送数据消息,低层次节点只能向高层次节点发送命令消息。

汇聚节点为0层,上层节点的节点层数为下层节点的节点层数加1:节点X的层数为1,节点Y的层数为2。

图3 BAN内部网络拓扑示意图

Fig.3 Topology diagram of BAN internal network

2.2   基于卡尔曼滤波动态路由算法描述

本文用表示节点i的位置信息,用Ei记录节点i的剩余能量,用Pt表示节点在t时刻的能量损耗,表示t时刻消息传输的距离,表示传播角度,消息定向传输[8],则存在如下关系:

用Sit表示节点i在t时刻发送的消息,Sit.Energy表示节点i在t时刻的剩余能量,用表示节点i在t时刻的能量开销:

用了一个简化的卡尔曼滤波器来预测时间间隔[t,t+1]及之后的能量消耗,假设t时刻节点i的能量开销预测为,则t+1时刻节点i的能量开销为:

其中,α是一个常系数,取值范围[0,1]。

则节点i的预测生存周期为:

考虑整个网络的生存周期,则问题变为求解最大化最小值问题:

用Lij表示节点i到j的距离,用Aijk表示节点i、j和k之间以j为顶点的传输角度,节点j把信息同时传递给i和k的能耗为:

同时,节点预测的总能耗必须小于节点的剩余能量

算法用循环遍历每一个节点,并搜索每一个节点所有可能的后继节点,每一个节点将数据信息冗余发送给两个后继节点,如果这三个节点的最小生存周期能够提升,则将满足条件的这两个节点作为路由的可行解。

2.3   网络数据包格式

在数据传输时,除了传输传感器数据之外,还需要一些其他标识字段,完整的数据包格式如表1所示。

表1 路由算法数据包格式

Tab.1 Routing algorithm packet formatSID Energy Coordinate Level Data

SID字段:用来唯一标识传感器。来源于不同传感器的数据包中该字段不同。

Energy字段:用来记录当前节点的剩余能量。一个节点的剩余能量,等于其初始能量减去监测能量、通信能量、电量损耗等。当节点的剩余能量较少时,该节点只能作为一个传感器节点接收数据而不能转发数据,以此保证整个网络剩余能量尽可能最大。

Coordinate字段:用来标识传感器节点的位置信息。由于体域网的网络拓扑是随着人体行为活动和姿态的改变而变化的,因此,以此字段来获取传感器节点当前相对于人体的位置。从而能够确定节点位于网络拓扑中的第几层,以便信息的定向传输。

Level字段:用来标识当前传感器节点的层次信息。与Coordinate字段结合,共同确定节点位于网络拓扑中的层数,以此来确保数据只能从高层次节点向低层次节点传输。

Data字段:用来记录传感器节点检测到的实时用户数据。

3   实验分析(Experimental analysis)

3.1   实验设置

本次实验,采用在一个1.5m*2m的平面随机分布20个节点来模拟人体随时变化的网络拓扑[9]。每一个节点的初识能量为100。

节点的能耗为:

其中,Size表示数据包的大小,At传输角度是一个离散值,本文中令At=2。

本文用两个常用的路由算法作为对比算法,分别是:

Comparing Algorithm 1:使用与本文网络相应的随机游走算法。

Comparing Algorithm 2:Dijkstra最短路径算法。

3.2   实验结果分析

网络生存周期随网络层数的变化曲线如图4所示。

图4 网络生存周期随级别个数变化图

Fig.4 Network lifetime changes with the number of levels

图4中,当Level=1时,表示体域网中所有传感器节点不需要通过中继节点转发数据,而是直接将数据传输给汇聚节点。因此,这时的传感器能量损耗都是由通信产生,三种路由算法基本相同;当Level数量不断增加时,Comparing Algorithm 1的网络生存周期最短。这是由于随机游走算法的中继节点是随机选择的,这可能带来的结果是其路由选择不仅不是能量最优也不是路径最优;Comparing Algorithm 2较Comparing Algorithm 1略有提升。这是由于最短路径算法的传输路径较短,因此能量损耗较小,网络生存周期有所改善;本文提出的动态路由算法,基于节点剩余能量选择中继路由,因此能够在层数逐渐变大时,消除最外层传感器节点由于长距离传输而导致的生存周期瓶颈,同时,减少了内层节点的能量消耗,显著地提升了网络生存周期。

当传感器节点数量增加时,网络的生存周期与节点密度关系如图5所示。

令Level=2,调整网络中节点数目。

图5 网络生存周期随网络规模变化图

Fig.5 Network lifetime changes with network scale

图5中,随着网络节点数目增多,层次数较高的节点会承担更远距离的数据传输,而层次数较低的节点会承担更大的数据流量,数据的通信和转发开销都增大,因此生存周期减少。但相对于Comparing Algorithm 1随机游走算法和Comparing Algorithm 2最短路径算法,本文提出的动态路由算法,由于是基于节点剩余能量选择中继路由,因此对网络生存周期有较为明显的改善。

4   结论(Conclusion)

本文以改善体域网网络生存周期为目的,提出了一种基于卡尔曼滤波的动态路由算法算法。通过与随机游走路由算法和最短路径路由算法对比,在不同的网络层次及不同网络规模(密度)的条件下对比网络生存周期,验证了本文提出的算法对生存周期有一定的改善。基于不同姿态自适应路由将是进一步的研究方向。

参考文献(References)

[1] 豐惠.无线体域网中可靠高效数据传输策略研究[D].中国科学技术大学,2014.

[2] 卢先领,彭能明,徐保国.无线体域网中能量高效且可靠的自适应路由协议[J].电子与信息学报,2013(6):1520-1524.

[3] 周岳斌,陈家顺,马贺贺,等.无线体域网节点数据压缩节能方法[J].传感器与微系统,2017,36(11):10-13.

[4] 彭能明,金智明.基于转发节点的无线体域网节能策略研究[J].杭州电子科技大学学报,2011,31(06):103-106.

[5] 刘汉春,刘静,徐友云,等.基于临时节点的无线体域网高效节能路由算法[J].信息技术,2010,34(06):1-5;28.

[6] 梁正友,姚玉梅.IEEE 802.15.6中能量有效的无线体域网拓扑结构优化研究[J].通信学报,2016,37(06):1-10.

[7] 顾正强,彭浩,吴援明.无线体域网中的人体通信关键技术研究[J].通信技术,2017,50(09):1968-1975.

[8] 沈羽翔.无线体域网的节能策略技术研究[J].通讯世界,2017(23):75-76.

[9] 李燕香.基于网络编码的BAN数据可靠通信方法研究[D].吉林大学,2016.

作者简介:

李燕香(1994-),女,硕士,助教.研究领域:无线体域网.

曹小凤(1989-),女,硕士,讲师.研究领域:人工智能,数据挖掘.