基于误差统计的无线传感器网络时间同步方法及装置的制作方法

文档序号:7953228阅读:402来源:国知局
专利名称:基于误差统计的无线传感器网络时间同步方法及装置的制作方法
技术领域
本发明涉及在无线传感器网络中的时间同步技术,尤其是一种基于误差统计的无线传感器网络时间同步方法及装置。
背景技术
无线传感器网络是由大量传感器节点以自组织方式构成的多跳无线网络系统,其目的是协同地感知、采集、处理和传输网络覆盖区域内感知对象的监测信息,并报告给用户。无线传感器网络融合了传感技术、嵌入式技术、无线网络技术、分布式智能信息处理等技术,具有规模大、成本低、组网灵活等特点,已经广泛应用于军事、科研、工业监控、医疗等领域。
时间同步是无线传感器网络的基本功能之一,对于提高无线传感器网络的整体性能具有重要意义。如在目标跟踪系统中,多个传感器节点协同工作来完成对目标运动速度和运动轨迹的监测,这需要节点之间保持时间的一致,通过交换各自的监测信息,根据信息中的时间先后关系,来对目标的运动速度、方向和轨迹等进行计算。例如,在停车场车位管理系统中,无线传感器网络作为数据收集型网络,传感器节点需要定期地采集数据,并传送给汇聚节点进行处理,传感器节点需要保持时间的一致性,才能保证所有节点同时对数据进行采集。
在已知的现有技术中,无线传感器网络中的时间同步方法主要包括RBS(ReferenceBroadcast Synchronization)参考广播同步方法,DMTS(Delay Measurement TimeSynchronization)延迟测量时间同步方法和TPSN(Timing-sync Protocol for SensorNetworks)时间同步方法。这几种方法都从不同的角度入手,通过减少消息传播关键路径上的传播延迟引入的误差来提高时间同步精度,具有各自的优缺点。RBS时间同步方法中虽然消除了发送端传播延迟引入的同步误差,提高了同步精度,但是这种方法只适用于小规模的网络,扩展性差,交换消息数量多;DMTS时间同步方法复杂度低,容易扩展到大规模的网络,但对消息传播延迟的补偿是一个固定值,不能适应网络部署情况的变动,同步精度相对较低;TPSN时间同步方法将NTP时间同步方法引入到无线传感器网络中,取得了比较好的精度,但是同步过程复杂度相对较大,交换的消息数量多,收敛速度慢。具体而言,上述方法对传播延迟引入的误差的估计,不能实际反映出网络的整体延迟情况。

