一种用于精密时钟同步的滤波方法及系统

文档序号:30656383发布日期:2022-07-06 00:58阅读:144来源:国知局
一种用于精密时钟同步的滤波方法及系统

1.本发明涉及网络延时对抖动的滤波处理技术领域,具体为一种用于精密时钟同步的滤波方法及系统。


背景技术:

2.精密时钟同步是网络时钟同步范畴的一种技术,对时钟同步分为两个阶段,偏差测量阶段和延迟测量阶段。在时间差测量阶段,主时钟向从时钟发送携带准确时间t1的同步报文,当报文进入从时钟的时刻,记录从时钟时间为t2,在该阶段得到t1和t2两个变量分别代表了主、从时钟的时间,因此,可以认为t2-t1即主从时钟的时间差toffset。然而从主时钟到从时钟,同步报文的传输需要经过网络传输,需要考虑传输时延tdelay,因此满足以下公式:
3.toffset=t2-t1-tdelay
4.在时间延迟测量阶段在从时钟向主时钟发送时延测量请求报文,该报文离开从时钟的时刻其本地时间为t3,经过网络传输到达主时钟端,主时钟的时间为t4,主时钟将回复从时钟一个内容为t4的报文,该报文为时延测量应答报文,假设同步报文和时延测量报文所经历的网络时延都为tdelay,则t4与t3的关系为
5.t4-t3=tdelay-toffset
6.联立以上公式得到
7.tdelay=(t2-t1+t4-t3)/2
8.通过以上方式理论上可以得到时间延迟和主从时间偏差,但是该情况则是建立在网络时延相等的假设之上的理想状态;另外,传统精密时钟同步技术只涉及时钟的偏差测量,但是在实际当中,往往主时钟和从时钟存在频率误差,此时传统的同步技术直接补偿时间偏差,会造成时间的跳动。


技术实现要素:

9.针对现有技术中存在的问题,本发明提供一种用于精密时钟同步的滤波方法,实现主时钟和从时钟的同步。
10.本发明是通过以下技术方案来实现:
11.一种用于精密时钟同步的滤波方法,包括以下步骤:
12.步骤1、建立基于时间偏差、网络时延、频率偏差的卡尔曼滤波模型,该模型包含状态预测方程、测量方程和状态修正方程;
13.步骤2、改进的sage-husa算法根据时钟同步系统的时间偏差测量周期和时延测量周期值,基于新息和历史噪声迭代计算卡尔曼滤波模的测量噪声误差和方差,得到当前状态最新的测量噪声误差和方差,同时判断测量噪声方差有无异常值,出现异常则回退至上一状态的测量噪声误差和方差;
14.步骤3、对测量方程中的测量值进行野值判断处理,然后利用强跟踪算法修正滤波
模型,再将步骤2中得到的测量噪声误差和方差代入状态修正方程中,对预测方程中的预测状态进行修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值,根据最优时间偏差、网络时延和频率偏差值调节从时钟以实现主从时间同步。
15.优选的,所述状态预测方程,用于建立当前状态与上一状态的线性关系,并将时间偏差补偿和频率偏差补偿作为卡尔曼滤波模型的状态控制量,所述状态预测方程的表达式如下:
[0016][0017]
其中,u为状态控制,u
offset
(k-1)为时间偏差补偿,uf(k-1)为频率补偿,为先验误差协方差矩阵,p为后验误差协方差矩阵,q为过程误差协方差矩阵,t
offset
为时间偏差,
△fms
为频率偏差,t
delay
为网络时延。
[0018]
优选的,所述测量方程,用于建立了测量值和状态值的线性关系,测量方程的表达式如下:
[0019][0020]

