一种时间同步方法

文档序号:6262259阅读:427来源:国知局
一种时间同步方法
【专利摘要】本发明是一种时间同步方法,分别对相位和频率的测量值进行一次指数平滑滤波,每次计算只使用上次的计算结果和本次的单次测量值,计算量大大减少,通过连续的迭代运算,算法可以稳定地收敛于统计期望值附近,使用本发明的算法,可以使用较低的硬件成本,高精度地补偿全球定位系统输出的随机时间误差,并精确地测量高稳晶振的频率,为设计高精度时钟及提高时钟守时精度提供了支持。
【专利说明】—种时间同步方法
[0001]
【技术领域】
[0002]本发明涉及一种以全球定位系统的时间/[目号及闻稳晶振的频率?目号为基础,闻精度地重建标准时间与频率的算法。该算法可广泛应用于电力系统及其自动化、广播电视、通信等需要高精度时间与频率同步的领域。
【背景技术】[0003]全球定位系统(包括在役的美国GPS系统,俄罗斯的GL0NASS系统,中国的北斗系统,以及建设中的欧洲的伽利略系统)为全球定位和时间及频率同步提供了方便快捷的手段。由全球定位系统卫星信号解算出的时间信号虽然没有累积误差,具有优异的长期时间稳定性,但由于受星历误差、电离层误差、对流层误差、多径误差、接收机误差、跟踪卫星数过少等因素的影响,全球定位系统地面接收机直接输出的时间信号的精度和稳定性都难以得到保证。在全球定位系统地面接收机正常工作时,其输出的秒脉冲时间误差服从正态分布,厂级给出的精度指标通常也是使用正态分布的标准差σ。以一个秒脉冲精度为0.1ys的全球定位系统地面接收机为例,其输出的秒脉冲信号在小时级的观察里也会观察到接近0.4μ s的粗大误差,在卫星实验跳变的情况下,有试验更记录到IOms量级的时间跳变。在电力系统自动化领域,希望时间装置能提供时间精度优于1μ s,频率精度能保证I小时内守时误差小于1μ S,显然,直接使用全球定位系统地面接收机输出的时间信号难以满足要求。
[0004]为解决上述问题,长沙电力学院曾祥君、尹项根等人在《中国电机工程学报》2002年第12期上发表了一篇“GPS时钟在线监测与修正方法”的文章,提出了一种综合利用GPS时钟无误差积累和高稳晶振优越的频率稳定性的特点,通过现行回归分析,对GPS输出的时间信号进行补偿并高精度测量高稳晶振频率的方法,该方法要利用前η次GPS输出的秒脉冲的频率计数进行线性回归分析,算法复杂,需要较高运算能力的CPU才能支持。在此基础上,曾祥君等人在其发明专利(00131107.7) “一种暂态化过程同步记录方法及装置”中,只是近似实现了该算法,而且该发明中所能实现的时间和频率精度也不够理想。清华大学谢小容、李建等人在发明专利(200410009685.2) “北斗一号卫星导航系统与GPS互备授时方法及装置”中提出了一种与曾祥君等人所述算法极其类似的算法,该算法中,由于北斗时间信号使用了分脉冲,导致采用样本长,计算量大,算法收敛慢,当环境温度变化快时,影响闻稳晶振的频率跟踪精度。
[0005]曾祥君和谢小荣等人所实现的算法都以线性回归为基础,每次计算都要重新投入前η次样本的测量值进行计算,计算量大,不利于使用单片机的低成本实现。

【发明内容】

[0006]本发明旨在提供一种时间同步方法,以克服现有技术存在的上述缺陷,所要解决的技术问题是:通过重建理想的UTC时间秒脉冲,大幅度降低计算量,以降低硬件成本,并高精度地补偿全球定位系统输出的随机时间误差,精确地测量高稳晶振的频率。
[0007]为了解决上述技术问题,本发明采用了以下技术方案:
一种时间同步方法,其特征在于:以高稳晶振输出的频率信号为计数器和鉴相器的CLK输入,将全球定位系统地面接收机输出的秒脉冲X输入计数器,计数器记录下每个秒脉
冲对应的计数值X,并将其存入单片机中,形成一个计数值序列:{x1; X2, X3,......, Xn },当
计数值序列中的元素数量累积到设定值N时,开始高稳晶振频率的跟踪与测量,并进行秒脉冲的恢复与重建;
其中,高稳晶振频率的跟踪与测量方法如下:
进行高稳晶振频率的第一次估算,算法为=Z1=Un-X1V(N-1),
当计数器记录到第N+ I个秒脉冲的计数值xN + 1时,将计数值序列更新为{ X2, X3,X4……,ΧΝ+1 },并用一次指数平滑法对高稳晶振的频率进行迭代运算,将估计值更新为:z2=(1-α)* Z1+α *[(χΝ+1-χ2)/(N-1)],
同理,对于第k次频率估计,其计算方法为:zk=(l_a)* Zlrf+a *[ (Xiwrf-Xk)/(N-1)],a为设定的O—I之间的数;
其中,秒脉冲的恢复与重建方法如下:
第一个秒脉冲的重建方法为:
计算出待写入比较器的值Y1为:yi=xN + Z1,
单片机将Y1写入比较器,当计数器计数到yi时,比较器触发输出重建的秒脉冲Y,
后续秒脉冲的重建方法为:
设产生当前秒脉冲对应的比较器的值为yk,鉴相器测量出秒脉冲Y与秒脉冲X的相差为wk,鉴相器设计成X超前Y为正相差,当前的晶振频率估计值为zk,则产生下个秒脉冲的估计值yk+1为:yk+i=yk+zk+P *wk, β为设定的O — I之间的数。
[0008]当全球定位系统地面接收机失锁时,利用计算出的高稳晶振的频率,维持系统的高精度守时,方法为如下两种之一:
第一种方法:单片机利用失锁前最后一秒的频率值ζ和比较器值yk计算下一个要写入比较器用来产生秒脉冲的数值yk+1,计算公式为:yk+1=int(yk+Z+Ak),其中Δ k= (yk-1+z+ Δ η) - yk,失锁期间一直使该计算公式计算产生秒脉冲的写入比较器的数值,维持时钟的守时输出。
[0009]第二种方法:单片机利用失锁前最后一秒的频率值ζ和比较器值yk计算下一个要写入比较器用来产生秒脉冲的数值yk+1,计算公式为:yk+1=int(yk+z+Ak+0.5),其中Ak=(yk_1+Z+Ak_1)- yk,失锁期间一直使用该计算公式计算产生秒脉冲的写入比较器的数值,维持时钟的守时输出。
[0010]优选地,a和β对应卡尔曼滤波算法中的“卡尔曼增益”。
[0011]本发明的积极效果在于:本发明的算法分别对相位和频率的测量值进行一次指数平滑滤波,每次计算只使用上次的计算结果和本次的单次测量值,计算量大大减少,通过连续的迭代运算,算法可以稳定地收敛于统计期望值附近,使用本发明的算法,可以使用较低的硬件成本,高精度地补偿全球定位系统输出的随机时间误差,并精确地测量高稳晶振的频率,为设计高精度时钟及提高时钟守时精度提供了支持。【专利附图】

【附图说明】
[0012]图1是不同时源秒脉冲误差特性比较图。
[0013]图2是本发明方法实施例的原理图。
[0014]图3是全球定位系统地面接收机锁定时的算法流程图。
【具体实施方式】
[0015]下面结合附图和实施例进一步说明本发明。
[0016]如图1所示,第一行代表理想的UTC时间秒脉冲,每秒一个时间脉冲;第二行代表全球定位系统地面接收机输出的秒脉冲,如图中所示,地面接收机输出的秒脉冲相对理想秒脉冲会有一个随机误差,当长期运行时,它没有累积误差;第三行为高稳晶振分频后产生的秒脉冲,其特点是从每一个秒脉冲的脉冲间隔非常均匀,但偏差是同向的,长时间运行偏差将逐渐累积,其短期精度优于全球定位系统地面接收机而长期精度不如后者。本发明通过综合利用全球定位系统地面接收机和高稳晶振的优点,使重建的秒脉冲更接近理想UTC时间。
[0017]重建理想的UTC时间秒脉冲的问题,可以分解成高精度的测量高稳晶振频率和估计秒脉冲时刻这两个问题,要解决这两个问题,可以通过使用如图2所示的系统(其中的计数器、鉴相器和比较器代表功能,不代表现实的物理实现,实际实现中可能由一个器件完成),并通过以下方法实现。
[0018]1、闻稳晶振频率的跟踪与测量:
以高稳晶振输出的频率信 号(通常为IOMHz -1OOMHz的信号,较高的频率有助于提高时间分辨率,提高精度)为计数器和鉴相器的CLK输入,将全球定位系统地面接收机输出的秒脉冲X输入计数器,使用计数器记录下每个秒脉冲对应的计数值X,并将其存入单片机中,形成一个计数值序列:(X1, X2,Xy......,XjJ。
[0019]当计数值序列中的元素数量累积到N时(N的取值与秒脉冲的标准差、高稳晶振频率等因素有关,较大的取值有利于减少结果标准差,但会降低对晶振频率变化的跟踪性能),进行高稳晶振频率ζ的第一次估算,算法如下:
Z1=(Xn-X1)/ (N-1)(I)
当计数器记录到第N+ I个秒脉冲的计数值xN + 1后,将计数值序列更新为{ x2, X3,X4……,XN+1 },并用一次指数平滑法对高稳晶振的频率Z进行迭代运算,将估计值更新为z2=(l-a)* Z1+*! *[(χΝ+「χ2)/(N-1)](2)
同理,对于第k次频率估计,其计算方法为:
zk=(l-a)* Zh+α *[ (Xiwrf-Xk)/(N-1)](3)
算法中,α为设定的O — I之间的数,α的选择对计算结果影响很大,卡尔曼滤波算法对的选取具有指导意义。将算式(3)改写成
zk=zk-1+ α * [ (xN+k-rxk) / (N-1)- Zk-J(4)
则可以发现式⑷与卡尔曼滤波算法的算法结构及其相似,其中(Xn-Xk)/(N-1)-冗㈠对应的就是“新息”,α对应的就是“卡尔曼增益”,所以,可以借鉴卡尔曼滤波的思想,根据秒脉冲X的标准差以及高稳晶振的短期稳定度来确定α的大小。[0020]通过模拟仿真和实际产品验证,当使用秒脉冲标准差σ = 50ns的GPS模块,频率稳定度为10 —9的IOM恒温晶振(实际系统使用锁相环将晶振频率倍频到100MHz)时,取Ν=128,α =0.01时,晶振频率计算结果的误差小于0.0lHz0[0021 ] 2、秒脉冲时刻的估计:
在取得晶体的频率估计值后,可以使用该估计值并使用下面的方法重建标准秒脉冲输出。
[0022]第一个秒脉冲的重建:
计算获得第一个晶振频率估计值后Zi,根据当前秒脉冲的计数器的计数值xi,计算出下一个比较器对应的估计值为
Yi=Xi + Z1(5)
单片机将Y1写入比较器,当计数器计数到yi时,比较器触发输出重建的秒脉冲Y。
[0023]后续秒脉冲的重建方法为:
设产生当前秒脉冲对应的比较器的值为yk,鉴相器测量出秒脉冲Y与秒脉冲X的相差为wk(X超前Y计为正相差),当前的晶振频率估计值为zk,则产生下个秒脉冲的估计值为yk+i=yk+zk+β *wk;(6)
其中β为设定的ο — I之间的数。可以看到式(6)也具有与卡尔曼滤波算法相同的结构,其中相差对应的就是“新息”,β对应“卡尔曼增益”,卡尔曼滤波算法可以指导对β的选择。
[0024]对于前述的使用秒脉冲标准差σ = 50ns的GPS模块,频率稳定度为10 —9的IOM恒温晶振构成的系统(实际系统使用锁相环将晶振频率倍频到100MHz),当选用β=0.1时,系统重建的秒脉冲输出的标准差小于20ns,精度较原输入信号明显提高。
[0025]综上所述,当全球定位系统锁定时,利用全球定位系统输出的秒脉冲和高稳晶振的频率信号重建本地时钟的步骤如图3。
[0026]进一步地,本算法能够鉴别出输入的秒脉冲的粗大误差,当全球定位系统地面接收机失锁时,利用计算出的高稳晶振的频率,维持系统的高精度守时,方法如下:
当全球定位系统地面接收机失锁时(地面接收机会给出失锁信号),单片机利用失锁前最后一秒的频率值ζ和比较器产生秒当前脉冲的值yk计算下一个要写入比较器用来产生秒脉冲的数值yk+1,计算公式为:
yk+1=int (yk+z+ Δ k) ;(7)
Δ k= (Yk-1+z+ Δ h) - yk(8)
该算法的实质是在利用高稳晶振的频率累积计算产生秒间隔(yk+z+Ak)的过程中,由于(yk+z+Ak)有可能不是一个整数,而比较器只能写入整数值,为维持累积计算的精度,在将计算值的整数部分写入比较器后,将剩余的小数部分累加至后续的频率累积中,减少因数值取整造成的算法损失。该算法可以保证频率累积过程中的最大误差不超过I个晶振周期。对于前述的示例系统,I小时守时误差小于I μ S。
[0027]还有一种对式(7)的算法改良,即写入计较器的值不是直接取(yk+z+Ak)的整数部分,而是对(yk+z+Λ k)进行四舍五入,SP
yk+1=int (yk+z+ Δ k+0.5) ;(9)
其中Ak的计算方法同式(8),该算法可以保证频率累积过程中的最大误差不超过半个晶振周期。对于前述的示例系统,I小时守时误差同样小于I μ S,而且秒周期波动更小。
【权利要求】
1.一种时间同步方法,其特征在于:以高稳晶振输出的频率信号为计数器和鉴相器的CLK输入,将全球定位系统地面接收机输出的秒脉冲X输入计数器,计数器记录下每个秒脉冲对应的计数值X,并将其存入单片机中,形成一个计数值序列:{x1; X2, X3,......, Xn },当计数值序列中的元素数量累积到设定值N时,开始高稳晶振频率的跟踪与测量,并进行秒脉冲的恢复与重建; 其中,高稳晶振频率的跟踪与测量方法如下: 进行高稳晶振频率(Z)的第一次估算,算法为=Z1=Un-X1V(N-1), 当计数器记录到第N+ I个秒脉冲的计数值xN + 1时,将计数值序列更新为{ X2, X3,X4……,ΧΝ+1 },并用一次指数平滑法对高稳晶振的频率(Z)进行迭代运算,将估计值更新为:z2=(l-a)* Z1+α *[(χΝ+1-χ2)/(N-1)], 同理,对于第k次频率估计,其计算方法为:zk=(l_a)* Zlrf+a *[ (Xiwrf-Xk)/(N-1)],a为设定的O—I之间的数; 其中,秒脉冲的恢复与重建方法如下: 第一个秒脉冲的重建方法为: 计算出待写入比较器的值Y1为:yi=xN + Z1, 单片机将Y1写入比较器,当计数器计数到yi时,比较器触发输出重建的秒脉冲Y, 后续秒脉冲的重建方法为: 设产生当前秒脉冲对应的比较器的值为yk,鉴相器测量出秒脉冲Y与秒脉冲X的相差为wk,鉴相器设计成X超前Y为正相差,当前的晶振频率估计值为zk,则产生下个秒脉冲的估计值yk+1为:yk+i=yk+zk+P *wk, β为设定的O — I之间的数。
2.如权利要求1所述的时间同步方法,其特征在于:当全球定位系统地面接收机失锁时,利用计算出的高稳晶振的频率,维持系统的高精度守时,方法如下: 单片机利用失锁前最后一秒的频率值Z和比较器值yk计算下一个要写入比较器用来产生秒脉冲的数值yk+1,计算公式为:yk+1=int(yk+z+Ak),其中Δk= (y^+z+ΔH)- yk,失锁期间一直使该计算公式计算产生秒脉冲的写入比较器的数值,维持时钟的守时输出。
3.如权利要求1所述的时间同步方法,其特征在于:当全球定位系统地面接收机失锁时,利用计算出的高稳晶振的频率,维持系统的高精度守时,方法如下: 单片机利用失锁前最后一秒的频率值z和比较器值yk计算下一个要写入比较器用来产生秒脉冲的数值yk+1,计算公式为:yk+1=int(yk+z+Ak+0.5),其中Δ k= (yyz+Δ㈠)-yk,失锁期间一直使用该计算公式计算产生秒脉冲的写入比较器的数值,维持时钟的守时输出。
4.如权利要求1或2或3所述的时间同步方法,其特征在于:a和β对应卡尔曼滤波算法中的“卡尔曼增益” 。
【文档编号】G04R20/02GK103454905SQ201310417280
【公开日】2013年12月18日 申请日期:2013年9月13日 优先权日:2013年9月13日
【发明者】华志斌, 李勇, 刘兰辉, 王德胜, 侯友忠 申请人:烟台东方英达康自动化技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1