高精度时间同步方法转让专利

申请号 : CN201810191208.4

文献号 : CN108599885B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 华楠罗瑞杰郑小平

申请人 : 清华大学

摘要 :

本发明提出一种高精度时间同步方法,该方法对传统IEEE 1588网络时间同步协议进行改进,在时间同步网络中任意两节点间引入周期性传输时间扰动,该扰动可以通过改变传输路径或收发端使用不同频率的时钟引入时钟相位扰动来实现。该方法可以消除多次同步结果误差的相关性,并进而通过统计平均的方法补偿引入的扰动量,降低由同步节点时钟分辨率不足导致的同步误差。本发明较现有IEEE 1588等传统时间同步方法有明显优势,能够实现纳秒级的时间同步精度。

权利要求 :

1.一种高精度时间同步方法,其特征在于,包括以下步骤:

S1:在时间同步网络中任意两节点间引入周期性传输时间扰动,定义节点i到节点j间引入的所述周期性传输时间扰动大小为时间t的函数fi,j(t),且扰动的最大值大于或等于接收节点j的时钟周期Tj,其中,扰动周期为Pi,j,扰动在所述扰动周期内的均值为S2:所述节点i,j在进行时间同步时,两节点互相发送带有时间戳的消息,将节点i的消息发送时间、节点j的消息接收时间、节点j的消息发送时间和节点i的消息接收时间分别记录为t1,t2,t3,t4,并在一个所述扰动周期内,计算出记录的时间t1,t2,t3,t4的均值则节点j相对于节点i的时间修正量为 Ej,i为节点j到节点i间引入的周期性传输时间扰动在扰动周期内的均值。

2.根据权利要求1所述的高精度时间同步方法,其特征在于,其中,所述周期性传输时间扰动大小为等差数列,扰动差值为d,表示为:fi,j(t)=d·t,t∈[0,Pi,j)。

3.根据权利要求1所述的高精度时间同步方法,其特征在于,其中,所述周期性传输时间扰动大小为随机数列,表示为:fi,j(t)=random(t),t∈[0,Pi,j)。

4.根据权利要求1所述的高精度时间同步方法,其特征在于,其中,时间同步节点发送脉冲与其它节点进行同步,发送脉冲与接收脉冲使用不同的时钟频率,其周期分别记为Ts和Tr,等效于在节点间引入所述周期性传输时间扰动,所述扰动的变化周期为Ts和Tr的最小公倍数,计算出扰动的均值后按照所述步骤S1至步骤S2的方法进行时间修正量计算。

5.根据权利要求4所述的高精度时间同步方法,其特征在于,还包括:定义ns,nr为Ts和Tr的最简整数比,即ns:nr=Ts:Tr;

定义i节点发出的第k个脉冲到达j节点的时刻与j节点接收时钟下一个上升沿间的时间间隔为则计算得到的时间修正量为:

其中, 为i节点发出的第1个脉冲到达j节点的时刻与j节点接收时钟下一个上升沿间的时间间隔。

6.根据权利要求5所述的高精度时间同步方法,其特征在于,进一步包括:通过选取Ts和Tr使得ns>>1,nr>>1时,所述时间修正量计算可以简化为

7.根据权利要求6所述的高精度时间同步方法,其特征在于,还包括:定义时间同步误差上限要求为Errormax,则需要通过频率选取满足如下不等式Tr/2nr

8.根据权利要求1所述的高精度时间同步方法,其特征在于,还包括:定义节点i的相邻节点集合{Ni},{Ni}中共包含n个节点;

计算节点i相对于每一个{Ni}中的节点j的时间修正量为Offseti,j,j∈{Ni},则节点i最终的时间修正量为

9.根据权利要求8所述的高精度时间同步方法,其特征在于,还包括:定义故障等待时间阈值Fth,当节点i与其相邻节点j间通讯失效时间大于Fth时,认定节点i与节点j不再相邻,将节点j从所述相邻节点集合{Ni}中移除。

