WSN的时间同步技术研究综述***(*********)摘要:无线传感器网络(WSN)是一种大规模、无线、自组织、多跳、无分区、无基础设施支持的网络[1],因为WSN在物理上的分散性,加上其他因素的影响使得本地时钟与全局时钟存在失步。时间同步技术是无线传感器网络技术研究的一个重点内容,它不仅是无线传感器网络各种应用正常运行的必要条件,并且还直接决定了其他服务的质量。近年来有很多研究者提出了各种时间同步机制,本文旨在介绍这些机制及WSN的时间同步技术的发展历史和研究现状,并提出自己的对未来发展方向的见解。关键词:无线传感器网络时间同步ResearchoftimesynchronizationforWSN***(*********)Abstract:Wirelesssensornetwork(WSN)isalarge-scale,wireless,selorganization,multiple-hops,Non-partitioned,noinfrastructuresupportnetwork.BecausetheWSNinphysicaldispersionandsomeotherfactorsmakelocalclockoutofsynochronywithglobalclock.Timesynchronizationtechnologyisakeypointintheresearchofwirelesssensornetworktechnology,itisnotonlynecessaryfornormaloperationofwirelesssensornetworkapplications,andalsodirectlydeterminethequalityoftheotherservices.Inrecentyears,manyresearchershaveproposedvarioustimesynchronizationmechanism,ThisarticleistointroducethosemechanismandthedevelopmentoftimesynchronizationtechnologyofWSNandputforwardofthefuturedevelopment.Keywords:WirelessSensorNetworktimesynchronization1.引言无线传感器网络(WSN)是一种起步较晚但发展迅速多的分布式系统。在这种网络模型中,各节点相互独立并以无线的方式进行通信,由于各节点都采用一个自己的本地时钟模块进行计时,而这种计时模块的计时功能一般由晶体振荡器提供,各节点晶振频率的误差以及初始计时时刻的不同会导致彼此本地时钟无法同步[2]。即使各个节点在初始时刻达到时间同步,但是由于外界环境温度、电磁干扰等的影响仍旧会导致各个节点的时钟产生偏差。因此,为了维护节点件本地时间的一致性,必须另外进行时间同步操作。时间同步就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。时间同步在无线传感器网络占有至关重要的作用。例如,在进行远距离信息传输时,由于无线传感器网络节点传输功率的限制,因此与远方基站进行通信,可能会因为能量的衰减使得通信中断,所以需要进行协作传输,即网络内多个节点同时向远方基站传输相同的信息,使能量叠加,远方基站就会接收到一个瞬时功率很强的信号,这种协作传输方式就可以很好的解决远距离传输问题。但要实现这种协作传输,我们首要解决的问题就是时间同步,否则信号不但无法累加反而会相互干扰。同样,在测距定位应用中,时间同步也非常重要。一旦网络中的节点在时间上是同步的,我们就可以很容易测算出传播时间,再加上波的传播速度,我们可以很容易的确定所需的距离信息。因此,时间同步的精度直接决定着测距定位的准确性。此外,时间同步在诸如多传感器数据压缩与融合、低功耗MAC协议等方面也有重要作用。影响时间同步不确定性的因素一般分为:发送时间、访问时间、传送时间、传播时间、接收时间、接受时间。[3]传播时间图1报文传输延迟发送时间访问时间传送时间接收时间接受时间2.时间同步技术2.1典型的时间同步技术最早出现的时间同步协议是由2002年12月ELSONJ提出的RBS协议[4],该协议用像广播的方式向很多接收者发送参考报文,接收者们记录下接收到该报文的本地时刻,然后接收者们交换他们记录的时刻并计算差值,该差值就是接收者之间的时间偏移。然后采用基于速率恒定的时钟模型对节点间的时钟偏移进行补偿。之后伯克利英特尔实验室的SuPing提出单向同步算法DMTS[5],该算法通过发送者向接收者提供发送时刻,接受者通过本地接收时刻及报文处理和发送时间延迟等参数修改自己的本地时间。另外UCLA的NESL实验室的S.Ganeriwal等在研究单向报文传输的传播延时发现了单向报文传输不足之处,于是提出了另一种时间同步机制TPSN[6],该同步机制是基于双向报文传输,利用报文传输的对称性能获得比单向报文传输更高的同步精度。2004年Dan.H和Han.R提出了另一种时间同步机制HRTS[7],该同步机制利用的是无线通信的广播特性,通过一次广播同步过程,实现一个单跳网内所有节点的时间同步。同年另一种时间同步算法FTSP[8]被提出,该算法中的特点在于发送方利用MAC层时间戳技术在报文中插入报文的发送时刻,而接收方也在MAC层记录下接收时刻。发送者在发送报文时连续标记多个时间戳,根据这多个时间戳,接收者可以估计出中断等待时间,然后利用中断等待时间信息以及静态设定的编解码时间对接收时间戳进行补偿。其他的典型同步机制还包括GCS时间同步模型[9]、LTS时间同步模型[10]等。2.2.新的时间同步技术参考文献[11]提出了一种基于误差修正的WSN的时间同步算法TBEC,通过基站周期性地广播发送标记信息,利用接收端接收到标记信息后立即记下本地的时间戳,然后将其发送到基站进行处理,通过基站计算和保存接收端与基站参考时间的误差值,并将此值发送到对应接收端完成时钟误差的修正。算法在误差消除的方法上借鉴RBS算法模型,采用的是接收者--接收者的方式,但在消息的发送与处理方面,RBS算法采用的是节点两两之间发送和处理同步消息,而TBEC算法则是利用基站来协调同步在每个同步周期中,所以TBEC算法相对于RBS算法运算量小,即功耗会相应降低。TBEC算法为达到时间同步,将每个处理周期为4个阶段:信标消息的广播阶段、时间戳记录和发送阶段、基站接收并处理阶段、误差修正阶段。参考文献[12]提出的基于自动校准的WSN时间同步算法也和此算法类似,采用子节点将其本地时间同步到汇聚节点,并且在保证同步精度的前提下,结合一种极低复杂度的时间自动校准机制,子节点动态校准自己的时钟计数。其它类似的还有参考文献[13]提出的一种基于虚拟时间戳的WSN时间同步算法VTSP,在这种VTSP算法中,各节点维护自身的虚拟时间戳,父节点发送一个周期性的信标信号,子节点根据该信标信号进行时间同步调整和刷新操作,从而达到节点之间的同步性。参考文献[14]提出了一种新的基于分簇的WSN时间同步解决方案,这种时间同步算法分为两个阶段:参考节点与簇首节点间同步、簇首与簇内成员间同步。因为参考节点与簇首之间的链路主要承担路由和传送信息的功能,并且节点数目少,发送信息量大,而且为单跳同步,所以同步精度要求相对较低,所以采用DMTS算法,以减少簇首能量的消耗。而簇首与簇内成员同步采用单向时间机制并具有较高精度的FTSP算法。FTSP记录时间的操作是在MAC层和物理层,在这里加入时间戳,记录接收和发送的多个时间对,就避免了传输过程中,不确定因素导致的无法准确计算时延等问题。文献[15]在FTSP算法的基础上做了修改,采用分级消息包传输机制和参数估计的线性回归算法降低能量和网络资源的消耗和异常数据点的影响。参考文献[16]提出了另一种基于耦合振荡器模型的WSN时间同步算法模型,在这个模型中,当一个振荡器放电时,会产生与其他振荡器之间的电耦合,提升其他振荡器的电量,使得整个振荡器的电量趋于相同,达到同步放电的效果。该文献作者以zigbee为例探究了该算法的可行性。该算法缺陷在于每次在实验趋向于同步的时候,各个节点几乎在同一时间发送数据包,导致通信的效率低下。此外,新型时间同步技术还包括萤火虫同步算法[17]和协作同步[18]等。参考文献[19]在比较各种时间同步技术时给出了一种萤火虫同步技术模型。这种模型中萤火虫的发光部位可以看成一个可以发射周期性脉冲光的脉冲耦合振荡器。一个脉冲耦合振荡器的相位用一个周期函数Φ(t)来表示,该函数与时间t成线性关系。随着时间t的增加达到周期T时,函数值达到最大值Φth,此时振荡器发出一个脉冲,且重置函数值开始另一个周期。图2(a)是一个完全独立的振荡器的周期函数。当一个振荡器与其它振荡器耦合时,容易接收到邻近振荡器发出的脉冲,从而使相位增加,增加量由当前的相位值决定,如图4(b)所示。相位增加后,振荡器就会提前发出脉冲。增量△Φ满足:Φ+△Φ=min(αΦ+β,1)其中α=exp(b·e),β=(exp(b·e)-1)/exp(b),b为耗散因数,e为振幅增量。如果整个网络的振荡器是全耦合的,且b>0,e>0,振荡器间的相位差通过同步过程不断缩小,无论单个振荡器的初始状态如何,最终整个网络系统总会趋于同步。Φ(t)发出脉冲发出脉冲Φth△ΦtaTb2T图2相位函数协作同步利用时间基准节点等时间间隔发出m个同步时间脉冲,这些脉冲的发送时刻被其一跳的邻居节点接收保存,该节点根据m个节点的发送时刻估计出下一个同步脉冲的发送时刻,并在该时刻发送与基准节点同时的同步脉冲。在信号叠加的作用下,复合的同步脉冲可以到达更远的范围而被下一跳节点接受并保存,如此往复,最终网内所用节点可以都达到同步。3.目前存在的问题传统的集中式同步机制,RBS算法同步功耗低,但是只能实现局部节点间同步。DMTS和HRTS算法同步功耗低,但是同步精度较低,LRS同步精度略高于HRTS。TPSN精度较高,但是使用成对同步,所以功耗大,而且维持层次结构需要一定开销。就目前而言FTSP在传统同步机制中的同步精度最高。传统的同步机制中网络的拓扑性差,全网同步收敛速度慢,大部分都存在单跳累加对同步精度的影响。而那些新的时间同步技术,例如TBEC、VTSP等虽然在理论上看上去对传统的时间同步技术做了部分修正,但在本质上仍然是使用的传统同步时间机制,所以存在和传统时间同步机制类似的不足。萤火虫同步算法虽然可以直接用硬件实现因而不受MAC层延迟、协议处理等的影响,但它要求网络中每个节点具有相似性,协作同步机制虽然避开了节点单跳累加的影响,然而其核心思想仍然是属于集中式协议,且要求整个网络中节点密度较高,节点具有相同的同步脉冲,这些条件的限制使得其在无线传感器网络中的运用有一定的局限性。面对未来越来越复杂的无线传感器网络结构,这些同步机制必将越来越受到限制,目前萤火虫同步算法和协作同步仍然只是处于理论研究的状态。4.进一步的工作目前已经存在很多的WSN时间同步算法,但是大部分都仅限于实验环境或小规模的单跳环境下的网络仿真和研究。所以,随着无线传感器网络的快速发展,大规模的多跳的无线传感器网络必将迎来研究热潮,再此基础上必须加快研究适应这种大规模、多跳的时间同步技术。其次,必须加深时间同步技术在鲁棒性和容错性上的研究,使其能脱离实验室的简单环境适应更复杂、更多变、更恶劣的真实环境。就以上各种算法而言,本人觉得FTSP算法值得更深入的研究和改良,在MAC层加入时间戳,以及同时考虑偏移与漂移的影响,不但可以提高精度,而且可以延长整个网络的同步周期,减少整个网络的功耗。如果结合FTSP算法和协作同步算法的特点,则可以设计出同步精度较好的多跳网络时间同步机制。参考文献[1]李晓维,徐勇军,任丰原.无线传感器网络技术[M].北京:北京理工大学出版社,2007.[2]周贤伟,韦炜,覃伯平.