一种满足WBSN低能耗要求的时间同步算法设计
前 言 ,随着生物传感器、可穿戴式技术和无线传感器网络的逐步发展,无线躯体传感器网络的概念(wireless body sensor network, WBSN或BSN)被研究人员所提出,它主要由各种采集人体生命体征的传感器节点、中央处理节点及监护中心的接收装置组成。无线躯体传感器网络主要应用于医疗监护、疾病监控和生物医学等领域,是形成人联网(Internet of persons)的重要感知及组成部分。
时间同步是WBSN的一个重要支撑技术,采集的各种生理信息的融合,生理传感器节点的休眠和唤醒,各节点之间的协同工作都需要时间同步。由于WBSN应用的需求,传感器节点逐步向可穿戴式发展,节点体积小、重量轻、便于携带,导致节点能量非常有限,因此设计一种满足WBSN低能耗要求的时间同步算法是一个值得探索的问题。
1 算法设计 本文通过对WBSN特点的分析,结合已有典型的时间同步算法TPSN和DMTS,提出了一种满足WBSN低能耗要求的时间同步算法,在保证一定同步精度的前提下,减少信息交换次数来达到低能耗的要求。基于基准节点单向广播消息的时间同步机制通过减少消息交换量换取低能耗,但同步精度有所下降。基于成对双向消息传递的时间同步机制采用往返消息测量成对节点间的时间偏移和传播时延,同步精度较高但协议复杂同步开销大。结合这两种机制,设计算法。
2 算法描述 第一阶段为层次建立阶段。首先确定根节点及分层,此节点是全网的时钟参考节点,赋予层次号0,根节点广播包含有自身层次号的数据包,相邻节点收到该数据包后,确定自身层次号为1,然后1层节点继续广播带有自身层次号的数据包,以此类推,i层节点广播带有自身等级信息的数据包,其相邻节点收到后确定自身等级为i+1,直到网络中所有节点都有自身的等级。已确定层次的节点拒收其他数据包。至此,全网建立起一个层次结构。 第二阶段为同步阶段。同步阶段又分为层间同步和层内同步。层间同步采用成对双向消息传递机制,层内同步采用基准节点单向广播机制,每层节点中选出一个基准节点,层内结构形成主从关系。 除根节点外,每层基准节点按层次序号依次向上层发送同步请求。1层基准节点向根节点发送同步请求,两节点间采用成对双向消息同步机制进行同步,1层基准节点计算出节点间时间偏移和传播时延,调整本地时钟,与根节点达到同步。然后1层基准节点在层内广播一个同步消息,层内其他节点收到消息后估计消息时延,调整本地时钟。至此实现了一层节点的同步。 同步过程中设立一个同步计时器,用于记录层间同步时间T。间隔t(T≤t≤2T),2层基准节点向1层基准节点请求同步,按照层间和层内方法实现同步。间隔时间t的选取保证上层节点已与根节点达到同步。以下各层重复上述同步过程实现全网同步。此算法结合单向广播和成对双向消息传递进行横向和纵向时间同步,横向指层内广播,纵向指层间成对,横纵交错,实现了所有节点的同步。
3 算法仿真 为了评估和分析算法的性能,本文采用网络仿真工具NS-2进行实验仿真。NS-2(Network Simulator version 2)是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易地进行网络技术的开发。设计仿真环境为50×50m2的正方形区域,随机分布50个节点,节点间无线通信距离为10m。 本文提出的改进算法比TPSN算法的同步开销要小得多,并随相邻节点数的增加,其同步开销的差别越大。如图1所示。
这是因为改进算法中每层只有一个基准节点,层间同步过程需两个消息交换的开销,而基准节点与本层的其他节点只需要一个消息开销,而TPSN算法则需要2倍于节点数的开销。 显然,改进算法明显减少了同步阶段所需的消息交换次数,降低了同步过程所需的通信开销。 改进算法的同步误差略高于TPSN算法。如图2所示。
图2 改进算法与TPSN 算法同步 这是因为改进算法中每层只有一个基准节点与上层节点进行同步,层内其他节点都是参照这个节点与上层节点进行同步的,而TPSN算法中每个节点都与上层节点进行单独的同步,所以改进算法同步误差略高。根据仿真试验可以分析比较改进算法与TPSN的性能,虽然改进算法的同步误差比TPSN大,但它可以满足大多数WBSN的应用需求。而改进算法的能量消耗远小于TPSN,实现了低能耗的设计要求。
4 结论 时间同步是WBSN的一项重要的支撑技术,设计时间同步算法时常常要考虑能量消耗和同步误差,但这两个重要参数往往是一对矛盾的量。大多数WBSN对同步精度的要求并不高,所以在能量消耗和同步误差之间获得一个折衷是重点所在。本文提出的改进算法结合基准节点单向广播机制和成对双向消息传递机制,在保证一定同步精度的前提下,减少消息传递次数,降低通信开销,达到了低能耗的要求。仿真实验验证了算法低能耗和良好同步误差的性能。
|