说明书 :

高精度时间同步方法

技术领域

[0001] 本发明涉及网络通信技术领域,特别涉及一种高精度时间同步方法。

背景技术

[0002] 目前,实现纳秒级时间同步精度基本采用精确鉴相或类似技术,其硬件实现复杂,成本高昂,同步距离短,网络化难度大,短时间内难以实用于大规模网络时间同步系统。现
有网络时间同步技术由于基于数字逻辑,其同步精度无法突破时钟分辨率,导致整体网络
时间同步精度在亚微秒级或更低。
[0003] 此外,现有网络时间同步基于IEEE 1588同步协议,其主从式的同步结构鲁棒性较低,同步路径中的上游节点或链路发生故障将影响下游节点的同步精度。一旦时钟源节点
出现故障或被攻击,时间同步网将陷于瘫痪,网络抗毁性低。

发明内容

[0004] 本发明旨在至少解决上述技术问题之一。
[0005] 为此,本发明的目的在于提出一种高精度时间同步方法,可以消除多次同步结果误差的相关性,并进而通过统计平均的方法补偿引入的扰动量,降低由同步节点时钟分辨
率不足导致的同步误差,能够实现纳秒级的时间同步精度。
[0006] 为了实现上述目的,本发明的实施例提出了一种高精度时间同步方法,包括以下步骤:S1:在时间同步网络中任意两节点间引入周期性传输时间扰动,定义节点i到节点j间
引入的所述周期性传输时间扰动大小为时间t的函数fi,j(t),且扰动的最大值大于或等于
接收节点j的时钟周期Tj,其中,扰动周期为Pi,j,扰动在所述扰动周期内的均值为
S2:所述节点i,j在进行时间同步时,两节点互相发送带有时间戳的消息,
将节点i的消息发送时间、节点j的消息接收时间、节点j的消息发送时间和节点i的消息接
收时间分别记录为t1,t2,t3,t4,并在一个所述扰动周期内,计算出记录的时间t1,t2,t3,t4的
均值 则节点j相对于节点i的时间修正量为
[0007] 另外,根据本发明上述实施例的高精度时间同步方法还可以具有如下附加的技术特征:
[0008] 在一些示例中,所述周期性传输时间扰动大小为等差数列,扰动差值为d,表示为:
[0009] fi,j(t)=d·t,t∈[0,Pi,j)。
[0010] 在一些示例中,所述周期性传输时间扰动大小为随机数列,表示为:
[0011] fi,j(t)=random(t),t∈[0,Pi,j)。
[0012] 在一些示例中,所述时间同步节点发送脉冲与其它节点进行同步,发送脉冲与接收脉冲使用不同的时钟频率,其周期分别记为Ts和Tr,等效于在节点间引入所述周期性传输
时间扰动,所述扰动的变化周期为Ts和Tr的最小公倍数,计算出扰动的均值后按照所述步骤
S1至步骤S2的方法进行时间修正量计算。
[0013] 在一些示例中,还包括:定义ns,nr为Ts和Tr的最简整数比,即ns:nr=Ts:Tr;定义i节点发出的第k个脉冲到达j节点的时刻与j节点接收时钟下一个上升沿间的时间间隔为则计算得到的时间修正量为:
[0014]
[0015] 在一些示例中,进一步包括:通过选取Ts和Tr使得ns>>1,nr>>1时,所述时间修正量计算可以简化为
[0016] 在一些示例中,还包括:定义时间同步误差上限要求为Errormax,则需要通过频率选取满足如下不等式Tr/2nr
[0017] 在一些示例中,还包括:定义节点i的相邻节点集合{Ni},{Ni}中共包含n个节点;计算节点i相对于每一个{Ni}中的节点j的时间修正量为Offseti,j,j∈{Ni},则节点i最终的时
间修正量为
[0018] 在一些示例中,还包括:定义故障等待时间阈值Fth,当节点i与其相邻节点j间通讯失效时间大于Fth时,认定节点i与节点j不再相邻,将节点j从所述相邻节点集合{Ni}中移
除。
[0019] 根据本发明实施例的高精度时间同步方法,可以消除多次同步结果误差的相关性,并进而通过统计平均的方法补偿引入的扰动量,降低由同步节点时钟分辨率不足导致
的同步误差,该方法较现有IEEE 1588等传统时间同步方法有明显优势,能够实现纳秒级的
时间同步精度。
[0020] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0021] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0022] 图1是根据本发明一个实施例的高精度时间同步方法的流程示意图;
[0023] 图2是根据本发明一个实施例的高精度时间同步网故障处理状态机示意图;
[0024] 图3是根据本发明一个具体实施例的时间同步精度实验结果图。