[0021]
其中,z(k)为测量值,由t
offset
(k)和t
delaay
(k)组成;x(k)为状态值,h为状态测量转换矩阵;v为测量噪声。
[0022]
优选的,所述状态修正方程,用于根据测量方程中的最新测量值和历史状态值,对状态预测方程中的预测状态进行修正,状态修正方程的表达式如下:
[0023][0024]
其中,k为卡尔曼增益,决定了对预测的修正程度;y为新息,代表预测和测量值的差异;x(k)为修正的预测值,p为后验误差协方差矩阵,r(k)为测量误差协方差,h为状态测量转换矩阵。
[0025]
优选的,步骤2中改进的sage-husa算法的表达式如下:
[0026][0027]
其中,ko为时间偏差测量周期,kd为时延测量周期,r(k)为测量噪声,r(k)为测量噪声协方差矩阵。
[0028]
优选的,步骤3中得到最优时间偏差、网络时延和频率偏差值的方法如下:
[0029]
s3.1、根据残差确定测量方程中的测量值是否为野值,当为野值,则执行步骤s3.2,若该测量值不是野值,则执行步骤s3.3;
[0030]
s3.2、增大上一状态的测量噪声估计并作为当前状态的测量噪声估计,同时将前几个状态的测量值的均值作为当前状态的测量值;
[0031]
s3.3、将当前状态的测量值、测量噪声估计、状态估计和先验估计协方差,代入经典强跟踪算法公式中,得到修正后的先验估计协方差。
[0032]
s3.4、将s3.3修正后的先验估计协方差代入状态修正方程中,对预测状态进行修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值。
[0033]
优选的,步骤s3.1中确定测量值是否为野值的方法如下:
[0034]
根据残差序列的正态分布特性建立检验统计量,当检验统计量大于置信水平预设的置信区间,则该残差对应的测量值为野值。
[0035]
优选的,所述残差和检验统计量公式的表达如下:
[0036][0037]
优选的,步骤s3.3中所述强跟踪算法公式的表达如下:
[0038][0039]
一种用于精密时钟同步的滤波方法的系统,包括,
[0040]
卡尔曼滤波模块,用于建立基于时间偏差、网络时延、频率偏差的卡尔曼滤波模型,该模型包含状态预测方程、测量方程和状态修正方程;
[0041]
自适应计算模块,改进的sage-husa算法根据时钟同步系统的时间偏差测量周期和时延测量周期值,基于新息和历史噪声迭代计算卡尔曼滤波模的测量噪声误差和方差,得到当前状态最新的测量噪声误差和方差,同时判断测量噪声方差有无异常值,出现异常
则回退至上一状态的测量噪声误差和方差;
[0042]
强跟踪模块,用于对测量方程中的测量值进行野值判断处理,然后利用强跟踪算法修正滤波模型,然后将测量噪声误差和方差代入状态修正方程中,对预测方程中的预测状态进行修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值,根据最优时间偏差、网络时延和频率偏差值调节从时钟以实现主从时间同步。
[0043]
与现有技术相比,本发明具有以下有益的技术效果:
[0044]
本发明提供的一种用于精密时钟同步的滤波方法,根据时间偏差、网络时延、频率偏差建立卡尔曼滤波模型,对时间偏差和时延滤波处理,同时将时间偏差和频率偏差补偿量添加到滤波模型中,消除固有频率偏差和频率漂移对时钟同步的影响;其次,采用将改进sage-husa滤波算法,使用时间偏差测量周期和时延测量周期值作为参数,重新建立测量噪声估计关系式,解决了标准sage-husa滤波算法中测量噪声估计公式中,测量值存在大的波动导致先验估计值忽大忽小,会出现测量噪声方差为负值,从而引起卡尔曼增益大于1,最终导致滤波发散的问题,可避免sage-husa因测量周期不一致带来的错误估计问题;另外,由于强跟踪对测量值出现的野值比较敏感,当出现野值时,产生了残差增大,致使改变消因子来增大先验误差,从而引起卡尔曼增益变大,最终导致了滤波随着发生了非常大的波动。本发明在强跟踪算法基础上,增加了一种野值检测和处理方法,该算法通过对残差和系统噪声进行假设检验,当判断出野值,适当增大r,从而减少了k,最终减少了对当前测量状态的依赖,改进型的强跟踪算法既修正了滤波模型,又消除了野值得影响。
附图说明
[0045]
图1为本发明精密时钟同步原理图。
具体实施方式
[0046]
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。延长和偏差,分析抖动因素和频率飘逸对同步的影响。
[0047]
参阅图1,一种用于精密时钟同步的滤波方法,包括以下步骤:
[0048]
步骤1、对报文发送的网路延时及主时钟和从时钟的频率偏差分析,确定时钟同步的影响因素,影响因素包括延时抖动、频率偏差和频率漂移。分析过程具体如下:
[0049]
s1.1、实际网络延时进行分析,处理过程和排队将造成延时抖动,影响了时间偏差的计算,最终造成在网络环境下时钟同步的波动较大。
[0050]
具体的,实际网络时延决于以下几个因素:
[0051]
报文的发送时间,即主机或者路由器将数据帧从第一个比特到最后一个比特发送完毕所需要的时间,该时间取决于数据长度和发送速率。
[0052][0053]
报文在网络传输媒体中的传播时间,该时间取决于两个因素,信道长度和传播速率;
[0054][0055]
主机或者路由器的处理时延,由于主机或者路由器需要进行一些处理例如分析头部信息,提取有用数据、进行差错校验、查找路由等,这些都将耗费一些时间。
[0056]
当到达路由器后需要在输入队列排队待转发接口、在输出队列排队等待转发,这两种排队取决于网络的通信量,而通信量随机变化,就会造成排队等待时间的变化,因而造成时延抖动。
[0057]
通过以上分析,由于时钟同步报文长度相对固定且较短,发送时间、传播时间则影响较小,因此可以忽略不计,而报文的处理过程和排队将造成延时抖动,根据背景技术所述的原理可知:该时延抖动影响了时间偏差的计算,最终造成在网络环境下时钟同步的波动较大。
[0058]
s1.2、分析时钟频率对系统的影响,确定频率偏差为影响时钟同步精度的因素。
[0059]
在实际应用当中,往往主时钟端精度较高,而从时钟采用精度较低、频率漂移较大且稳定性较差,导致与主时钟存在频率误差。若仅仅使用相位补偿的方法,会出现在每个同步周期内都有较大的时间偏差,直接补偿时间偏差后会造成时间的跳动,等到下一个同步周期依然会出现较大的偏差。为了实现从时钟的平滑调节,需要测量主从时钟的频率偏差,调节从时钟频率,从而实现时间调节的连续。
[0060]
设从时钟频率f(t),存在固定的基本频率f0(t),受老化、环境影响存在随机噪声w(t),是均值为0,方差为σ的高斯白噪声;由晶振自身特性决定频率随时间线性、缓慢的固定变化,称之为固定漂移a(t)。因此从时钟频率f(t)由基本频率f0(t)、固定漂移a(t)和随机噪声w(t)三部分组成。
[0061]
f(t)=f0(t)+a(t)+w(t)
[0062]
从时钟时间
[0063][0064]
离散化后可以表示
[0065]
f(k)=f0(k)+a(k)+w(k)
[0066][0067]
以上公式中,ts为采样周期,f0(k)、a(k)、w(k)代表k倍ts中的基本频率、固定漂移、随机漂移。若主时钟的为固定频率fm,可以看出,若主、从机固定频率不一致,其差即固定频率偏差记为δf0(k)
[0068]
δf0(k)=f0(k)-fm[0069]
由固定频率偏差造成的时间偏差:
[0070]
δs0(k)=δf0(k)ts2[0071]
另外,从k-1倍ts到k倍ts处随机噪声和固定漂移造成的频率偏差为δf(k)=[a(k)+w(k)]ts
[0072]
由随机噪声和固定漂移造成的最终造成的时间偏差变化量为:
[0073]
δs(k)=[a(k)+w(k)]ts2[0074]
通过上述分析,主从频率的偏差包含了固定频率偏差、频率漂移造成频率偏差,导致了时间偏差,对时钟同步的精度造成影响。
[0075]
因此,由步骤1可知:处理过程和排队将造成延时抖动,影响了时间偏差的计算,最终造成在网络环境下时钟同步的波动较大;主从频率的偏差包含了固定频率偏差和频率漂移,导致了时间偏差,对时钟同步的精度造成了影响。
[0076]
步骤2、建立基于时间偏差、网络时延、频率偏差的卡尔曼滤波模型,卡尔曼滤波模型的状态控制包括时间偏差补偿和频率偏差补偿;
[0077]
根据以上分析的结果,建立基于时间偏差、网络时延、频率偏差的卡尔曼滤波模型,根据滤波后的时间偏差计算主从时钟的固有频率偏差,通过调节从时钟频率以保证从时钟状态的连续,然后将时间偏差和频率偏差补偿量添加到滤波模型中,最终消除固有频率偏差和频率漂移对时钟同步的影响。
[0078]
构建卡尔曼滤波模的过程具体包括以下步骤:
[0079]
s2.1、所述状态预测方程,用于建立当前状态与上一状态的线性关系,并将时间偏差补偿和频率偏差补偿作为卡尔曼滤波模型的状态控制量;
[0080]
卡尔曼基本形式表示如下:
[0081][0082]
以上公式其中,为状态预测,a为状态转换矩阵,x(k-1)为上一状态修正,b为控制输入转换矩阵,u(k-1)为上一状态的控制输入,w为过程噪声。
[0083]
若从时钟与主时钟存在时间偏差为t
offset
,频率偏差
△fms
,理想状态网络时延t
delay
,状态预测为如下:
[0084][0085]
因此,建立状态预测方程如下:
[0086][0087]
以上公式中,状态控制u包括时间偏差补偿u
offset
(k-1)和频率补偿uf(k-1),uf(k-1)包含了固有频率偏差补偿和漂移补偿,为先验误差协方差矩阵,p为后验误差协方差矩阵,q为过程误差协方差矩阵。
[0088]
s2.2、根据时钟同步系统的测量值和状态值的线性关系建立测量方程,测量值包括时间偏差测量值和网络时延的测量值。
[0089]
测量方程的基本形式如下:
[0090]
z(k)=hx(k)+v
[0091]
以上公式z(k)为测量值,由t