发明内容
针对以上问题,本发明的目的在于提供一种基于误差统计的无线传感器网络时间同步方法(An Error Statistic Based Time Synchronization Protocol),简称ESTS,以及用于实现该方法的装置。
基于误差统计的无线传感器网络时间同步方法中,通过动态均匀地抽取网络边缘节点作为延迟统计节点,对同步过程中消息的传播延迟进行实际测量,客观地反映了网络实际的部署情况和传播延迟,并通过洪泛过程对由此而引起的同步误差进行补偿。这种方法具有良好的自适应性、可扩展性和较高的同步精度,在同步精度和能量消耗之间取得了很好的折中。
基于误差统计的无线传感器网络时间同步方法包括以下步骤1)利用同步命令消息的洪泛过程在短时间内达到网络低精度时间同步,同时建立网络树状层次结构;2)利用洪泛消息传播的单向性,根据网络的实际部署情况,动态均匀地选取部分网络边缘节点作为延迟统计节点;3)延迟统计节点利用网络树状层次结构,通过向汇聚节点发送延迟统计消息,统计同步命令消息从汇聚节点到延迟统计节点、以及延迟统计消息从延迟统计节点到汇聚节点路径上的传播延迟;4)根据收到的延迟统计消息,汇聚节点计算网络平均每跳传播延迟;5)利用延迟补偿消息的洪泛过程,节点根据网络平均每跳传播延迟和距离汇聚节点的跳数,对同步精度进行补偿,达到网络高精度时间同步。
根据本发明的另一目的,用于实现上述方法的装置即无线传感器网络的结构示意图如图1所示。无线传感器网络通常包括汇聚节点和传感器节点,传感器节点负责采集各种感知数据,转发其它节点采集的数据;汇聚节点负责收集传感器节点采集的数据。网络中通常只有一个汇聚节点,其它节点均为传感器节点。这些节点在同步过程中被组织成树状的层次结构,以汇聚节点为根节点。
其中,汇聚节点包括消息的发送和接收模块、系统时间模块、时间戳模块、时间同步的启动模块、计算网络平均每跳延迟的模块和误差补偿的启动模块。各模块间的关系如图6所示。
消息的发送和接收模块负责发送和接收各种同步消息;系统时间模块维持节点的本地时钟;时间戳模块为各种同步消息添加时间信息,时间戳模块通过系统时间模块获取消息发送时的系统时间。
时间同步的启动模块通过发送同步命令消息启动网络的同步过程,消息中含有汇聚节点的节点编号和延迟累计字段,通过消息的发送和接收模块发送给接收节点,并在消息的发送和接收模块发送消息时,由时间戳模块为消息添加时间信息。
计算网络平均每跳延迟的模块通过消息的发送和接收模块接收延迟统计节点发送来的延迟统计消息,根据消息中的延迟统计字段和消息经过的跳数计算消息的平均每跳传播延迟。
误差补偿的启动模块通过消息的发送和接收模块向网络中洪泛延迟补偿消息,延迟补偿消息中含有网络的平均每跳传播延迟,启动误差补偿过程。
传感器节点包括消息的发送和接收模块、系统时间模块、时间戳模块、时间同步模块、网络平均每跳延迟的统计模块、同步精度的补偿模块和定时器模块。各模块间的关系如图7所示。
消息的发送和接收模块实现发送和接收各种同步消息的功能;系统时间模块维持节点的本地时钟;时间戳模块为各种同步消息添加时间信息,时间戳模块通过系统时间模块获取消息发送时的系统时间。
时间同步模块接收同步命令消息,根据同步命令消息中的时间戳信息,调整节点的本地时间,完成同消息发送节点的时间同步;同时将消息的发送节点作为自己的父节点,记录距离汇聚节点的跳数,计算同步命令消息中的延迟累计字段;然后再通过消息的发送接收模块转发出去。
定时器模块用于协助判断节点是否是延迟统计节点,节点在通过消息发送和接收模块转发同步命令消息后,启动定时器;如果定时器超时前收到了其它节点转发的同步命令消息,则节点不是延迟统计节点,否则节点是延迟统计节点。
网络平均每跳延迟的统计模块用于处理和转发延迟统计消息,延迟统计消息中含有路径上的累计延迟和所经过的跳数;如果节点是延迟统计节点,则节点通过消息的发送和接收模块向父节点发送延迟统计消息;如果节点不是延迟统计节点,节点在收到延迟统计消息后,会按照方法中所述的方式计算延迟累计字段,将跳数字段加一,然后通过消息的发送和接收模块发送给自己的父节点。
同步精度的补偿模块用于接收和转发误差补偿消息,对自己的同步精度进行补偿;节点收到误差补偿消息后,会根据自己距离汇聚节点的跳数和消息中的网络平均每跳延迟对自己的同步精度进行补偿;然后再通过消息的发送和接收模块将消息转发出去。
本发明的技术效果在于通过洪泛的方式,使网络在短时间内达到低精度的时间同步,并建立网络的树状层次结构;通过动态均匀地抽取网络边缘节点作为延迟统计节点,对同步过程中消息的传播延迟进行实际测量,客观的反映了网络中的传播延迟,通过洪泛误差补偿消息对传播延迟引入的同步误差进行补偿,大大提高了时间同步的精度。这种方法具有良好的自适应性、可扩展性和较高的同步精度,在同步精度和能量消耗之间取得了很好的折中。


