CN113141225A - 时间同步方法、装置、存储介质及终端 - Google Patents
时间同步方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN113141225A CN113141225A CN202010066821.0A CN202010066821A CN113141225A CN 113141225 A CN113141225 A CN 113141225A CN 202010066821 A CN202010066821 A CN 202010066821A CN 113141225 A CN113141225 A CN 113141225A
- Authority
- CN
- China
- Prior art keywords
- time
- clock value
- clock
- time synchronization
- reference node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012790 confirmation Methods 0.000 claims abstract description 15
- 230000001360 synchronised effect Effects 0.000 claims description 47
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 13
- 238000005259 measurement Methods 0.000 description 8
- 239000013078 crystal Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000005059 dormancy Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/0015—Synchronization between nodes one node acting as a reference for the others
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例涉及一种时间同步方法、装置、存储介质及终端,时间同步方法包括:根据参考节点发送时间同步数据包时所记录的时钟值以及自身接收时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;在本地定时器时间为第一时钟值时发送时间同步请求包至参考节点,以及在本地定时器时间为第四时钟值时接收参考节点的时间同步确认包,其中,时间同步确认包携带第二、第三时钟值,第二时钟值为参考节点接收到时间同步请求包时所记录的时钟值,第三时钟值为参考节点发送时间同步确认包时所记录的时钟值;根据时间漂移参数、第一、第二、第三及第四时钟值计算时间偏移量;上述方法时间同步的精度高。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种时间同步方法、装置、存储介质及终端。
背景技术
在窄带物联网通信网络技术的众多应用场景中,为了获取更多更全面的采集信息,往往会布置很多的终端节点在应用场景中,利用传感器采集信息,在终端节点与协调器进行数据通信,传输采集的信息时,如果没有规定终端节点的通信次序,通常会出现网络冲突,从而导致数据重传,造成不必要的通信开销。针对于窄带物联网通信网络网络的数据冲突问题,需要规定各个终端节点与协调器的信息传输次序,按照一定的休眠策略控制终端节点的休眠和唤醒状态,减少在同一时间网络中与协调器通信终端节点的个数,可以有效的提高网络通信质量,避免网络冲突。
随着通信系统的不断复杂,时间不同步现象越来越多,要想得到有效时间方法,就需研究时钟偏移、时钟漂移参数。目前,通信系统时间同步方法主要两类:RBS(referencesbroadcast synchronization)时间同步算法及DMTS(Delay measu rement TimeSynchronization)算法。其中,RBS时间同步算法精确度是建立在模型的精确度基础上,如果模型精确度不够,分析结果的精确度无从谈起。随着窄带物联网通信系统的扩大和智能网络的发展,己经不能适应当前通信系统的规模,当通信系统过大时,可能导致″维数灾″,一般只适合于中小规模的通信系统;DMTS算法对噪声比较敏感,这是因为DMTS是一种基于多项式的算法,先通过各种方法求得观测数据满足的多项式,然后再通过求解多项式的根来时钟漂移、时钟偏移等信息。在求取多项式系数时,噪声对参数辨识的精度影响较大。为了抑制噪声的影响,通常采用辅助的滤波、去噪等环节或者通过增加模型的阶数来实现,但增加了算法的复杂度和计算代价。因此,基于以上所述,现有技术中亟需一种不受系统规模以及噪声影响等因素影响的精度较高的时间同步方法。
发明内容
本发明实施例提供一种时间同步方法、装置、存储介质及终端,用于解决现有技术中时间同步受系统规模以及噪声影响等因素影响,造成精度低的问题。
第一方面,本发明实施例一种时间同步方法,应用于待同步节点,包括:
每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被所述参考节点发送时所记录的时钟值;
根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
在所述本地定时器时间为第一时钟值时发送时间同步请求包至所述参考节点,以及在所述本地定时器时间为第四时钟值时接收所述参考节点的时间同步确认包,其中,所述时间同步确认包携带有第二时钟值及第三时钟值,所述第二时钟值为所述参考节点接收到所述时间同步请求包时所记录的时钟值,所述第三时钟值为所述参考节点发送所述时间同步确认包时所记录的时钟值;
根据所述时间漂移参数、所述第一时钟值、所述第二时钟值、所述第三时钟值以及所述第四时钟值计算时间偏移量;
根据所述时间偏移量对所述本地定时器的时间进行修改。
可选地,所述根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数,包括:
在多个时钟值组中确定第一时钟值组,根据所述第一时钟值组计算单位时间内的初始时钟漂移量,其中,每个时钟值组由同一个时间同步数据包被所述参考节点发送时所记录的时钟值以及被所述待同步节点接收时所述本地计时器所记录的时钟值组成,每个时间同步数据包对应一个时钟值组;
在所述多个时钟值组中确定多个第二时钟值组,使用最小二乘法以及根据所述多个第二时钟值组对所述初始时钟漂移量进行修正,得到修正后的单位时间内的时钟漂移量;
根据所述修正后的单位时间内的时钟漂移量计算所述时间漂移参数。
可选地,所述在多个时钟值组中确定第一时钟值组,根据所述第一时钟值组计算单位时间内的初始时钟漂移量,包括:
将第i个时间同步数据包对应的时钟值组确定为第一时钟值组,i为大于或者等于1的自然数;
根据公式:Y=GT(i)-LT(i)计算接收第i个时间同步数据包时的时钟漂移累积量,其中,GT(i)表示所述第一时钟值组中的所述参考节点发送第i个时间同步数据包时所记录的时钟值,LT(i)为第一时钟值组中的所述待同步节点接收第i个时间同步数据包时所述本地计时器所记录的时钟值,Y表示第i个时间同步数据包时的时钟漂移累积量;
可选地,所述修正后的单位时间内的时钟漂移量的计算公式为:
其中,skew表示所述修正后的单位时间内的时钟漂移量。
可选地,所述根据所述修正后的单位时间内的时钟漂移量计算所述时间漂移参数,包括:
使用公式:计算所述时间漂移参数,其中,skewA表示参考节点对应的单位时间内的时钟漂移量,skewB为所述待同步节点对应的修正后的单位时间内的时钟漂移量,α表示所述时间漂移参数。
可选地,所述根据所述时间漂移参数、所述第一时钟值、所述第二时钟值、所述第三时钟值以及所述第四时钟值计算时间偏移量,包括:
可选地,所述根据所述时间偏移量对所述本地定时器的时间进行修改,包括:
在所述本地定时器的时间为所述第四时钟值时,将所述本地定时器的时间更改为所述第四时钟值与所述时间偏移量之和。
第二方面,本发明实施例提供了一种时间同步装置,包括:
第一接收模块,用于每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被所述参考节点发送时所记录的时钟值;
第一计算模块,用于根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
第二接收模块,用于在所述本地定时器时间为第一时钟值时发送时间同步请求包至所述参考节点,以及在所述本地定时器时间为第四时钟值时接收所述参考节点的时间同步确认包,其中,所述时间同步确认包携带有第二时钟值及第三时钟值,所述第二时钟值为所述参考节点接收到所述时间同步请求包时所记录的时钟值,所述第三时钟值为所述参考节点发送所述时间同步确认包时所记录的时钟值;
第二计算模块,用于根据所述时间漂移参数、所述第一时钟值、所述第二时钟值、所述第三时钟值以及所述第四时钟值计算时间偏移量;以及
修改模块,用于根据所述时间偏移量对所述本地定时器的时间进行修改。
第三方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述方法。
第四方面,本发明实施例提供了一种终端,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述方法。
可以理解,本发明实施例通过在DMTS(Delay measurement Time Synchronization)算法的基础上增加了TPSN(Timing-sync Protocol Sensor Networks)双向四时间戳的方法,形成了改进型的TPSN时间同步方法,在通信网络发生时间偏差时,通过本发明实施例中的时间同步方法进行时间同步,不受终端系统规模的限制以及噪声影响。同时,本发明实施例中的时间同步方法考虑了时钟漂移对传输时延以及时间偏移的影响,提高了时间同步的精确度,且算法的复杂度低,计算代价低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为现有技术中提供的节点的本地时钟生成图;
图2为本发明实施例提供的参考节点与待同步节点的交互示意图;
图3为本发明实施例提供的一种时间同步方法的流程框图;
图4为本发明实施例提供的参考节点与待同步节点的又一交互示意图;
图5本发明实施例提供的一种时间同步装置的结构框图;
图6为本发明实施例提供的一种终端的示意性框图。
具体实施方式
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参阅附图1,窄带物联网终端节点是窄带物联网通信网络的重要组成部分,每个节点都有一个晶体振荡器,每个节点内部的定时器按照晶体振荡器周期产生的计数脉冲,该计数脉冲就是节点的本地时钟,但是晶体振荡器的工作频率会随着生产工艺的不同或者外界环境因素的干扰产生不同程度的位移偏差。因此在特定的时刻t,节点i的本地时间可以由公式(1-1)表示。
其中,f0表示为晶体振荡器的固有频率,fi(t)表示为节点在特定时刻t的实际频率,t0表示为计时初始时刻,ci(t0)表示在计时初始时刻节点本地时钟的初始值。由于在短时间内外界因素变化不会太大,可以认为振荡器实际频率不变,所以节点的本地时钟又可以由公式(1-2)表示。
结合公式(1-1)和公式(1-2),可以知道,不同节点中的初始计时时刻以及晶体振荡器实际频率是有区别的,所以导致节点时钟不一致的原因有以下两点。
1.各节点的计时初始时刻不同,导致产生的时间偏移。
2.各节点的晶体振荡器频率由于外部因素如温度,电压等以及晶体振荡器使用寿命的问题,造成实际频率与固有频率不相一致,产生时钟漂移。
综上,解决时间同步的重要因素在于准确计算时间偏移以及时钟漂移。
目前,通信系统的时间同步方法主要分为如下两类:
方法一:RBS(references broadcast synchronization)时间同步算法。通信系统中的参考节点与网络中的两个待同步节点组成一个广播组,然后参考节点周期性的在广播组内发送时间同步信息,该时间同步信息内没有参考时钟的本地时间。在广播组内的两个待同步节点接收到时间同步信息后,立即记录接收时刻的本地时间,然后两个待同步节点交换本地时间,就可以计算出两个待同步节点本地时钟的差值,即是当前时刻的时间偏移量。
方法一的缺点在于:RBS时间同步算法精确度是建立在模型的精确度基础上,如果模型精确度不够,分析结果的精确度无从谈起。随着窄带物联网通信系统的扩大和智能网络的发展,己经不能适应当前通信系统的规模,当通信系统过大时,可能导致″维数灾″,一般只适合于中小规模通信系统。
方法二:DMTS(Delay measurement Time Synchronization)算法。选择参考节点作为主节点,广播带有该节点本地时间戳的时间同步消息,各个待同步节点在接收到主节点的时间同步消息后,立即提取时间同步信息中的参考时钟的时间戳,并估计从参考节点到待同步节点的时间延迟,之后设置各个节点的本地时钟为参考时钟时间戳加上估计的时间延迟。当全部节点调整完本地时钟后,就实现了全网络的时间同步。
方法二的缺点在于:DMTS是一种基于多项式的算法,先通过各种方法求得观测数据满足的多项式,然后再通过求解多项式的根来时钟漂移、时钟偏移等信息。在求取多项式系数时,噪声对参数辨识的精度影响较大。为了抑制噪声的影响,通常采用辅助的滤波、去噪等环节或者通过增加模型的阶数来实现,但增加了算法的复杂度和计算代价。
请参阅附图2,为了解决上述问题,本发明实施例提供了一种时间同步方法,可以应用于但不限于窄带物联网通信网络组网的场景中,由终端系统中的待同步节点所执行,包括:
步骤S01:每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被参考节点发送时所记录的时钟值;
步骤S02:根据参考节点发送时间同步数据包时所记录的时钟值以及自身接收时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
步骤S03:在本地定时器时间为第一时钟值时发送时间同步请求包至参考节点,以及在本地定时器时间为第四时钟值时接收参考节点的时间同步确认包,其中,时间同步确认包携带有第二时钟值及第三时钟值,第二时钟值为参考节点接收到时间同步请求包时所记录的时钟值,第三时钟值为参考节点发送时间同步确认包时所记录的时钟值;
步骤S04:根据时间漂移参数、第一时钟值、第二时钟值、第三时钟值以及第四时钟值计算时间偏移量;
步骤S05:根据时间偏移量对本地定时器的时间进行修改。
可以理解,本发明实施例通过在DMTS(Delay measurement Time Synchronization)算法的基础上增加了TPSN(Timing-sync Protocol Sensor Networks)双向四时间戳的方法,形成了改进型的TPSN时间同步方法,在通信网络发生时间偏差时,通过本发明实施例中的时间同步方法进行时间同步,不受终端系统规模的限制以及噪声影响。同时,本发明实施例中的时间同步方法考虑了时钟漂移对传输时延以及时间偏移的影响,提高了时间同步的精确度,且算法的复杂度低,计算代价低。
下面对本发明实施例提供的时间同步方法进行更为具体的介绍。
针对步骤S01:每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被参考节点发送时所记录的时钟值;
在本发明实施例中,参考节点和待同步节点可以为窄带物联网通信网络中的窄带物联网终端节点,窄带物联网终端节点是窄带物联网通信网络的重要组成部分。
需要知道的是,在进入时间同步阶段之前,需要先对终端系统进行分层,分层阶段是一个网络拓补建立的过程。首先确定根节点及等级,根节点作为全局参考节点,其等级为0级,根节点广播包含有自身等级信息的数据包,相邻节点接收到数据包之后,确定自身等级为1级,然后1级节点继续广播带有自身等级信息的数据包,以此类推,n级节点广播带有自身等级信息的数据包,其相邻节点收到后确定自身等级为n+1,直到终端系统中的所有节点都有自身的等级。一旦节点被定级,它将拒收分级数据包,同步节点从根节点开始,与其下一级节点进行成对同步,然后第n级节点与n-1级节点同步,直到每个节点都与根节点同步,其中,n为大于或者等于1的自然数。
本发明实施例中的待同步节点与参考节点可以是上述终端系统中的任意两个等级相邻的节点,其中,参考节点作为待同步节点的上一级节点,本发明实施例的目的在于:使得待同步节点实现与参考节点的时间同步。
请参阅附图3,待同步节点每隔预设周期收到来自参考节点发送的时间同步数据包,其中,预设发射周期是已知的,每个时间同步数据包携带有其被参考节点发送时所记录的时钟值(时钟戳);待同步节点每当接收到一个时间同步数据包后,就会标记收到时间同步数据包的时钟值(时钟戳),然后待同步节点可以用相邻的本地时间戳相减获得其自身的接收周期。如果没有时钟漂移的情况,参考节点的发送周期与待同步节点的接收周期在数值上应该是一样的。由于实际频率不同造成的时钟漂移,使发送周期与接收周期不一致,发送周期与接收周期的差值就是以参考节点的发送周期为单元时间待同步节点的时钟漂移值。
针对步骤S02:根据参考节点发送时间同步数据包时所记录的时钟值以及自身接收时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
在一种实现方式中,步骤S02:根据参考节点发送时间同步数据包时所记录的时钟值以及自身接收时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数,具体可以包括:
步骤S021:在多个时钟值组中确定第一时钟值组,根据第一时钟值组计算单位时间内的初始时钟漂移量,其中,每个时钟值组由同一个时间同步数据包被参考节点发送时所记录的时钟值以及被待同步节点接收时本地计时器所记录的时钟值组成,每个时间同步数据包对应一个时钟值组;
具体地,步骤S021:在多个时钟值组中确定第一时钟值组,根据第一时钟值组计算单位时间内的初始时钟漂移量,具体可以包括:
步骤S0211:将第i个时间同步数据包对应的时钟值组确定为第一时钟值组,其中,i为大于或者等于1的自然数;
具体地,继续如附图3所示,参考节点发送第i个数据包完成时刻记录的本地时间戳为GT(i),待同步节点接收第i个数据包记录的本地时间戳为LT(i),其中,设置参考节点开始时刻GT(1)和待同步节点的开始时刻LT(1)的时间戳计数值为0。第一时钟值组包括两个时间戳,即GT(i)和LT(1)。
步骤S0212:根据公式:
Y=GT(i)-LT(i) (2-1)
计算接收第i个时间同步数据包时的时钟漂移累积量,其中,GT(i)表示第一时钟值组中的参考节点发送第i个时间同步数据包时所记录的时钟值(本地时间戳),LT(i)为第一时钟值组中的待同步节点接收第i个时间同步数据包时本地计时器所记录的时钟值(本地时间戳),Y表示第i个时间同步数据包时的时钟漂移累积量;
步骤S0213根据公式:
计算单位时间内的初始时钟漂移量,其中,averskew表示单位时间内的初始时钟漂移量。
步骤S022:在多个时钟值组中确定多个第二时钟值组,使用最小二乘法公式以及根据多个第二时钟值组对初始时钟漂移量进行修正,得到修正后的单位时间内的时钟漂移量;
需要理解,步骤S0213中所测得的averskew为待同步节点选择第一时钟值组进行单次测量所得到的初始时钟漂移量,因此,为了避免单次漂移测量的不准确性,需要进行多次漂移测量,重复进行多次漂移测量后,会得到多个时钟值组(即多对相邻周期的时间戳),在理想情况下,时钟漂移量随着待同步节点的本地时钟的增加成线性增长,而在现实情况下,时钟漂移会受到各种因素的影响,时钟漂移与本地时钟之间的关系并不是严格的线性关系,不能用直线方程来表示,因此采用公式(2-3)表示时钟漂移与本地时钟的线性回归关系。
Y=a+bLT(i) (2-3)
公式(2-3)中的Y是重复进行多次进行漂移测量后所得到的多个时钟漂移累积量Y的平均值或者估计值,a是回归直线在Y轴上的截距;b为样本的回归系数,即回归直线的斜率,表示当LT(i)变动一个单位时,Y平均变动b个单位。即,待同步节点的本地时钟增加一个单位时间,就会产生b个单位的时钟漂移量。
在计算a,b时,根据最小二乘法的原理,即保证各测量时间戳的坐标到回归直线的纵向距离的平方和最小,并使计算出的回归方程能最大程度的反映出自变量本地时钟与因变量时钟漂移之间的关系。
根据最小二乘法公式(2-4),进行变换可得公式(2-5)来计算样本回归系数b,即修正后的单位时间内时钟漂移量skew。
步骤S023:根据修正后的单位时间内的时钟漂移量计算时间漂移参数;
在一种实现方式中,步骤S023:根据修正后的单位时间内的时钟漂移量计算时间漂移参数,可以包括:
使用公式:
计算时间漂移参数,其中,skewA表示参考节点对应的单位时间内的时钟漂移量,skewB为待同步节点对应的修正后的单位时间内的时钟漂移量,α表示时间漂移参数。
其中,skewB为待同步节点对应的单位时间内的时钟漂移量,在本发明实施例中,参考节点由于是待同步节点的上一级节点,因此,参考节点的skewB为0。
针对步骤S03:在本地定时器时间为第一时钟值时发送时间同步请求包至参考节点,以及在本地定时器时间为第四时钟值时接收参考节点的时间同步确认包,其中,时间同步确认包携带有第二时钟值及第三时钟值,第二时钟值为参考节点接收到时间同步请求包时所记录的时钟值,第三时钟值为参考节点发送时间同步确认包时所记录的时钟值;
请参阅附图4,在本发明实施例中,待同步节点得到相对于参考节点的漂移参数后,进入时间偏移的计算阶段,包括以下流程:
待同步节点B向参考节点A发送时间同步请求包并用其本地定时器记录当前的本地时间T1(即第一时钟值),参考节点A收到时间同步请求包时也用其本地定时器记录本地时间T2(即第二时钟值),并立刻向待同步节点B返回一个时间同步确认包,并在该时间同步确认包中写入T2(即第二时钟值)和该时间同步确认包的发送时刻T3(即第三时钟值),待同步节点B收到时间同步确认包后记录本地时间T4(即第四时钟值)。
针对步骤S04:根据时间漂移参数、第一时钟值、第二时钟值、第三时钟值以及第四时钟值计算时间偏移量;
继续如附图4所示,基于双向报文互换传输的对称性,待同步节点B发送时间同步请求包的传输时延与参考节点A发送时间同步确认包的传输时延d相等。当待同步节点B的本地定时器时钟值为T1时,参考节点A与待同步节点B之间的时间偏移为Δ,其中,Δ可以大于0,也可以小于获得等于0,假设参考节点A比待同步节点B的时间快,即Δ>0,则根据四个时间戳与时间偏移Δ传输时延d可得方程(2-7)、(2-8)。
T2=T1+Δ+d (2-7)
T4=T3-Δ+d (2-8)
现有技术中,在不考虑时间漂移的情况下,联立(2-7)、(2-8)两式解方程组,得到参考节点A与待同步节点B的时间偏移Δ,以及传输时延d。
由于外部因素如温度,电压等以及振荡器使用寿命的问题,造成实际频率与固有频率不相一致,因此,不同的节点之间会产生时钟漂移,为了增加时间同步的精确度,本发明实施例构建了引入时间漂移的时间同步策略,具体如下:
在一种实现方式中,步骤S04:根据时间漂移参数、第一时钟值、第二时钟值、第三时钟值以及第四时钟值计算时间偏移量,具体可以包括:
使用公式:
计算时间偏移量,其中,α表示时间漂移参数,Δ表示时间偏移量,T1表示第一时钟值,T2表示第二时钟值,T3表示第三时钟值,T4表示第四时钟值。
其中,公式(2-9)可以进行如下变换:
其中,公式(2-10)可以进行如下变换:
引进时间漂移参数α,即可得到上文的(2-11)和如下的(2-14):
可以理解,本发明实施例通过最小二乘法测量得到精准的时间漂移量,再根据时间漂移量确定时间漂移参数,进而根据时间漂移参数及双向的四个时间戳确定时间偏移量以及传输时延,因此,本发明实施例提供的时间同步方法不受终端系统规模的限制以及噪声影响。同时,本发明实施例中的时间同步方法考虑了时钟漂移对传输时延以及时间偏移的影响,提高了时间同步的精确度。
针对步骤S05:根据时间偏移量对本地定时器的时间进行修改。
在一种实现方式中,步骤S05:根据时间偏移量对本地定时器的时间进行修改,可以包括:
步骤S051:在本地定时器的时间为第四时钟值时,将本地定时器的时间更改为第四时钟值与时间偏移量之和。其中,由于在第四时钟值时需要对时间偏移量Δ进行计算,因此会出现在时间同步时会出现一些时间偏差t,通常情况下,时间偏差t可以忽略不计。
请参阅附图5,图5本发明实施例提供的一种时间同步装置的结构框图,本发明实施例还提供一种时间同步装置100,包括:
第一接收模块11,用于每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被参考节点发送时所记录的时钟值;
第一计算模块12,用于根据参考节点发送时间同步数据包时所记录的时钟值以及自身接收时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
第二接收模块13,用于在本地定时器时间为第一时钟值时发送时间同步请求包至参考节点,以及在本地定时器时间为第四时钟值时接收参考节点的时间同步确认包,其中,时间同步确认包携带有第二时钟值及第三时钟值,第二时钟值为参考节点接收到时间同步请求包时所记录的时钟值,第三时钟值为参考节点发送时间同步确认包时所记录的时钟值;
第二计算模块14,用于根据时间漂移参数、第一时钟值、第二时钟值、第三时钟值以及第四时钟值计算时间偏移量;以及
修改模块15,用于根据时间偏移量对本地定时器的时间进行修改。
可选地,第一计算模块12包括:
第一计算单元,用于在多个时钟值组中确定第一时钟值组,根据第一时钟值组计算单位时间内的初始时钟漂移量,其中,每个时钟值组由同一个时间同步数据包被参考节点发送时所记录的时钟值以及被待同步节点接收时本地计时器所记录的时钟值组成,每个时间同步数据包对应一个时钟值组;
修正单元,用于在多个时钟值组中确定多个第二时钟值组,使用最小二乘法以及根据多个第二时钟值组对初始时钟漂移量进行修正,得到修正后的单位时间内的时钟漂移量;以及
第二计算单元,用于根据修正后的单位时间内的时钟漂移量计算时间漂移参数。
可选地,第一计算单元具体用于执行以下步骤:
将第i个时间同步数据包对应的时钟值组确定为第一时钟值组,i为大于或者等于1的自然数;
根据公式:Y=GT(i)-LT(i)计算接收第i个时间同步数据包时的时钟漂移累积量,其中,GT(i)表示第一时钟值组中的参考节点发送第i个时间同步数据包时所记录的时钟值,LT(i)为第一时钟值组中的待同步节点接收第i个时间同步数据包时本地计时器所记录的时钟值,Y表示第i个时间同步数据包时的时钟漂移累积量;
可选地,修正后的单位时间内的时钟漂移量的计算公式为:
其中,skew表示修正后的单位时间内的时钟漂移量。
可选地,第二计算单元具体用于执行以下步骤:
使用公式:计算时间漂移参数,其中,skewA表示参考节点对应的单位时间内的时钟漂移量,skewB为待同步节点对应的修正后的单位时间内的时钟漂移量,α表示时间漂移参数。
可选地,第二计算模块14具体用于执行以下步骤:
可选地,修改模块15具体用于执行以下步骤:
在本地定时器的时间为第四时钟值时,将本地定时器的时间更改为第四时钟值与时间偏移量之和。
本发明实施例还提供一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明任一实施例中的时间同步方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中终端中各模块/单元的功能,为避免重复,此处不一一赘述。
请参阅附图6,本发明实施例提供了一种终端50,该实施例的终端50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的程序53,该程序53被处理器51执行时实现实施例中的时间同步方法,为避免重复,此处不一一赘述。
终端50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端50可包括但不仅限于处理器51、存储器52。本领域技术人员可以理解,图6仅仅是终端50的示例,并不构成对终端50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是终端50的内部存储单元,例如终端50的硬盘或内存。存储器52也可以是终端50的外部存储设备,例如终端50上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器52还可以既包括终端50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及电子设备所需的其它程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括如果干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种时间同步方法,应用于待同步节点,其特征在于,包括:
每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被所述参考节点发送时所记录的时钟值;
根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
在所述本地定时器时间为第一时钟值时发送时间同步请求包至所述参考节点,以及在所述本地定时器时间为第四时钟值时接收所述参考节点的时间同步确认包,其中,所述时间同步确认包携带有第二时钟值及第三时钟值,所述第二时钟值为所述参考节点接收到所述时间同步请求包时所记录的时钟值,所述第三时钟值为所述参考节点发送所述时间同步确认包时所记录的时钟值;
根据所述时间漂移参数、所述第一时钟值、所述第二时钟值、所述第三时钟值以及所述第四时钟值计算时间偏移量;
根据所述时间偏移量对所述本地定时器的时间进行修改。
2.根据权利要求1所述的时间同步方法,其特征在于,所述根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数,包括:
在多个时钟值组中确定第一时钟值组,根据所述第一时钟值组计算单位时间内的初始时钟漂移量,其中,每个时钟值组由同一个时间同步数据包被所述参考节点发送时所记录的时钟值以及被所述待同步节点接收时所述本地计时器所记录的时钟值组成,每个时间同步数据包对应一个时钟值组;
在所述多个时钟值组中确定多个第二时钟值组,使用最小二乘法以及根据所述多个第二时钟值组对所述初始时钟漂移量进行修正,得到修正后的单位时间内的时钟漂移量;
根据所述修正后的单位时间内的时钟漂移量计算所述时间漂移参数。
3.根据权利要求2所述的时间同步方法,其特征在于,所述在多个时钟值组中确定第一时钟值组,根据所述第一时钟值组计算单位时间内的初始时钟漂移量,包括:
将第i个时间同步数据包对应的时钟值组确定为第一时钟值组,i为大于或者等于1的自然数;
根据公式:Y=GT(i)-LT(i)计算接收第i个时间同步数据包时的时钟漂移累积量,其中,GT(i)表示所述第一时钟值组中的所述参考节点发送第i个时间同步数据包时所记录的时钟值,LT(i)为第一时钟值组中的所述待同步节点接收第i个时间同步数据包时所述本地计时器所记录的时钟值,Y表示第i个时间同步数据包时的时钟漂移累积量;
7.根据权利要求1任一项所述的时间同步方法,其特征在于,所述根据所述时间偏移量对所述本地定时器的时间进行修改,包括:
在所述本地定时器的时间为所述第四时钟值时,将所述本地定时器的时间更改为所述第四时钟值与所述时间偏移量之和。
8.一种时间同步装置,其特征在于,包括:
第一接收模块,用于每隔预设周期接收一次参考节点发送的时间同步数据包,其中,每个时间同步数据包携带有其被所述参考节点发送时所记录的时钟值;
第一计算模块,用于根据所述参考节点发送所述时间同步数据包时所记录的时钟值以及自身接收所述时间同步数据包时本地计时器所记录的时钟值计算时间漂移参数;
第二接收模块,用于在所述本地定时器时间为第一时钟值时发送时间同步请求包至所述参考节点,以及在所述本地定时器时间为第四时钟值时接收所述参考节点的时间同步确认包,其中,所述时间同步确认包携带有第二时钟值及第三时钟值,所述第二时钟值为所述参考节点接收到所述时间同步请求包时所记录的时钟值,所述第三时钟值为所述参考节点发送所述时间同步确认包时所记录的时钟值;
第二计算模块,用于根据所述时间漂移参数、所述第一时钟值、所述第二时钟值、所述第三时钟值以及所述第四时钟值计算时间偏移量;以及
修改模块,用于根据所述时间偏移量对所述本地定时器的时间进行修改。
9.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行1至7任意一项所述的方法。
10.一种终端,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于:所述程序指令被处理器加载并执行时实现权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066821.0A CN113141225A (zh) | 2020-01-20 | 2020-01-20 | 时间同步方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066821.0A CN113141225A (zh) | 2020-01-20 | 2020-01-20 | 时间同步方法、装置、存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113141225A true CN113141225A (zh) | 2021-07-20 |
Family
ID=76809791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010066821.0A Pending CN113141225A (zh) | 2020-01-20 | 2020-01-20 | 时间同步方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141225A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114430308A (zh) * | 2021-12-09 | 2022-05-03 | 西安昆仑工业(集团)有限责任公司 | 一种软件定时发送时间漂移导致时序偶发错位纠错方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100157975A1 (en) * | 2008-12-18 | 2010-06-24 | Samsung Electronics Co., Ltd. | Method and system for performing time synchronization between nodes in wireless communication system |
EP2341650A1 (en) * | 2010-01-05 | 2011-07-06 | Alcatel Lucent | Transfer of a synchronization message through a packet radio network |
US20140056318A1 (en) * | 2012-08-24 | 2014-02-27 | Accedian Networks Inc. | System for establishing and maintaining a clock reference indicating one-way latency in a data network |
CN104837197A (zh) * | 2015-04-14 | 2015-08-12 | 中山大学 | 一种无线传感网络双向时间同步方法 |
CN108668356A (zh) * | 2018-04-19 | 2018-10-16 | 厦门大学 | 一种水下传感器时间同步方法 |
CN109936519A (zh) * | 2019-01-18 | 2019-06-25 | 重庆邮电大学 | 基于定时响应的工业无线传感网时钟频率偏移估计方法 |
-
2020
- 2020-01-20 CN CN202010066821.0A patent/CN113141225A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100157975A1 (en) * | 2008-12-18 | 2010-06-24 | Samsung Electronics Co., Ltd. | Method and system for performing time synchronization between nodes in wireless communication system |
EP2341650A1 (en) * | 2010-01-05 | 2011-07-06 | Alcatel Lucent | Transfer of a synchronization message through a packet radio network |
US20140056318A1 (en) * | 2012-08-24 | 2014-02-27 | Accedian Networks Inc. | System for establishing and maintaining a clock reference indicating one-way latency in a data network |
CN104837197A (zh) * | 2015-04-14 | 2015-08-12 | 中山大学 | 一种无线传感网络双向时间同步方法 |
CN108668356A (zh) * | 2018-04-19 | 2018-10-16 | 厦门大学 | 一种水下传感器时间同步方法 |
CN109936519A (zh) * | 2019-01-18 | 2019-06-25 | 重庆邮电大学 | 基于定时响应的工业无线传感网时钟频率偏移估计方法 |
Non-Patent Citations (1)
Title |
---|
鲍万昌: ""基于Z-Stack协议栈休眠策略的设计与实现"", 《CNKI硕士论文》, 15 November 2017 (2017-11-15), pages 1 - 42 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114430308A (zh) * | 2021-12-09 | 2022-05-03 | 西安昆仑工业(集团)有限责任公司 | 一种软件定时发送时间漂移导致时序偶发错位纠错方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3584780B1 (en) | Sensing system and time stamp correction method | |
CN109683130B (zh) | 定位方法、装置、存储介质及处理器 | |
JP6546357B2 (ja) | センシングシステム及び時刻同期方法 | |
EP3284217B1 (en) | Methods, systems, and computer readable medium for synchronizing timing among network interface cards (nics) in a network equipment test device | |
US9671822B2 (en) | Method and devices for time transfer using end-to-end transparent clocks | |
US6157957A (en) | Clock synchronization system and method using a continuous conversion function for a communication network | |
US7379480B2 (en) | Fast frequency adjustment method for synchronizing network clocks | |
US8370675B2 (en) | Precise clock synchronization | |
US8700805B2 (en) | Method for synchronizing clocks in a communication network | |
US8467487B2 (en) | Network synchronization method and apparatus for performing time synchronization between nodes | |
CN108075851B (zh) | 用于同步时钟的设备和方法 | |
WO2021026023A1 (en) | Systems for timestamping events on edge devices | |
US11303376B2 (en) | Information processing apparatus and time synchronization method | |
EP2599247B1 (en) | Method and device for processing data on a connection between two nodes of a communication network | |
EP3231110B1 (en) | Method and devices for time transfer using end to end transparent clocks | |
CN113141225A (zh) | 时间同步方法、装置、存储介质及终端 | |
EP2627040B1 (en) | Method for eliminating systematical error components in a set of one-way delay measurement results for communications between two or more computing systems in a communication network, apparatus for performing the method and computer program product | |
Lv et al. | Simulation and performance analysis of the ieee1588 ptp with kalman filtering in multi-hop wireless sensor networks | |
CN115694704A (zh) | 一种时间同步方法、装置、设备及存储介质 | |
CN101867431A (zh) | 一种网络时钟同步方法 | |
CN114885414A (zh) | 一种增加时间同步精度的算法 | |
Sun et al. | Clock synchronization based on non-parametric estimation considering dynamic delay asymmetry | |
CN114375552B (zh) | 在基于以太网的网络中进行时间同步的方法 | |
Chen et al. | A Fast Clock Synchronization Method for Wireless Sensor Networks Based on Grey Prediction. | |
CN113132041B (zh) | 一种数据传输延时的计算方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210720 |
|
RJ01 | Rejection of invention patent application after publication |