offset
(k)和t

delaay
(k)组成;h为状态测量转换矩阵;v
为测量噪声。
[0092]
根据时钟同步过程建立测量方程如下:
[0093][0094]
s2.3、所述状态修正方程,用于根据测量方程中的最新测量值和历史状态值,对预测方程中的最新预测状态进行修正,状态修正方程如下:
[0095][0096]
以上公式k为卡尔曼增益,决定了对预测的修正程度;y为新息,代表预测和测量值的差异;x(k)为修正的预测值,p为后验误差协方差矩阵,r(k)为测量误差协方差矩阵。
[0097]
经过步骤1的分析时钟同步过程网络时延的延时抖动造成了网络环境下时钟同步的波动较大,主要原因是网络处理耗时和排队;而频率的偏差也会对时间偏差造成影响,为了实现从时钟的平滑调节,需要测量主从时钟的频率偏差,调节从时钟频率,本发明将滤波模型状态方程建立在时间偏差、网络时延、频率偏差基础上,其状态控制包括时间偏差和频率偏差补偿,其中频率偏差补偿包含了固有频率偏差补偿和漂移补偿;建立时间偏差和时延测量值与状态分量的关系,通过测量值对预测值的不断修正,从而实现了滤波的作用。
[0098]
步骤3、对步骤1卡尔曼滤波模中的噪声采用改进的sage-husa算法进行动态调整,得到卡尔曼滤波模最新的测量噪声误差和测量噪声方差,提升滤波的效果,sage-husa算法改进方法如下:
[0099]
根据时钟同步系统的时间偏差测量周期和时延测量周期值,基于新息和历史噪声迭代计算卡尔曼滤波模的测量噪声误差和方差,同时判断测量噪声方差有无异常值,否则回退至上一状态的上一状态的测量噪声误差和方差。
[0100]
在实际当中由于受网络状况、温度等影响无法准确估计测量噪声,若根据经验采用一个固定值作为测量噪声参与计算,将不能根据实际情况动态调整,影响滤波的效果,甚至造成滤波的发散。
[0101]
sage-husa算法是在标准卡尔曼滤波的基础上实现的自适应滤波算法,可以在已知过程噪声方差的基础上,基于新息和历史噪声不断对测量噪声进行最大后验估计,因此借鉴sage-husa算法如下:
[0102][0103]
以上公式中b为遗忘因子,开始时测量误差修正主要取决于新息,随着迭代次数的
增加将逐渐依赖历史值,收敛到一个相对稳定的状态。
[0104]
但是在使用标准sage-husa算法时,由于时间偏差和时延测量周期不一致,往往时间偏差测量周期较短,而时延测量周期较长,在没有进行时延测量的周期对其误差和方差进行估计,会导致错误估计出一个很小的时延误差和方差值;
[0105]
另外标准sage-husa算法中测量噪声的协方差估计公式中,若测量值存在一些大的波动,导致先验估计值忽大忽小,会出现测量噪声方差为负值,从而引起卡尔曼增益大于1,最终导致滤波发散。
[0106]
因此本发明提出一种改进型的sage-husa算法,充分考虑精密时钟同步的实际情况并且尽量避免噪声估计错误,根据时间偏差测量周期和时延测量周期值,迭代计算测量噪声误差v和方差r,同时判断方差有无异常值,否则回退至上一状态的测量噪声误差和方差,改进的sage-husa算法如下:
[0107][0108]
若r(k)异常
[0109]
其中,ko为时间偏差测量周期,kd为时延测量周期,r(k)为测量噪声,r(k)为测量噪声协方差矩阵。实现了分别根据时间偏差测量周期和时延测量周期值,迭代计算对应的测量噪声误差和方差,实现了精密时钟同步过程中根据实际测量情况动态估计测量噪声,避免了因时间偏差和时延测量周期不一致造成的噪声估计错误,以达到自适应滤波效果;随后通过判断估计出来的测量噪声方差,一旦发现异常,则取上一状态估计值,避免了因测量值波动引起的测量噪声方差估计错误问题。
[0110]
步骤4、对测量方程中的测量值进行野值判断处理,然后利用强跟踪算法修正滤波模型,再将步骤3中得到的测量噪声误差和方差代入状态修正方程中,对预测方程中的预测状态进行修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值,根据最优时间偏差、网络时延和频率偏差值调节从时钟以实现主从时间同步。该步骤在经典强跟踪滤波基础上增加了野值的检测处理算法,解决野值带来的滤波失效问题,有效的提高了系统的稳定性。
[0111]
s4.1、根据残差序列的统计特性判断当前测量值是否为野值,当测量值为野值,则执行步骤s4.2,若该测量值不是野值,则执行步骤s4.3;通过对残差和系统噪声进行假设检验的方式,实现野值检测和处理。
[0112]
为了提高系统的鲁棒性,需要判断系统模型是否正常,可通过强跟踪滤波算法判断残差是否相互正交且满足以下公式
[0113][0114]
以上公式中为残差,包含了预测误差和测量误差。
[0115]
在使用强跟踪滤波算法后,发现随着系统渐消因子的引入,系统对测量值出现的野值比较敏感,当测量值出现野值时会产生残差增大,进而改变了渐消因子来增大先验误差,使卡尔曼增益变大,最终导致了滤波随着发生了非常大的波动。
[0116]
本发明针对以上问题,解决思路为:由于理想的卡尔曼滤波状态,残差序列应该满足以下正态分布。
[0117][0118]
从而构造一个检验统计量
[0119][0120]
则t~χ2分布,通过假设检验的方式判断野值,判断检验统计量是否超过置信水平95%置信区间。
[0121]
理论上可以通过以上公式实现了假设检验的方式判断测量值是否是野值。但是当野值出现时,通过sage-husa滤波公式也使当前测量噪声估计r变得非常大,将影响条件的判断,因此本发明采用了未出现野值的历史值r(k-1)替代r(k)参与检验,将检验统计量继续调整,如下:
[0122][0123]
因此本发明根据以上分析,实现了一种野值检测和处理算法,来避免野值带来的滤波失效问题,过程如下:
[0124]
s4.1.1、首先根据残差建立检验统计量,列出原假设和备择假设。
[0125][0126]
以上公式中为残差,包含了预测误差和测量误差。
[0127][0128]
h0为当前测量值z(k)不是野值,h1为当前测量值z(k)是野值,λ为非中心化参数。
[0129]
s4.1.2、根据置信水平构造拒绝域。
[0130]
拒绝域为
[0131]
w={t>χ
21-a
(m)}
[0132]
当满足拒绝域条件时,则判定为当前测量值为野值。
[0133]
s4.2、对野值进行处理,增大上一状态的测量噪声估计并作为当前状态的测量噪
声估计,同时将前几个状态的测量值的均值作为当前状态的测量值。
[0134]
当满足以上野值条件,对野值的处理方法即适当增大上一状态的测量噪声估计作为当前状态的测量噪声估计,从而减少了k,最终减少了对本次测量值的依赖,方法如下:
[0135][0136]
s4.3、将步骤s3.3得到的当前状态的测量值、测量噪声估计以及s2.1中得到的状态估计、先验估计协方差,代入经典强跟踪算法公式中,得到修正后的先验估计协方差。公式如下:
[0137][0138]
以上系数a的计算公式中对测量值r、系统噪声q、先验估计乘以3,最大限度减少了强跟踪误判的可能性。
[0139]
s4.4、将s4.3修正后的先验估计协方差带入s2.3公式中,对预测方程中的预测状态进行重新修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值,根据最优时间偏差、网络时延和频率偏差值调节从时钟以实现主从时间同步。
[0140]
通过以上处理方式通过强跟踪滤波算法判断系统模型是否正常,提高系统的鲁棒性;在经典强跟踪滤波基础上增加了野值的检测处理算法,完美的实现了对野值的判断和处理,解决野值滤波带来的滤波失效问题,有效的提高了系统的稳定性。
[0141]
本发明实施例还提供了一种用于精密时钟同步的滤波方法的系统,包括卡尔曼滤波模块、自适应计算模块和强跟踪模块;
[0142]
卡尔曼滤波模块,用于建立基于时间偏差、网络时延、频率偏差的卡尔曼滤波模型,该模型包含状态预测方程、测量方程和状态修正方程;
[0143]
自适应计算模块,改进的sage-husa算法根据时钟同步系统的时间偏差测量周期和时延测量周期值,基于新息和历史噪声迭代计算卡尔曼滤波模的测量噪声误差和方差,得到当前状态最新的测量噪声误差和方差,同时判断测量噪声方差有无异常值,出现异常则回退至上一状态的测量噪声误差和方差;
[0144]
强跟踪模块,用于对测量方程中的测量值进行野值判断处理,然后利用强跟踪算法修正滤波模型,再将测量噪声误差和方差代入状态修正方程中,对预测方程中的预测状态进行修正,得到时钟同步系统的最优时间偏差、网络时延和频率偏差值。
[0145]
本发明通过对网络时延及频率偏差分析,处理过程和排队将造成延时抖动,结合背景技术所述的原理可知:该时延抖动较大的影响了时间偏差的计算,最终造成在网络环
境下时钟同步的波动较大;主从频率的偏差包含了固定频率偏差和频率漂移,导致了时间偏差,对时钟同步的精度造成了影响。将滤波模型状态方程建立在时间偏差、网络时延、频率偏差基础上,其状态控制包括时间偏差和频率偏差补偿,其中频率偏差补偿包含了固有频率偏差补偿和漂移补偿;建立时间偏差和时延测量值与状态分量的关系,通过测量值对预测值的不断修正,从而实现了滤波的作用;通过迭代计算测量噪声误差和方差公式改良sage-husa算法,避免了靠工程经验设定测量噪声带来的问题;在经典强跟踪滤波基础上增加了野值的检测处理算法,即通过残差序列构造一个检验统计量,用假设检验的方式完成对野值检测,完美的实现了对野值的判断和处理,解决强野值带来的滤波失效问题,有效的提高了系统的稳定性。
[0146]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1