图1无线传感器网络拓扑示意2时间同步方法流程3时间同步命令消息格式图4延迟统计节点的选取示意5延迟统计原理示意6汇聚节点装置的模块关系7传感器节点装置的模块关系8实验--时间同步过程示意9实验--广播时间查询消息示意图具体实施方案下面参照附图并结合实施例对本发明进行详细的描述。
ESTS时间同步方法的流程如图2所示,汇聚节点通过其时间同步的启动模块广播同步命令消息、启动时间同步过程。同步命令的消息格式如图3所示,其中,hop代表发送该消息的节点距离汇聚节点的跳数;nodeId是发送该消息的节点编号;sendTimeStamp是发送该消息时加入的时间戳,表示发送该消息指定字节时节点的本地时间;delay记录同步过程中的传播累积延迟,初始化为0;汇聚节点的邻居节点(传感器节点)收到同步命令消息后,节点首先记录收到该消息的时间,称为接收时间戳receiveTimeStamp,该时间戳是节点接收消息指定字节时读取的本地系统时间,记录hop字段+1作为距离汇聚节点的跳数,记录消息中的nodeId作为自己的父节点。然后节点按照公式1调整本地系统时间,实现与汇聚节点之间的时间同步,其中Tcurrent是节点的本地时间。同步完成后,节点转发该同步命令消息,nodeId字段设置为自身的节点编号,hop字段设置为自己距离汇聚节点的跳数,并在MAC层发送时为消息添加sendTimeStamp字段。
Tcurrent=Tcurrent+(sendTimeStamp-receiveTimeStamp)公式1
距离汇聚节点两跳的节点收到同步命令消息后,进行类似的处理。依此类推,同步命令消息逐步在网络中传播,最后达到整个网络的时间同步。节点只对收到的第一个同步命令消息进行处理,随着同步消息在网络中的传播,网络中每个节点都会与父节点同步,根据记录的父节点的编号和距离汇聚节点的跳数,在低精度时间同步的同时建立网络的树状层次关系。
上述过程中,同步命令消息以洪泛方式从汇聚节点向网络边缘传播,由于节点仅对收到的第一个同步命令消息进行处理并转发,同步命令消息以类似于同心圆的形式向网络边缘扩散,最后消息到达网络的边缘并停止传播。在网络边缘上,总会有这样的一些节点,它们是邻近区域内最后收到同步消息的节点。如图4所示,标有N0的节点是网络中不同区域内最后收到同步消息的节点。这些节点会比较均匀的分布在网络的边缘,选取这些边缘节点作为N0进行延迟统计,能够比较客观地反映出网络中的延迟情况。如果N0节点的数量太大,可以以一定的概率舍弃一些节点,这样能够避免在统计网络平均延迟时产生过多的通信开销。
实现过程中使用定时器,节点在收到第一个同步命令消息后,节点会首先进行同步,然后转发该同步命令消息。节点在转发该消息后,启动一个定时器,如果在定时器超时的时候没有收到其它节点转发的同步命令消息,则节点认为自己是网络边缘节点;如果在超时前收到了同步命令消息,则认为自己不是网络边缘节点。
延迟统计节点通过向汇聚节点发送延迟统计消息完成延迟统计过程。延迟统计过程如图5所示,假设一个消息从汇聚节点出发,沿着汇聚节点->N1->N2->…->Nn-1->N0路径到达N0节点,此后该消息又沿着相反的路径传回到汇聚节点。假设消息在Trs时刻(汇聚节点的本地时间)从汇聚节点发送出去,在T1r时刻(N1节点的本地时间)N1节点收到了该消息,在T1s时刻(N1节点的本地时间)N1节点将消息转发给N2节点。N0节点在T0r时刻(N0节点的本地时刻)收到该消息,然后在T0s时刻(N0节点的本地时刻)将消息转发给Nn-1节点,依次类推,最后消息在T’rr时刻(汇聚节点的本地时间)回到汇聚节点。
T’rr-Trs是消息从离开汇聚节点,到重新回到汇聚节点所经历的时间,即消息在网络中传播的时间。Δti=Tis-Tir和Δti′=Tis′-Tir′(i=1,2,…n-1)分别是消息在第i个节点两次停留的时间,即第i个节点在收到消息,到发送该消息所经历的时间。假设τ是两个节点之间的传播延迟,则有下列公式,通过公式2可以解得网络中的每跳平均延迟τ。
Trr′=Trs+τ+Δt1+τ+Δt2+···+τ+Δt0+τ+···+Δt2′+τ+Δt1′+τ]]>=Trs+2nτ+(Σi=1n-1Δti+Δt0+Σi=1n-1Δti′)]]>公式2
τ=(Trr′-Trs)-[Σi=1n-1(Tis-Tir)+(T0s-T0r)+Σi=1n-1(Tis′-Tir′)]2n]]>公式3延迟的统计过程在快速同步阶段就已经开始,同步命令消息中的delay字段就是用于延迟的统计。汇聚节点在广播同步命令消息时,将delay字段初始化为0;如图5所示,节点N1在收到同步命令消息后,首先完成节点同步,然后计算ΔT1=T1r-Trs,将结果累加到delay字段;并广播给下一跳节点,下一跳节点在收到同步命令消息时也作类似的处理。
当消息传输到N0节点,N0节点是通过上述延迟统计节点的选取过程选出的节点。N0节点的定时器超时的时侯,没有收到其它节点转发的同步命令消息,N0节点将发起延迟统计过程,N0节点向自己的父节点发送延迟统计消息,格式类似于同步命令消息,消息中包括已有的延迟和N0节点距离汇聚节点的跳数;父节点收到该消息后,将消息中的跳数字段加1,delay字段的处理与快速同步阶段相同,然后再转发给自己的父节点;消息逐跳的向汇聚节点传输,最后到达汇聚节点,并作相应的处理。此时消息中的delay字段中含有整个过程中的消息传播延迟,跳数字段含有消息经过的总跳数,据此计算网络平均每跳传播延迟。
汇聚节点在收到一定数目的延迟统计消息后计算整个网络的平均每跳延迟。然后汇聚节点广播延迟补偿消息,消息中包含网络平均每跳延迟。每个节点在收到延迟补偿消息后,根据自己距离汇聚节点的跳数hop和网络平均每跳延迟error对自己的时钟进行如下校正Tcorrected=Tcurrent+hop×error,其中,Tcurrent是节点的当前时间,Tcorrected是校正后的时间。然后广播转发误差补偿消息,节点仅对收到的第一个误差补偿消息进行处理。
为了更好地对本发明的优势进行描述,我们使用Mica2节点,在TinyOS操作系统下对ESTS方法进行了实现,对同步精度进行了实际的网络测量,并与已有的同步方法进行了比较。
精度测量利用了无线信道的广播特性,在一跳的通信范围内的多个节点,如果其中一个节点广播消息,其它节点几乎会在同一时间收到该消息。通过比较每个节点收到广播消息的时间,可以比较节点之间的时间偏差。在试验中将所有节点放置在一跳通信范围之内,通过指定同步消息的传播路径来达到多跳网络的效果。设置一个辅助节点,进行节点同步精度测量,在网络完成时间同步后广播一个消息,然后逐一查询网络中每个节点收到该消息的时间,每个节点收到消息的时间同汇聚节点收到消息的时间相比较,就是网络中节点的同步误差。
如图8所示,实验中使用8个节点组成一个7跳的网络,汇聚节点编号为0,其它节点根据距离汇聚节点的远近依次为1号,2号,…,7号节点。所有节点都放在一跳的通信范围内,但是每个节点仅同自己相邻的节点通信(编号比自己小1的和编号比自己大1的,0号节点仅与1号节点通信,7号节点仅与6号节点通信)。汇聚节点发起时间同步过程,同步消息从汇聚节点依次广播到7号节点,如图8中标有①的过程。延迟统计消息从7号节点沿着相反的路径回到汇聚节点,如图8中标有②的过程。
当汇聚节点收到1号节点传上来的延迟统计消息后,汇聚节点不再广播误差补偿消息,而是向辅助节点发送请求,请求消息中含有网络平均每跳传播延迟,图8中标有③的过程。辅助节点收到请求消息后,广播时间查询消息。0~7号节点收到该消息时,记录收到该消息的接收时间戳,如图9中所示。
辅助节点发送广播消息后,依次查询0~7号节点记录的接收时间戳。辅助节点首先对查询的1~7号节点的接收时间戳进行补偿,在每个节点的接收时间戳上加上平均每跳传播延迟与节点距离汇聚节点的跳数之积,然后减去汇聚节点的接收时间戳,就是每个节点同汇聚节点之间的同步误差。
试验共进行了12次,单跳平均同步精度是7.56μs。我们对现有的时间同步方法和ESTS时间同步方法从3个方面进行了比较单跳平均同步精度、收敛速度和同步过程中的能量消耗。从表1中可以看到ESTS时间同步方法的单跳平均同步精度为7.56μs,收敛速度较快。能量消耗是通过同步过程中交换的消息数量来衡量,ESTS在时间同步过程中的能量消耗比较距常,没有过多的能量开销。

