专利名称:一种基于fm广播数据系统的时钟校准方法
技术领域:
本发明涉及一种基于FM广播数据系统的时钟校准方法,尤其涉及一种基于FM广播数据系统的传感器网络时钟校准方法,属于无线通信领域。
背景技术:
传感器网络(Wireless Sensor Network,WSN)是一种典型的分布式系统,该网络中每个节点都具备一定的计算、存储和通信能力,但由于单个节点的工作能力较低, 大部分的传感器网络应用都需要多个甚至全网的节点协作才能完成某项任务。在这种情况下,时钟同步往往是节点间能够顺利完成协作的先决条件,例如在动物生活习性监控应用中(Alberto Cerpa,Jeremy Elson,Deborah Estrin,Lewis Girod,Michael Hamilton,and Jerry Zhao. Habitat monitoring !Application driver for wireless communications technology. In Proceedings of the 2001 ACM SIGCOMM Workshop on Data Communications in Latin America and the CaribbeaniApril 2001.) ^ ! ! ^1 多个节点先后观测到的动物位置信息计算动物移动的方向以及速度,如果这些节点的时间不一致,将增大速度计算误差,甚至会造成运动方向的误判。造成节点间的时间不同的主要原因来源于节点上用于计时的晶体振荡器 (Crystal Oscillator),简称为晶振,不同节点的晶振频率略有偏差,例如典型的传感器节点平台Telosb上装备的晶振的时钟漂移在正负30至50ppm(ppm为part per million), 也就是说,两个不同的晶振在极端情况下,其时钟频率只差高达lOOppm,即每秒钟相差 IOOus0此外,对于某个特定的晶振,其频率漂移与环境因素有关,根据工作(Christoph Lenzen, Philipp Sommer, Roger Wattenhofer, Optimal Clock Synchronization in Networks, Sensys 2009)测得的结果,Mica2节点上5MHz的晶振其频率漂移每5摄氏度改变约lppm。由于上述原因,不同节点的时间即使在初始是一致的,随着时间推移也会相差越来越远。传感器网络中的时钟同步协议的提出正是为了在这种条件下解决节点间时钟的不一致问题,根据不同时钟同步协议的实现方式,可以将已有的工作划分为基于消息的时间同步和基于全局信号的时间同步。前者将时钟源的时间记录在消息中,在传感器网络内部通过多跳的方式将时钟信息发布给需要同步的节点,其代表有RBS和FTSP ;后者则借助某种外在的全局时钟信号,网络中各个节点根据全局时钟信号调整本地时间,其代表有基于GPS或电力线的时钟同步协议。上述两种方法的实现上往往存在较大差异,前者的实现中通常不依赖于外在的条件,传感器网络仅依赖网络内节点间的操作完成整个同步过程, 而后者依赖外部信号源,所以节点上往往装备特殊硬件。已有的时钟同步协议中,基于消息的时钟同步协议依赖控制消息在全网的洪泛来完成全局时钟同步,这个过程消耗大量的节点能量,并且占用稀缺的通信带宽。而基于全局信号的时钟同步能够极大减少节点间通信从而节约带宽和能量消耗,因此这种方法近年来引起了研究人员的广泛关注,但是现有协议存在显著缺陷。例如,GPS模块需要消耗大量的能量,而且只能在户外无遮挡环境下使用;WWVB等大范围广播的时钟信号也仅仅适用于室外信号强度高的区域;基于电力线的时钟同步协议只能覆盖电力线周围的区域,因此只适用于室内或输电线周围。
发明内容
针对已有工作的不足,本发明提出一种基于FM广播数据系统的分布式网络时钟校准方法,所述分布式网络的各节点处于同一 FM基站的覆盖范围,其步骤包括1)在每个节点上设置FM接收芯片;幻FM基站向各节点发送RDS广播数据;3)各节点的FM接收芯片在校准时接收并解析RDS广播数据,生成RDS脉冲信号;4)各节点根据RDS脉冲信号频率校准本地时钟,实现各节点的时间同步。所述的方法各节点根据RDS脉冲信号频率与该节点的本地时钟频率的时钟偏斜 α来校准本地时钟。所述的时钟校准方法各节点周期性地校准本地时钟。所述的时钟校准方法每一次本地时钟的校准过程包括校准时刻和校准周期两部分,所述校准时刻对应该节点的某个RDS硬件中断;在校准周期内该节点的FM接收端的接收芯片处于休眠状态。所述的时钟校准方法在启动首次校准时,设定钟偏斜α ^的初始值,时钟偏斜α 0 为RDS时钟频率与该节点晶振额定频率的比值,首次睡眠周期为 ;。更进一步,在第i次校准该节点本地时钟时,,按下式计算该第i次校准的时钟偏斜O1 ar,
xiXi = cn(i)-cn(i-l),cn(i)是当前节点时钟周期数,设置初始节点周期数Cn(O)= Oi-I是前一次周期数·Λ =cr{i)-cr(i-l) = [_ai_l-xi+0.5\, α i :是前一次的时钟偏斜,计算完成后FM芯片休眠时间为T。初始时的时钟偏斜为估计值,Ttl选自10 30秒;T根据精度要求设定,T选自10 60分钟。所述的分布式网络系统为传感器网络,各节点为传感器网络节点,各节点间可通过无线通信接口组成网络。本发明主要针对频率同步这个过程,基于FM广播数据系统将RDS脉冲作为中间频率对节点本地时钟进行校准,减少节点间通信,节约带宽和能量消耗,从而消除不同节点间的时钟偏斜。FM广播数据系统传统的FM广播只包含模拟音频信息,为了在传输音频的同时附带一些数字信息, 工业界制定了广播数据系统(Radio Data System)协议,简称RDS。RDS协议支持在广播音频信息的同时附带少量的数字信息,如FM基站名称、广播节目介绍等,最初的RDS标准在 1984年制定,截止到目前为止已有大量基站支持该协议。在RDS广播中,数字信息以连续的比特流形式广播,并且满足规定的格式。根据RDS标准,比特流的最小单位称为RDS块(Block),一个RDS块包含沈个比特数据,而每4 个RDS块组成一个RDS组(Group)。由于每个RDS块的大小相同,因此FM接收端(即支持 RDS解码的收音机芯片)每解码一个RDS块所需时间是相同的,这个时间约为21. 894毫秒, 通常情况下FM接收端每解码一个RDS块则产生一个脉冲信号(即硬件中断,用于读取RDS 块信息),所以当FM接收端持续解码RDS块时,就能产生周期性的脉冲信号,如图1所示。 分布式网络模型和时钟同步过程本发明所适用的分布式网络模型如图2所示。网络中包含多个网络节点,每个节点具有本地时钟,该时钟通常由板载晶振产生,例如现有iTelosb平台和Mica2平台上的本地时钟频率分别为32. 768KHz和5MHz。节点间可通过短距离无线通信接口组成网络,图2 中节点间链路由虚线表示。FM基站能够覆盖大部分的城市及周边区域(包括室内和室外), 通常情况下一个功耗100,OOOff的FM基站覆盖距离达150km,而在不存在干扰信号的情况下最高能达到约240km。因此,本发明假设所有节点均处于同一个FM基站的覆盖范围以内,暂不考虑不同节点在多个基站覆盖范围以内。实际上,当前应用的网络规模往往小于一个基站的覆盖范围(半径150 240km)。已有的时钟同步方法(如RBS或FTSP)将时钟同步过程分为两个部分对时和同步。所谓对时就是在某个时刻,使得各个节点的本地时间达到瞬时一致,即消除瞬时的时间偏差;而同步是保持各个节点的本地时间的频率一致。在传感器网络中,基于消息的时间同步协议主要关注对时过程,提高时间对时精度。例如,FTSP中作者提出在Mica平台上运行RBS达到的单步对时平均精度为29. 1微妙,而运行FTSP仅为1. 48微妙。同步过程的目标是使节点时钟频率一致,为此可引入时钟偏斜的概念,若两个节点的时钟频率分别为fA
和4,则它们之间的时钟偏斜为f。由此可见,如果两个时钟的频率一致,那么时钟偏斜为
1。节点间时钟频率同步在实际应用中非常重要,无法达成频率同步的节点即使初始时间一致,随着时间推移相差也会越来越大。基于FM广播数据系统的时钟校准方法时钟校准的目标是在不同节点时钟物理频率不同的情况下使它们的逻辑频率一致。其中逻辑时钟频率是指将物理频率进行某种换算得到的结果,例如两节点A和B,它们的物理时钟频率分别为fA = IOMHz和fB = 5MHz,那么将fA除以2则得到一个与B时钟频率相同的逻辑时钟。在分布式网络中,不同节点的时钟频率不同,但是它们之间不知道彼此频率之间的关系,因此需要利用一种中间频率进行过渡。仍以A和B节点为例,若存在一个中间频率为2MHz的信号C,则A频率和B频率与C频率的时钟偏斜分别为5和2. 5,那么令 il = ti/S、以及= 则得到两个逻辑频率相同的时钟。需要注意的是,这种校准只是为不同节点时钟进行转换提供了一种途径,并不会造成时钟精度的下降。以事件检测为例, 仍假设节点A和B的启动时间一致,那么若事件发生在启动后1秒钟时刻,那么节点A和B 检测到事件的节点时间分别为IOX IO6和5Χ 106,时间精度仍然与节点硬件时钟的频率相关,而通过校准可以得出事件发生时两节点的逻辑时钟均为2 X 106,从而A和B将检测结果判断为同一事件。本发明的基本思路是将由RDS产生的周期性脉冲(如图1所示)看作一种外在的时钟信号,称为RDS时钟记作cr,用RDS时钟作为一种中间过渡来校准节点时钟。如果网络中每个节点的本地时钟都能够与RDS时钟快慢相同,则等价于消除节点间的时钟偏斜。例如32. 768KHz的晶振其频率为32. 768KHz而周期为频率的倒数1/32768秒。下面详细说明本发明提出的周期性校准方法。如图3所示,图中阴影部分表示校准而空白部分表示校准周期,每次校准的时刻对应某个RDS硬件中断。在校准周期内FM接收芯片处于休眠状态,从而能够节省大量的能耗;在校准时刻,FM接收芯片启动后接收信号并产生脉冲信号(如图1所示)。为了详细说明该校准过程,我们分离出其中的一个基本单元,即由第i_l次校准后到第i次校准完成这一段时间,其余过程可依次类推。值得注意的是节点校准可以看作是在一瞬间完成的,因此校准本身不消耗时间。假设在第i_l次和第i次校准的节点时钟分别为cn(i-l)和cn(i), 则令Xi = cn(i)-cn(i-l),其物理意义表示在第i次校准周期内节点时钟经历的周期数。类似的,令Iii = cr (i)-cr(i-l),即表示在第i次校准周期内RDS时钟经历的周期数。定义RDS 时钟与节点时钟偏斜为α =f;/fn,其中f;和4分别表示RDS时钟和节点时钟的频率,因此α表示两时钟的时钟偏斜。根据这些定义,可以得出在第i_l次到第i次校准之间RDS 时钟与节点时钟之间的关系为Hi = α j . Xi+Δ j (公式 1)由于时钟偏斜随时间变化,在处理时假设该值在一段时间内不变,因此该公式中 α i表示在第i次校准周期内的时钟偏斜。Δ i表示由于计算或测量上的误差而引入的噪声,这种噪声通常满足Ai << Xi因此在计算中可以忽略不计。于是可以近似由以下公式计算时钟偏斜 ι * ^ (公式 2)上面公式中,Xi可以在节点上测得,而由于在校准周期内FM芯片处于休眠状态Iii 无法直接测得,需要进行估算。估算的方法是利用上一周期计算得到的时钟偏斜α η,根据 Hi ^ α厂1 .Xi,因为每次校准的时刻都对应一个RDS硬件中断所以Iii为整数,因此Iii可以通过四舍五入取整得到,即& = La-α X - O.&j。在已知\和叫的情况下,即可通过公式(2) 计算得到当前的时钟偏斜值a ”根据时钟偏斜的定义可知,α反应了 RDS脉冲频率与节点时钟频率的比值,对于图2所示的同一个网络的节点,由于它们接收同一个FM基站信号, 因此它们的RDS脉冲频率是相同的。根据前面讨论可知通过RDS脉冲作为中间频率即可完成节点时钟的分布式校准,在整个校准过程中节点间不需要进行任何通信,因此不会造成通信带宽和能量消耗,达到减少节点间通信,节约带宽和能量消耗的效果。以上说明了一个基本单元的工作原理,而整个校准过程是周期性进行的,其原因在于节点时钟的频率是随时间变化的,因此需要反复进行校准。
图1是本发明周期性脉冲信号示意图;图2是本发明网络模型示意图;图3是本发明周期性校正过程示意图;图4是本发明时钟校准循环流程图。
具体实施例方式如图4,在初始时α C1可取一个线下估计值,通常情况下可以取时钟偏斜的理论值, 即RDS时钟频率与晶振额定频率的比值。此外,在系统启动时,设定初始节点时间Cn(O)= 0,那么节点的校准步骤如下步骤1 节点启动,并设定初始节点时钟为0,设定初始时钟偏斜C^为理论值,睡眠周期为Ta (由节点时钟表示),随后节点FM芯片休眠;步骤2 当节点时钟到达首次休眠时间Ttl时,FM芯片启动接收信号并产生RDS 脉冲,在产生RDS脉冲的时刻记录当前节点时钟cn(i),预测节点在校准时刻的RDS时钟 cji),由前面公式(2)计算当期时钟偏斜,如公式(3)所示,计算完成后FM芯片休眠时间 T ;
权利要求
1.一种基于FM广播数据系统的分布式网络时钟校准方法,所述分布式网络的各节点处于同一 FM基站的覆盖范围,其步骤包括1)在每个节点上设置FM接收芯片;2)FM基站向各节点发送RDS广播数据;3)各节点的FM接收芯片在启动时接收并解析RDS广播数据,生成RDS脉冲信号;4)各节点根据RDS脉冲信号频率校准本地时钟,实现各节点的时间同步。
2.如权利要求1所述的方法,其特征在于,各节点根据RDS脉冲信号频率与该节点的时钟频率的时钟偏斜α来校准本地时钟。
3.如权利要求1或2所述的方法,其特征在于,各节点周期性地校准本地时钟。
4.如权利要求3所述的方法,其特征在于,每一次本地时钟的校准过程包括校准时刻和校准周期两部分,所述校准时刻对应该节点的RDS硬件中断;在校准周期内该节点的FM 接收端的接收芯片处于休眠状态。
5.如权利要求4所述的方法,其特征在于,首次校准设定时钟偏斜α。为RDS时钟频率与该节点晶振额定频率的比值,首次休眠周期为T『
6.如权利要求5所述的方法,其特征在于,在第i次校准该节点本地时钟时,按下式计算该第i次校准的时钟偏斜α i ^ ,X1 = cn(i)-cn(i-l),cn(i)是当前节点时钟周期数,初始节点周期数Cn(O) =0,i-l是前一次周期数内力= ^.+0.5」,Qi^1是前一次的时钟偏斜,计算完成后 FM芯片的休眠周期为T。
7.如权利要求5所述的方法,其特征在于,Ttl选自10 30秒;T根据精度要求设定。
8.如权利要求6所述的方法,其特征在于,T选自10 60分钟。
9.如权利要求1所述的方法,其特征在于,所述分布式网络系统为传感器网络,各节点为传感器网络节点。
10.如权利要求9所述的方法,其特征在于,所述各节点间可通过无线通信接口组成网
全文摘要
本发明涉及一种基于FM广播数据系统的传感器网络时钟校准方法,属于无线通信领域,所述分布式网络的各节点处于同一FM基站的覆盖范围,其步骤包括1)在每个节点上设置FM接收芯片;2)FM基站向各节点发送RDS广播数据;3)各节点的FM接收芯片在校准时接收并解析RDS广播数据,生成RDS脉冲信号;4)各节点根据RDS脉冲信号频率校准本地时钟,实现各节点的时间同步。将RDS脉冲作为中间频率对节点本地时钟进行校准,减少了节点间通信,节约带宽和能量消耗,从而消除时钟偏斜,达到时钟校准的效果。
文档编号H04W56/00GK102355633SQ20111030700
公开日2012年2月15日 申请日期2011年10月11日 优先权日2011年10月11日
发明者刘燕, 孙利民, 李立群, 皇甫伟 申请人:中国科学院软件研究所