一种具有高度鲁棒性的自适应时钟同步方法

文档序号:9352634阅读:389来源:国知局
一种具有高度鲁棒性的自适应时钟同步方法
【技术领域】
[0001] 本发明属于信号处理领域,涉及基于信号处理方法实现时钟同步的方法,具体为 一种具有高度鲁棒性的自适应时钟同步方法。
【背景技术】
[0002] 时钟同步技术是无线传感器网络的重要组成部分,为网络中节点的本地时钟提供 一个统一的时间尺度。由于所有的硬件时钟都是不完美的,所以传感器节点的本地时钟彼 此间存在一定偏差。对于需要协同工作的传感器节点来说,统一的时间尺度是必要的。此 外,传感器网络的一些特殊应用,如传感器节点的数据融合,休眠唤醒节能机制,基于TDMA 调度机制的MAC协议以及移动节点的定位等,对网络中时钟的同步都提出了新的需求。
[0003] 从网络拓扑结构的角度来分类,无线传感器网络中的时钟同步技术可以分为单 跳网络时钟同步与多跳网络时钟同步。目前,单跳同步技术的研究已经趋于成熟,时钟同 步精度已经能满足大部分应用场合的要求,而关于多跳同步技术的研究则要相对薄弱,具 体困难表现在过大的同步开销和随着跳数的增加而造成的累积误差。另一方面,从时钟 参数的估计方式来划分,时钟同步技术可以分为两类;一类是通过假设节点间传输延时的 概率密度分布(如高斯分布,指数分布等),然后利用极大似然估计、贝叶斯估计等参数估 计的方法来实现时钟参数的估计;另一类则是通过引入信号处理方法来进行时钟参数的 估计,此类方法不用事先假设延时的概率分布,能适应不同的传输环境,如文献《Tracking low-precision clocks with time-varying drifts using kalman filtering》 (IEEE/ ACM Transactions On Networking, Vol. 20, No. 1, 2012, Hayang Kim, Xiaoli Ma, Benjamin Russell Hamilton)就属此类方法。该文献中将卡尔曼滤波算法引入了时钟同步中来估计 不同节点间的相对时钟参数,具有收敛速度快、精度高的优点;此外,由于此方法能同时估 计时钟漂移和时钟抖动,使得时钟同步操作的周期大大延长,降低了时钟同步的资源消耗。 然而,受限于卡尔曼滤波本身固有的局限,如卡尔曼算法要求时钟模型与延时噪声的自相 关矩阵已知,这使得一旦时钟模型或者延时模型发生变化,卡尔曼估计算法的表现会出现 恶化,甚至会出现发散的情况。

【发明内容】

[0004] 本发明的目的在于针对【背景技术】中的卡尔曼估计时钟同步方法存在的缺陷提出 了一种具有高度鲁棒的自适应时钟同步方法。本发明首先建立无线传感器网络的拓扑模 型,将网络节点分作多个层级,后续的时钟同步方法只在相邻层级间进行,通过逐级同步从 而最终达到全局时钟同步;然后,建立网络节点的时钟模型以及节点间的传输模型;最后, 采用H 0估计滤波器对相邻层级的节点对进行相对时钟参数的估计,达到相邻层级的时钟 同步,进而达到全局时钟同步。
[0005] 本发明的技术方案为:一种具有高度鲁棒性的自适应时钟同步方法因此,包括以 下步骤:
[0006] 步骤1:建立无线传感器网络的层级拓扑模型,将传感器网络依次分为层级 1,2,…,N ;其中,层级1仅包含一个节点、即作为参考节点,相邻层级间进行逐级时钟同步;
[0007] 步骤2:建立网络节点的时钟模型,设网络中的节点i以周期t。对其晶振所产生 的模拟时钟Cl(t)进行采样,则得到离散时钟Cl(l):
[0008] q (1) = 1 t 〇+ 9 土(1 - 1) + [ 0 土(1) -1] t 〇,
[0009] 其中,爲为时变时钟漂移,【i为常数、表示节点晶振的归一化频 率,B'(1)为标准维纳过程, Pl为描述晶振相位噪声的一个参数,通过晶振的RMS周期抖动 JpER与中心频率f。计算得到:於
[0010]
为时变时钟偏移,贫为初始时钟偏差;
[0011] 定义时钟信息向量xdi) = [0;(1) 0id)]1,则得到节点i的时钟的演化模型:

[0014] 设定每A个时钟周期进行一次时钟同步,则lk= Ak,得到时钟模型方程:
[0015] XiCLk) = AXiCLk J+WiCLj+b,
[0016]其中,
理解为是时钟模型的过程噪声,其为零均值的,且其自相关矩阵为:
[0017]
[0018] 步骤3:建立节点间的传输模型,采用发送者-接收者传输方式,设定节点i将时 钟同步于节点h ;首先在时刻t,节点i发送一条时间戳消息给节点h,并记录下发送时刻 Tlit;节点h接受到该消息并记录下接受时刻T 2it,然后在T3it时刻对节点i发送一条包含有 T&t和T3it信息的时间戳消息;节点i接收到该消息并记录下接收时刻T 4it;得到节点i的时 间戳信息表示为{Ty,T2,t,T3, t,T4,J,以上时间戳交换过程表示为:
[0019] T2 t-0h(t) = Tlt-0 i(t)+di h+Xt,
[0020] T3,t_ 0 h(t) = T4,t_ 0 JO-H,
[0021] 其中,diih表示节点i与节点h间的传输延时中的固定延时部分,乂4与¥ 4表示传输 延时中的随机部分;设并设R $孓-X,及s (r2,+u-(ru,+u,对t采样得到离散观测 方程:
[0022] Zj= [0 ~2] [x ; (1)-xh (1) ]+Vj;
[0023] 步骤4 :进行相邻层级间的点对点时钟同步,将网络中节点标识为S& n,其中 mG {1,…,N}表示节点所属的层级,n表示该节点在其所在层级中的编号,根据时钟模型方 程和时钟观测方程得节点^与节点间的相对时钟模型及观测模型方程组:
[0024]
[0025]其中,仏―)-,w(4) =w",+1 仏)-J 程噪声w(lk)的自相关矩阵为Q,则当m= 1时Q=Qi,当m辛1时Q= 2Q1;
[0026] 采用Hm估计器对向量x(lk)进行迭代估计,设置初始值、与P。以及鲁棒系数 沁> 〇 :在迭代过程j = 〇, 1,2,…中始终满足H m估计器的存在条件:
[0027]
[0028] 其中,12表示2阶单位矩阵,'> 0'表示矩阵正定,且
[0031 ] 计算相对时钟信息向量x的估计为:
[0034] 本发明提供一种具有高度鲁棒性的自适应时钟同步方法,首先建立无线传感器网 络的拓扑模型,然后建立网络节点的时钟模型以及节点间的传输模型;最后采用H m估计 滤波器对相邻层级的节点对进行相对时钟参数的估计,达到相邻层级的时钟同步,进而达 到全局时钟同步。本发明中H m估计算法是通过最小化目标误差函数的H m范数得到的, 使得Hm估计具有很强的鲁棒性;在多跳网络中,误差累积对高鲁棒性的Hm时钟同步方法 所带来的影响极小;同时高鲁棒性的H °°时钟同步方法中,不需要卡尔曼时钟同步方法中 必要的时钟模型的噪声以及传输延时自相关矩阵等先验信息。
【附图说明】
[0035] 图1为本发明中相邻网络节点间Hm估计器的工作流程示意图。
[0036] 图2为实施例中层级式无线传感器网络布局的示例图。
[0037] 图3为本发明提供H m时钟同步算法与卡尔曼算法在高斯白噪声条件下的比较 图。
[0038] 图4为本发明提供H m时钟同步算法与卡尔曼算法在高斯色噪声条件下的比较 图。
【具体实施方式】
[0039] 下面结合实施例和附图对本发明作进一步详细说明。
[0040] 本发明提供一种具有高度鲁棒性的自适应时钟同步方法,首先建立无线传感器网 络的拓扑模型,将网络节点分作多个层级,后续的时钟同步算法只在相邻层级间进行,通过 逐级同步从而最终达到全局时钟同步;然后,建立网络节点的时钟模型以及节点间的传输 模型;最后,采用H m估计滤波器对相邻层级的节点对进行相对时钟参数的估计,达到相邻 层级的时钟同步,进而达到全局时钟同步。其详细推到步骤为:
[0041] 步骤1 :建立无线传感器网路偶的层级拓扑模型,将传感器网络依次分为层级 1,2,…,N。其中层级1只有一个节点(即参考节点),将网络中的节点标识为5_,其中 m G {1,…,N}表示节点所属的层级,n表示该节点在其所在层级中的编号;层级m+1中的 节点同步于它所相邻的上一层级m中的某一节点。
[0042] 步骤2 :建立网络节点的时钟模型。设节点i装备如下晶振:
[0043] p ; (t) = cos〇i (t) (1)
[0044] 这里(l),.(0 = 2;r(./i_,+A/:)/ + O (0) + G(〇为瞬时相位,式中的f。为晶振的中心频率, A仁是由于硬件不理想所造成的频率偏移,〇 J0)为初始相位,$?,(/_) = 2^/^7?执〇为随机 相位噪声,其中的B(t)代表标准维纳过程,Pl为描述晶振相位噪声的一个参数,可以通过晶 振的RMS周期抖动J PER(此参数在晶振手册中可查)计算得到:灼二/U。。
[0045] 据此,该晶振所产生的模拟时钟可以表示为:
[0047] 若假设时钟可能够用时变时钟漂移和时变时钟偏差以下式表示:
[0046] ⑵
[0048]
(3.)
[0049] 对上式以周期t。进行采样可以得到:
[0050]
[0051] 在⑷中的0 "I)和ejl)为累积时钟偏差和瞬时时钟漂移。联合(2)、(3)式 并微分之后可以得到:
[0052]
(5)
[0053] 对上式进行采样之后可得爲+ 显然B'⑴是为高斯白噪声。据 此,可以将0,(1)用一下递归公式给出:
[0054] 0i(1)=0i(1-1) +u; (1) (6)
[0055] 这里《,(/) = V^[r(/)-们/-1)]是零均值高斯噪声,它的方差为g =2A 4艮据⑷ 中9 J1)的定义,结合式(6),同样可以将0J1)用递归的形式表示:
[0056] 9 i (1) = 9 i (1_1) +
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1