具体实施方式

[0025] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0026] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对
本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0027] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本
发明中的具体含义。
[0028] 以下结合附图描述根据本发明实施例的高精度时间同步方法。
[0029] 根据本发明实施例的高精度时间同步方法,包括以下步骤:
[0030] 步骤S1:在时间同步网络中任意两节点间引入周期性传输时间扰动,定义节点i到节点j间引入的周期性传输时间扰动大小为时间t的函数fi,j(t),且扰动的最大值大于或等
于接收节点j的时钟周期Tj,其中,扰动周期为Pi,j,扰动在扰动周期内的均值为
[0031] 步骤S2:节点i,j在进行时间同步时,两节点互相发送带有时间戳的消息,将节点i的消息发送时间、节点j的消息接收时间、节点j的消息发送时间和节点i的消息接收时间分
别记录为t1,t2,t3,t4,并在一个扰动周期内,计算出记录的时间t1,t2,t3,t4的均值
则节点j相对于节点i的时间修正量为
[0032] 在本发明的一个实施例中,上述的周期性传输时间扰动大小例如可以为等差数列,扰动差值为d,表示为:fi,j(t)=d·t,t∈[0,Pi,j)。例如,当d=1ns/s,Pi,j=10s,每秒进行1次同步时,则fi,j(t)为0ns到9ns的等差数列,扰动均值Ei,j=4.5ns,代入时间修正量公
式后即可得到精准的同步结果。
[0033] 在本发明的另一个实施例中,上述的周期性传输时间扰动大小例如也可以为随机数列,表示为:fi,j(t)=random(t),t∈[0,Pi,j)。例如,当Pi,j=4s,每秒进行1次同步时,则随机生成的fi,j(t)可以为fi,j(0)=0,fi,j(1)=6,fi,j(2)=4,fi,j(3)=2,扰动均值Ei,j=
3ns,代入时间修正量公式后即可得到精准的同步结果。
[0034] 进一步地,在本发明的一个实施例中,还包括:时间同步节点发送脉冲与其它节点进行同步,发送脉冲与接收脉冲使用不同的时钟频率,其周期分别记为Ts和Tr,等效于在节
点间引入周期性传输时间扰动,扰动的变化周期为Ts和Tr的最小公倍数,计算出扰动的均值
后按照上述步骤S1至步骤S2的方法进行时间修正量计算。
[0035] 进一步地,在本发明的一个实施例中,还包括:定义ns,nr为Ts和Tr的最简整数比,即ns:nr=Ts:Tr;定义i节点发出的第k个脉冲到达j节点的时刻与j节点接收时钟下一个上
升沿间的时间间隔为 经计算时间修正量为:
[0036]
[0037] 在本发明的一个实施例中,还包括:通过选取Ts和Tr使得ns>>1,nr>>1时,时间修正量计算可以简化为 例如,在发送时钟周期确定为Ts
=10ns时,可以设置接收时钟Tr=9.9ns,则ns=100>>1,nr=99>>1,即可采用简化后的时间
修正量公式。
[0038] 在本发明的一个实施例中,还包括:定义时间同步误差上限要求为Errormax,则需要通过频率选取满足如下不等式Tr/2nr确定为Ts=10ns时,可以设置接收时钟Tr=9.9ns,则ns=100,nr=99,Tr/2nr=0.05ns<
Errormax=0.1ns。
[0039] 在本发明的一个实施例中,还包括:定义节点i的相邻节点集合{Ni},{Ni}中共包含n个节点;计算节点i相对于每一个{Ni}中的节点j的时间修正量为Offseti,j,j∈{Ni},则节
点i最终的时间修正量为:
[0040]
[0041] 例如,节点1与节点2,3,4相邻(n=3),节点1相对于节点2,3,4的时间修正量分别为Offset1,2=3ns,Offset1,3=2ns,Offset1,4=3ns,则节点1的时间修正量为Offset1=
2ns。
[0042] 在本发明的一个实施例中,还包括:定义故障等待时间阈值Fth,当节点i与其相邻节点j间通讯失效时间大于Fth时,认定节点i与节点j不再相邻,将节点j从相邻节点集合
{Ni}中移除。
[0043] 为使本领域技术人员更好地理解本发明,下面结合图1至图3对本发明实施例的方法作进一步说明。
[0044] 图1示出了本发明实施例的高精度时空同步方法的流程示意图,两个节点间发送脉冲进行同步。发送脉冲和接收脉冲使用不同的时钟频率,使得每一次同步过程中的接收
时间记录误差(接收时间真值与记录值之间的时间差)不同。这种方式等效于在传输时间上
引入一个扰动,扰动周期为发送和接收两个时钟周期的最小公倍数,可以计算出扰动量在
一个扰动周期内的均值。通过在一个扰动周期内多次同步测量取均值再补偿扰动量的方式
可以得到超越时钟分辨率精度的时间修正量。
[0045] 图2示出了一种高精度时间同步网故障处理状态机。当一个时间同步节点未在预计的时间收到相邻节点发送的同步脉冲时,其状态机由正常时间同步状态转入邻居节点监
测状态。若在设定的故障等待时间阈值内又收到了同步脉冲,判定故障已恢复,状态机回到
正常时间同步态。若在设定的故障等待时间阈值内没收到同步脉冲,判定邻居节点发生故
障,状态机进入更改邻居节点状态,更新邻居节点数据库。网管主动删除邻居节点也可以使
状态机进入更改邻居节点状态。邻居节点数据库更新完成后状态机进入时间同步初始化状
态,初始化完成后就回到正常时间同步状态,至此该节点完成了一次故障处理。
[0046] 图3示出了本发明实施例的高精度时间同步方法的实验结果。该实验基于4个节点环形拓扑,采用本发明所提到的方法进行同步,脉冲发射与接收频率分别为50MHz和52MHz。
每个节点的时钟信号输入到综合频率计中进行皮秒级的时间误差测量。同步实验结果显
示,本发明所提出的双频高精度同步方法相比传统IEEE 1588方法同步误差由9.58ns降低
到0.17ns,同步精度提高56倍以上,实现了纳秒级时间同步。
[0047] 综上,根据本发明实施例的高精度时间同步方法,可以消除多次同步结果误差的相关性,并进而通过统计平均的方法补偿引入的扰动量,降低由同步节点时钟分辨率不足
导致的同步误差,该方法较现有IEEE 1588等传统时间同步方法有明显优势,能够实现纳秒
级的时间同步精度。
[0048] 示意图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明
的实施例所属技术领域的技术人员所理解。
[0049] 在示意图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执
行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设
备而使用。
[0050] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,可用本领域公知的下列技术中的任一项或他们的
组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适
的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0051] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0052] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如
果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
[0053] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0054] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书
中描述的不同实施例或示例进行结合和组合。
[0055] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。