表1时间同步方法性能对比其中,表1中的RBS、DMTS、TPSN的各项数据分别来自以下文献[1].J.Elson,L Girod,and D.Estrin.Fine-Grained Network Time Synchronization usingReference Broadcasts.Proc.Fifth Symposium on Operating Systems Design andImplementation(OSDI2002),Vol 36,pp.147-163,2002. .Ping S.Delay measurement time synchronization for wireless sensor networks.IntelResearch Berkeley lab,June 2003.Http://www.intel research.net/publication/Berkely/081120031327 137.pdf .Ganeriwal S,Kumar R,Srivastava M B.Timing-sync protocol for sensor networks.InProc1st Int’l Conf on Embedded Networked Sensor Systems(SenSys 2003),Los Angels,CA.November 5-7,2003.138~149。
权利要求
1.一种基于误差统计的无线传感器网络时间同步方法,包括如下步骤1)利用同步命令消息的洪泛过程在短时间内达到网络低精度时间同步,同时建立网络树状层次结构;2)利用洪泛消息传播的单向性,根据网络的实际部署情况,动态选取部分或全部网络边缘节点作为延迟统计节点;3)延迟统计节点利用网络树状层次结构,通过向汇聚节点发送延迟统计消息,统计同步命令消息从汇聚节点到延迟统计节点、以及延迟统计消息从延迟统计节点到汇聚节点路径上的传播延迟;4)根据收到的延迟统计消息,汇聚节点计算网络平均每跳传播延迟;5)利用延迟补偿消息的洪泛过程,节点根据网络平均每跳传播延迟和距离汇聚节点的跳数,对同步精度进行补偿,达到网络高精度时间同步。
2.如权利要求1所述的方法,其特征在于,所述的同步命令消息包括以下信息发送该消息的节点距离汇聚节点的跳数、发送该消息的节点编号、发送该消息指定字节时节点的本地时间、同步过程中的传播累积延迟。
3.如权利要求1所述的方法,其特征在于,所述的网络边缘节点是这样确定的传感器节点仅对收到的第一个同步命令消息进行处理并转发,在转发该消息后,启动一个定时器,如果在定时器超时的时候没有收到其它节点转发的同步命令消息,则认为自己是网络边缘节点。
4.一种基于误差统计的无线传感器网络,包括汇聚节点和传感器节点,网络中所有的节点以汇聚节点为根节点组成树状结构,其中,传感器节点用于采集各种感知数据、转发其它节点采集的数据;汇聚节点用于收集传感器节点采集的数据。
5.如权利要求4所述的无线传感器网络,其特征在于,所述的汇聚节点包括以下功能模块消息的发送和接收模块,用于发送和接收各种同步消息;系统时间模块,用于维持节点的本地时钟;时间戳模块,用于为各种同步消息添加时间信息,所述的时间戳模块通过系统时间模块获取消息发送时的系统时间;时间同步的启动模块,用于通过发送同步命令消息启动网络的同步过程;计算网络平均每跳延迟的模块,用于通过消息的发送和接收模块接收延迟统计节点发送来的延迟统计消息,根据消息中的延迟统计字段和消息经过的跳数计算消息的平均每跳传播延迟;误差补偿的启动模块,用于通过消息的发送和接收模块向网络中洪泛延迟补偿消息,延迟补偿消息中含有网络的平均每跳传播延迟,启动误差补偿过程。
6.如权利要求4所述的无线传感器网络,其特征在于,所述的传感器节点包括以下功能模块消息的发送和接收模块,用于发送和接收各种同步消息;系统时间模块,用于维持节点的本地时钟;时间戳模块,用于为各种同步消息添加时间信息,所述的时间戳模块通过系统时间模块获取消息发送时的系统时间;时间同步模块,用于接收同步命令消息并完成同消息发送节点的时间同步;定时器模块,用于协助判断节点是否是延迟统计节点;网络平均每跳延迟的统计模块,用于处理和转发延迟统计消息;同步精度的补偿模块,用于接收和转发误差补偿消息,对本节点的同步精度进行补偿。
全文摘要
基于误差统计的无线传感器网络时间同步方法,包括步骤利用同步命令消息的洪泛过程在短时间内达到网络低精度时间同步,同时建立网络树状层次结构;动态选取部分或全部网络边缘节点作为延迟统计节点;统计同步命令消息从汇聚节点到延迟统计节点、以及延迟统计消息从延迟统计节点到汇聚节点路径上的传播延迟;计算网络平均每跳传播延迟;根据网络平均每跳传播延迟和距离汇聚节点的跳数,对同步精度进行补偿,达到网络高精度时间同步。用于实现的无线传感器网络,包括汇聚节点和传感器节点,网络中所有的节点以汇聚节点为根节点组成树状结构。这种方法具有良好的自适应性、可扩展性和较高的同步精度,在同步精度和能量消耗之间取得了很好的折中。
文档编号H04B7/26GK101087219SQ20061001218
公开日2007年12月12日 申请日期2006年6月9日 优先权日2006年6月9日
发明者孙利民, 王海东, 何庆伟, 柯欣 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1