ZhongyuanUniversityofTechnology无线传感器网络时钟同步技术TimeSynchronizationinWirelessSensorNetworkSystem提纲一三概述MAC层协议分类二MAC层避免信道冲突技术四基于多信道的MAC层技术时间同步由于物理上的分散性,网络无法为彼此间相互独立的节点提供一个统一的全局时钟,每个节点各自维护它们的本地时钟。由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有的本地时钟在某一时刻都被校准,一段时间后,这些本地时钟间也会出现失步。为了让这些本地时钟再次达到相同的时间值,必须进行时间同步操作。时间同步就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。传感器网络自身协议的运行及基于其上的应用,如标记数据采集时间、时分多址接入、协同休眠、定位、数据融合等都需要网络中节点的时钟保持同步。时间同步算法设计必须考虑到两方面的因素:1)减少时间同步自身带来的能量消耗;2)提供较高时间同步精度以有效减少其它关键技术带来的能量消耗。WSN时间同步技术背景集中式系统与分布式系统集中式:事件间有着明确的时间先后关系,不存在同步问题分布式:同步是必需的,只是对同步的要求程度不同无线传感器网络时间同步典型的分布式系统是无线传感器网络应用的基础同步协议需要解决的问题同步精度功耗可扩展性时间同步技术的分类排序、相对同步与绝对同步递进关系•排序只能区分事件发生的先后•相对同步:维持本地时钟的运行,定期获取其他节点的时钟偏•移和飘移,经过换算达到同步的目的。如RBS协议•绝对同步:本地时钟和参考时钟保持一致,修改本地时钟。如TPSN协议外同步与内同步参考源不同,前者参考源为网络外部,如GPS。后者参考源为网络内部某个节点的时钟局部同步与全网同步同步对象的范围不同时间同步技术的应用场合多传感器数据压缩与融合邻近传感节点对相同事件的感知数据需要融合,基于时间戳判断是否同一事件,需要时钟同步低功耗MAC协议、路由协议不发送数据时,节点处于休眠状态,网络节点的同步休眠需要时钟同步测距、定位(位置相关报务,LBS)距离测量和定位是基于无线电信号的传输时间,时间同步越准确,距离测量也越准确分布式系统的传统要求分布式系统的数据库查询,状态等一致性的要求协作传输、处理的要求协作传输是基于电磁波的能量累加效应,多个节点以相同的调制解调方式同时发送信号,使得远处的汇集节点能接收到信号硬件时钟模型基本名词时间、晶振、时钟(RTC)时钟偏移(clockoffset):是指两个时钟瞬时读数的差。晶振计时的时刻与实际时刻的差值,反映计时的准确性ClockSkew:是指两个时钟的频率差。它可以看作是Clockoffset的一阶导数。时间漂移(ClockDrift):是指时钟频率的变化,反映晶振的稳定性。实际晶振的频率有可能随着外界环境温度、湿度的变化而有所改变。ClockDrift可以看作是Clockoffset的二阶导数。速率恒定模型该模型认为频率保持恒定不变,最常用,但不适应环境变化剧烈的场合飘移有界模型常用于确定同步误差上下界,频率稳定度常用ppm(百万分之一)飘移变化有界模型时钟的漂移变化率是有限的。传统同步:NTP与GPSNTPNTP不适合于WSN体积、计算能力和存储空间存在限制GPS每颗卫星上配备有高精度的铷、铯原子钟,并不断发射其时间信息地面接收装置同时接收4颗卫星的时间信息,采用伪距测量定位方法可计算出时间和位置信息缺点(室内、功耗、安全性、分布式)节点上的时钟hardwareclock振荡器以固定频率产生脉冲每隔一定脉冲后计数寄存器增加1•Onlyregistercontentisavailabletosoftware•RegisterchangerategivesachievabletimeresolutionNodei’sregistervalueatrealtimetisHi(t)•Convention:smallletters(liket,t’)denoterealphysicaltimes,capitallettersdenotetimestampsoranythingelsevisibletonodesA(node-local)softwareclockisusuallyderivedasfollows:Li(t)=qiHi(t)+fi(没有考虑计数寄存器的益处)qiisthe(drift)rate,fithephaseshift时间同步就是要修正qi和fi,而不是计数寄存器同步精确性外部同步与外部的时间表(如UTC)同步Nodesi=1,...,nareaccurateattimetwithinbounddwhen|Li(t)–t|dforalli•因此,至少有一个节点具有外部的时间表内部同步无外部的时间表,所有节点具有公共时间表Nodesi=1,...,nagreeontimewithinbounddwhen|Li(t)–Lj(t)|dforalli,j不精确的原因Nodesareswitchedonatrandomtimes,phasesθihencecanberandom随机打开的节点的相位也是随机的Actualoscillatorshaverandomdeviationsfromnominalfrequency(drift,skew)实际的振荡器与标准的频率之间有一定的随机偏差Deviationsarespecifiedinppm(pulsespermillion),theppmvaluecountstheadditionalpulsesorlostpulsesoverthetimeofonemillionpulsesatnominalrateThecheapertheoscillators,thelargertheaveragedeviation•Forsensornodesvaluesbetween1ppm(onesecondevery11days)and100ppm(onesecondevery2.8hours)areassumed,Berkeleymoteshaveanaveragedriftof40ppmOscillatorfrequencydependsontime(oscillatoraging)andenvironment(temperature,pressure,supplyvoltage,...)振荡器的频率会随着使用期限、温度等因素而出现偏差Especiallythetime-dependentdriftratescallforfrequentre-synchronization,asone-timesynchronizationisnotsufficientHowever,stabilityovertensofminutesisoftenareasonableassumption时间同步算法Physicaltimevs.logicaltimeExternalvs.internalsynchronizationGlobalvs.localalgorithmsKeepallnodesofaWSNsynchronizedoronlyalocalneighbourhood?Absolutevs.relativetimeHardwarevs.software-basedmechanismsAGPSreceiverwouldbeahardwaresolution,butoftentooheavyweight/costly/energy-consuminginWSNnodes,andinadditionaline-of-sighttoatleastfoursatellitesisrequiredA-priorivs.a-posteriorisynchronizationIstimesynchronizationachievedbeforeorafteraninterestingevent?Post-factosynchronizationDeterministicvs.stochasticprecisionboundsLocalclockupdatedisciplineShouldbackwardjumpsoflocalclocksbeavoided?(Usersofmakesayyeshere....)Avoidsuddenjumps?时间同步算法的性能和功能模块Metrics:性能度量Precision:maximumsynchronizationerrorfordeterministicalgorithms,errormean/stddev/quantilesforstochasticonesEnergycosts,e.g.#ofexchangedpackets,computationalcostsMemoryrequirementsFaulttolerance:whathappenswhennodesdie?Fundamentalbuildingblocksoftimesynchronizationalgorithms:Resynchronizationeventdetectionblock:whentotriggeratimesynchronizationround?Periodically?Afterexternalevent?Remoteclockestimationblock:figuringouttheothernodesclockswiththehelpofexchangingpacketsClockcorrectionblock:computeadjustmentsforownlocalclockbasedonestimatedclocksofothernodesSynchronizationmeshsetupblock:figureoutwhichnodesynchronizeswithwhichothernodesWSNs中时间同步算法的限制AnalgorithmshouldscaletolargenetworksofunreliablenodesQuitediverseprecisionrequirements,frommstotensofsecondsUseofextrahardware(likeGPSreceivers)ismostlynotanoptionlowmobilityOftentherearenofixedupperboundsonpacketdeliverytimes(duetoMACdelays,buffering,...)NegligiblepropagationdelaybetweenneighboringnodesManualnodeconfigurationisnotanoption时间同步算法分类基于Sender/Receiver的时间同步通信双方中的发送节点需要记录时间消息发送时刻的时间信标,而接收节点则需要记录时间消息接收时刻的时间信标,同步过程中只需要一次通信。该模式的代表算法是洪泛广播时间同步协议。基于Receiver/Receiver的时间同步在实现时间同步的过程中,节点只需要在接收时间消息的时刻记录时间信标,而发送时刻不需要记录时间信标,节点只需要知道接收到时间消息的精确时刻。典型协议有RBS等。基于Pair-Wise的时间同步这种算法利用成对同步方法进行发送节点和接收节点间的时间同步,然后扩展到整个网络形成网络的时间同步。此类算法使得网络的同步报文开销较大,对于低开销要求较高的工业无线网络应用有一定的局限性。而且同步阶段所用时间