具有时间差检测功能的MESH网络同步的方法转让专利

申请号 : CN202010303928.2

文献号 : CN111867042B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高小玲

申请人 : 北京云联慧通科技有限公司

摘要 :

本申请提供一种具有时间差检测功能的MESH网络同步方法,属于无线网络技术领域。该方法包括:网络节点之间建立一个以源节点为中心,其他节点以距离源节点跳数为等级的网络层次。每个节点都将一个等级比自身等级低的节点作为主节点,并向该主节点同步。同步过程分为初始同步过程、时间差检测过程和重新同步过程。节点开机时通过同步报文的双向交互机制完成向主节点的初始同步,在之后的周期中该节点通过时间差检测过程计算自身与主节点的时间差,当时间差达到阈值时自动向主节点重新同步。采用关虚拟开环同步方式进行重新同步,避免节点之间重新产生时延误差。该方法与FTSP同步协议和TPSN同步协议进行对比仿真,在同步精度和同步开销上都有更好的性能。

权利要求 :

1.一种具有时间差检测功能的MESH网络同步方法,是基于多跳MESH网络的同步方法,包括如下步骤:

网络节点之间建立一个以源节点为中心,其他节点以距离源节点跳数为等级的网络层次;

在所述网络层次中,每个节点都会将一个等级比自身等级低的节点作为主节点,并向该主节点同步,同步过程分为初始同步过程、时间差检测过程和重新同步过程;

每个节点开机时通过同步报文的双向交互机制完成向主节点的初始同步,针对每个节点的初始同步过程包括开环同步和闭环同步,先开环同步再闭环同步,当前节点为等级较高节点,当前节点接收来自等级较低的主节点发送的同步报文,该同步报文携带有以下信息:发送同步报文的主节点的本地时间;该等级较高节点将自身的本地时间调整为该主节点的本地时间,完成开环同步;在开环同步之后该等级较高节点立刻向主节点发送一个需要进行时间修正计算的回复报文,该回复报文携带有以下信息:发送回复报文时的本地时间;该等级较高节点接收来自主节点发送的反馈报文,该反馈报文中携带有以下信息:时间修正值;该等级较高节点根据该时间修正值来调整本地时间,以消除报文的传递时延,完成闭环同步;

在之后的周期中每个节点通过时间差检测过程计算自身与主节点的时间差,当时间差达到阈值时自动向主节点重新同步;在时间差检测过程中,当前节点向主节点进行初始同步后,如果再次收到主节点的同步报文,则利用同步报文中的主节点的本地时间、初始同步过程中所计算的时间修正值以及收到该同步报文时的本地时间计算主节点相对于当前节点的时钟漂移误差值;如果时钟漂移误差值大于时间差阈值则当前节点重新向主节点进行同步,否则不重新同步;

重新同步过程中通过关虚拟开环同步方式,针对每个节点,在当前节点收到主节点的同步报文并判断出要重新向主节点同步时,该当前节点不再向主节点开环同步,而是记录下主节点同步报文中时间值与收到该报文时本地时间之间的差值,并将发送回复报文的本地时间与上述差值进行作差,得到的值用于模拟节点在进行开环同步的情况下发送回复报文时的本地时间。

2.根据权利要求1所述的方法,其特征在于,在网络未建立时预先确定一个用于同步的源节点,使所有节点都用于向所述源节点同步。

3.根据权利要求1或2所述的方法,其特征在于,采用竞争方式选取源节点,规定邻域范围内最先开机的节点成为主节点;其中,每个节点开机后都处于侦听状态,并且开启一个定时器,每过一个周期的时间,节点内部的周期数变量加1;当周期数变量的计数为6时,如果当前节点仍未收到其他节点发送的同步报文,则该当前节点成为源节点。

4.根据权利要求1所述的方法,其特征在于,所述同步报文还携带有以下信息:所述发送节点的周期数变量值,当源节点开机后,如果该源节点的一跳范围内有节点开机,则一跳邻节点会在自身周期数变量值更新到6之前收到源节点的同步报文,该一跳邻节点利用同步报文中的周期数变量值比较自身周期数变量值;

如果同步报文中的周期数变量值大于该一跳邻节点的节点内部周期数变量值,则该一跳邻节点要将同步报文的发送节点作为主节点。

5.根据权利要求3所述的方法,其特征在于,所述同步报文还携带有以下信息:所述发送节点的周期数变量值,当源节点开机后,如果该源节点的一跳范围内有节点开机,则一跳邻节点会在自身周期数变量值更新到6之前收到源节点的同步报文,该一跳邻节点利用同步报文的周期数变量值比较自身周期数变量值;

如果同步报文中的周期数变量值大于该一跳邻节点的节点内部周期数变量值,则该一跳邻节点要将同步报文的发送节点作为主节点。

6.根据权利要求1、2、4或5中任一项所述的方法,其特征在于,除了源节点外,其他节点入网后在每个周期都要将一个节点确定为自身的主节点,以确保每个周期都能向该主节点进行同步或检测自身和该主节点的时间差。

7.根据权利要求3所述的方法,其特征在于,除了源节点外,其他节点入网后在每个周期都要将一个节点确定为自身的主节点,以确保每个周期都能向该主节点进行同步或检测自身和该主节点的时间差。

8.根据权利要求1、2、4、5或7中任一项所述的方法,其特征在于,节点开机确定主节点时,会将自身周期数变量值更新到与接收到的同步报文来自的主节点的周期数相同;为保证在之后的周期中节点仍可以确定主节点,任何节点开机后如果未成为源节点,则自身的周期数变量不再记录自身的周期数,而只记录同步报文来自的主节点的周期数。

9.根据权利要求3所述的方法,其特征在于,节点开机确定主节点时,会将自身周期数变量值更新到与接收到的同步报文来自的主节点的周期数相同;为保证在之后的周期中节点仍可以确定主节点,任何节点开机后如果未成为源节点,则自身的周期数变量不再记录自身的周期数,而只记录同步报文来自的主节点的周期数。

10.根据权利要求6所述的方法,其特征在于,节点开机确定主节点时,会将自身周期数变量值更新到与接收到的同步报文来自的主节点的周期数相同;为保证在之后的周期中节点仍可以确定主节点,任何节点开机后如果未成为源节点,则自身的周期数变量不再记录自身的周期数,而只记录同步报文来自的主节点的周期数。

11.根据权利要求1所述的方法,其特征在于,每个节点在每个周期还利用所计算的时钟漂移误差值拟合时钟漂移误差曲线,以对时钟漂移值进行补偿。

12.根据权利要求1、2、4、5、7或9‑11中任一项所述的方法,其特征在于,每个节点在每个周期都要确定唯一一个节点作为自身的主节点,当节点发现主节点发生改变时需要向新的主节点重新同步;初始同步后节点所计算的时钟漂移差值超过时间差阈值时也进行重新同步。

13.根据权利要求3所述的方法,其特征在于,每个节点在每个周期都要确定唯一一个节点作为自身的主节点,当节点发现主节点发生改变时需要向新的主节点重新同步;初始同步后节点所计算的时钟漂移差值超过时间差阈值时也进行重新同步。

14.根据权利要求6所述的方法,其特征在于,每个节点在每个周期都要确定唯一一个节点作为自身的主节点,当节点发现主节点发生改变时需要向新的主节点重新同步;初始同步后节点所计算的时钟漂移差值超过时间差阈值时也进行重新同步。

15.根据权利要求8所述的方法,其特征在于,每个节点在每个周期都要确定唯一一个节点作为自身的主节点,当节点发现主节点发生改变时需要向新的主节点重新同步;初始同步后节点所计算的时钟漂移差值超过时间差阈值时也进行重新同步。

说明书 :

具有时间差检测功能的MESH网络同步的方法

技术领域

[0001] 本申请涉及无线网络技术领域,具体而言,涉及一种具有时间差检测功能的MESH网络同步的方法。

背景技术

[0002] 无线MESH网络是一种由多种类型节点组成的具有多跳性、自组织性和自管理性的无中心分布式网络,其传输带宽高、传输距离远、网络自组织、自愈能力强、易于快速部署安装和维护简单等优势十分适合于地理环境复杂和偏僻无通信基础设施的环境中使用,为语音、图片、视频等综合业务传输提供可靠、有效、安全的保障手段。作为分布式网络,无线MESH节点之间需要保持严格的时间同步。目前常用的同步技术通过外部同步系统(如 GPS、北斗等)授时,这种同步方式的精度高、同步速度快,但在外部环境复杂甚至战时卫星遭受破坏时无法适用,因此无线MESH网络中内部各节点之间需要能够进行分布式同步。
[0003] 分布式同步方式中,主从式同步方式因其具有同步收敛速度快的特点而被广泛研究。典型的主从式时间同步协议包括TPSN协议和FTSP协议。 FTSP协议相比TPSN协议可以降低同步次数,减少因同步而带来的开销。但 FTSP协议中,节点所收集到的时间信息均经历了传输时延,但协议本身并未考虑时延误差。另外,两种协议在重新同步方面都只是设置了固定的重新同步周期,但在外界环境随机变化时,固定的重新同步周期无法及时适应节点之间的同步误差。

发明内容

[0004] 本申请的目的在于提供一种能够检测出节点之间同步误差的时间同步方法。所述方法基于主从同步方式,节点之间在初始同步时通过类似于NTP 的双向交互快速完成同步,并在之后的时间内通过同步误差检测过程实时检测节点之间的同步误差,直至误差值达到阈值后再重新同步。所述方法实现包括以下步骤:
[0005] 建立主从式同步层次,对于多跳的MESH网络,为了实现所有节点向同一个节点同步,需建立一个以源节点为中心、其他节点以距离源节点跳数为等级的层次,通过等级较高节点向等级较低节点同步,最终实现所有节点向等级最低的源节点同步。
[0006] 在网络未建立时首先需要确定一个同步源节点,使所有节点都向其同步。所述方法采用竞争方式选取源节点,规定邻域范围内最先开机的节点成为主节点。
[0007] 源节点开机后,如果其一跳范围内有节点开机,则一跳邻节点会在自身周期数变量更新到6之前收到源节点的同步报文。一跳邻节点利用同步报文的周期数变量比较自身周期数变量值。
[0008] 所述方法中如果同步报文中周期数变量值大于节点内部周期数变量值,则节点要将同步报文的发送节点作为主节点。通过等级较高节点将等级较低节点确定为主节点的方式,实现了等级较高节点向等级较低节点进行初始同步,最终所有节点都向等级最低的源节点同步。
[0009] 所述方法中除了源节点外,其他节点入网后在每个周期都要将一个节点确定为自身的主节点,从而确保每个周期都可以向该主节点进行同步或检测自身和该主节点的时间差。
[0010] 所述方法中节点开机确定主节点时,会将自身周期数变量更新到与主节点的周期数相同。所以为保证在之后的周期中节点仍可以确定主节点,任何节点开机后如果未成为源节点,则自身的周期数变量不再记录自身的周期数,而只记录主节点的周期数。
[0011] 根据所述方法中建立网络源节点后,进行初始同步,步骤如下:
[0012] 初始同步的过程包括开环同步和闭环同步,同步过程是先开环同步再闭环同步。但由于等级较低节点的同步报文被等级较高节点收到时会经历传递时延,所以等级较高节点开环同步后仍与源节点相差时间,需要进行时间修正,因此等级较高节点需要立刻发送一个回复报文。
[0013] 等级较低节点收到等级较高节点的回复报文时,该回复报文也经历了传递时延。当等级较高节点收到等级较低节点的反馈报文后即可根据计算的修正时间调整本地时间,从而消除报文的传递时延,完成闭环同步。
[0014] 根据所述方法中由于不同节点的时钟漂移值不同,因此初始同步之后节点之间仍会因时钟漂移而产生时间差,这种时间差会随着时间的推移而积累变大,因此需要适时进行重新同步。即一种时间差检测过程,节点之间可以根据彼此的时间差自动进行同步。
[0015] 根据所述方法的时间差检测过程如下:节点向主节点进行初始同步后,如果再次收到主节点的同步报文,则利用同步报文中的时间、初始同步过程中所计算的修正值以及收到该同步报文时的本地时间计算主节点相对于自身的时钟漂移误差值。如果时钟漂移误差值大于时间差阈值则节点重新向主节点进行同步,否则不重新同步。时间差阈值可以根据节点之间可允许的最大时间偏差进行可变设置,从而实现节点之间时间差的可控性。
[0016] 根据所述方法的节点在每个周期还可以利用所计算的时钟漂移误差值拟合时钟漂移误差曲线,从而对时钟漂移值进行补偿,所述方法采用最小二乘法拟合时钟漂移误差曲线。通过补偿,可以降低节点和主节点之间时钟漂移误差的增长速度,延长了重新同步的时间,减少了重新同步的次数。
[0017] 根据所述方法的重新同步过程,如果节点按照初始同步过程先开环同步,则又会和主节点产生时延误差,因此采用一种虚拟开环同步策略:当节点收到主节点的同步报文并判断出要重新向主节点同步时,该节点不再向主节点开环同步,而是记录下主节点同步报文中时间值与收到该报文时本地时间之间的差值,根据报文发送时间模拟节点在进行开环同步的情况下发送回复报文时的本地时间。

附图说明

[0018] 为了更清楚地说明本申请方法的技术方案,下面将对本申请方法中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0019] 图1为本申请方法中节点收到报文时的处理流程。
[0020] 图2为本申请方法使用的同步报文格式。
[0021] 图3为本申请方法的初始同步过程示意图。
[0022] 图4为本申请方法使用的回复报文格式。
[0023] 图5为本申请方法使用的反馈报文格式。
[0024] 图6为本申请方法的时间差检测过程示意图。
[0025] 图7为本申请方法的重新同步过程示意图。
[0026] 图8为本申请方法的采用的仿真测试的拓扑图。
[0027] 图9为本申请方法的和TPSN协议两种节点的同步次数统计图。
[0028] 图10为本申请方法的和FTSP协议进行同步精度和同步收敛速度的对比图。
[0029] 图11为本申请方法中节点相对于低等级节点的时间差图。

具体实施方式

[0030] 下面将结合本申请方法中附图,对本申请方法中的技术方案进行清楚、完整地描述,显然,所描述的方法过程仅仅是本申请一部分过程,而不是全部的过程。因此,以下对在附图中提供的本申请的具体实施的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定过程。基于本申请的实施过程,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他方法,都属于本申请保护的范围。
[0031] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0032] 请参照图1,图1是本申请方法中,节点收到报文时的处理流程。节点在收到报文时首先判断报文类型,报文类型包括同步报文,回复报文和反馈报文。当判断为同步报文时,则根据周期数量值判断是否有主节点,有主节点则将同步报文的发送节点作为自身的主节点,并判断该主节点是否为新主节点,是新主节点则重新同步,不是新主节点则进行同步误差检测后结束。当判断自身无主节点时,则将同步报文的发送节点作为自身的主节点,并进行初始同步过程的开环同步后结束。当判断为回复报文时,则判断自身的ID与M‑ID字段是否相等,不等则直接结束,相等则判断MC字段是否为1,为1则计算修正值,并发送反馈报文后结束,若MC字段不为 1,则直接结束。当判断为反馈报文时,则先判断Ack‑ID字段是否等于自身的ID值,若否,则直接结束,若是,则进行初始同步过程的闭环同步。
[0033] 请参照图2,图2为本申请方法中所使用的同步报文格式。在网络未建立时首先需要确定一个同步源节点,使所有节点都向其同步。本方法采用竞争方式选取源节点,规定邻域范围内最先开机的节点成为主节点,竞争方式如下:
[0034] 每个节点开机后都处于侦听状态,并且开启一个定时器,每过一个周期的时间,节点内部的周期数变量cycle‑num加1。当cycle‑num计数为6 时如果节点仍未收到其他节点发送的同步报文,则该节点成为源节点。源节点周期性发送同步报文,发送周期为T,其中Cycle‑Num字段填入周期数变量cycle‑num的值、ID和M‑ID字段均填入本节点的ID、Grade字段填入 0表示自身等级为0、Time字段则填入发送同步报文时的本地时间。
[0035] 源节点开机后,如果其一跳范围内有节点开机,则一跳邻节点会在自身周期数变量cycle‑num更新到6之前收到源节点的同步报文。一跳邻节点利用同步报文的Cycle‑Num比较自身cycle‑num值。如果同步报文中 Cycle‑Num值大于节点内部cycle‑num值,则节点要将同步报文的发送节点作为主节点。因此一跳邻节点将源节点确定为主节点,并将自身等级设为1、 cycle‑num更新为Cycle‑Num值。然后该1级节点向主节点初始同步。
[0036] 1级节点也周期性发送同步报文,距离源节点2跳的节点开机后也会在自身周期数变量cycle‑num更新到6之前收到1级节点的同步报文,并通过比较报文中Cycle‑Num值和自身cycle‑num值来将1级节点确定为自身的主节点。由于2跳节点刚开机所以一定将1级节点确定为主节点,因此2 跳节点的等级为2且cycle‑num更新为Cycle‑Num字段值,并且2跳节点向1级节点进行初始同步。
[0037] 完成初始同步后2级节点也周期性发送同步报文,以此类推,通过这种n+1级节点将n级节点确定为主节点的方式,实现了n+1级节点向n级节点进行初始同步,最终所有节点都向等级最低的源节点同步。
[0038] 方法中除了源节点外,其他节点入网后在每个周期都要将一个节点确定为自身的主节点,从而确保每个周期都可以向该主节点进行同步或检测自身和该主节点的时间差。但由于节点开机确定主节点时,会将自身周期数变量cycle‑num更新到与主节点的周期数相同。所以为保证在之后的周期中节点仍可以确定主节点,任何节点开机后如果未成为源节点,则自身的周期数变量cycle‑num不再记录自身的周期数,而只记录主节点的周期数。
假设节点A为源节点,当节点A在周期数达到10时假设节点B开机,则节点B收到节点A的同步报文后将节点A确定为自身的主节点,并将自身周期数变量cycle‑num更新为10。当节点A在周期数达到11时发送同步报文,节点B收到该报文时,由于自身周期数变量cycle‑num不变仍为10,所以仍将节点A确定为主节点。
[0039] 请参考图3,图3为本方法的初始同步过程示意图,该过程以1级节点向源节点初始同步为例进行介绍,假设源节点在本地时间t0时刻发送同步报文,1级节点收到该同步报文后将本地时间调整为Time字段的值,即t0时刻,从而完成开环同步。但由于源节点的同步报文被1级节点收到时会经历传递时延Δk0,所以1级节点开环同步后仍与源节点相差时间,需要进行时间修正,因此1级节点需要立刻发送一个同复报文。
[0040] 请参考图4,图4为本方法中回复报文格式,由于1级节点将源节点确定为自身的主节点,所以M‑ID字段填入源节点的ID。NC字段填入1表示此时需要主节点进行时间修正计算。Time字段填入发送回复报文时的本地时间,假设为t1。
[0041] 源节点收到1级节点的回复报文时,该回复报文也经历了传递时延Δk1。源节点记录下收到回复报文时的本地时间tb,并解析字段,如果判断出M‑ID 等于自身ID值且NC字段等于1,则通过式(1)计算时间修正值Δof,其中t1为1级节点回复报文中Time值。由于报文从1级节点传递到源节点的时延Δk1在较短时间间隔内近似等于报文从源节点传递到1级节点的时延Δk0,所以可以计算出值。然后源节点也立刻发送反馈报文。
[0042]
[0043] 请参考图5,图5为本方法的反馈报文格式,其中Offset字段填入所计算的Δof值,Ack‑ID字段填入1级节点的ID表明该报文的目的地址。
[0044] 当1级节点收到源节点的反馈报文后即可根据Offset调整本地时间,从而消除报文的传递时延,完成闭环同步。随后1级节点退避SIFS时间后也周期性发送同步报文,从而使2级节点进行初始同步,同步过程也是先开环同步再闭环同步。
[0045] 请参考图6,图6为本方法中的时间差检测过程示意图,源节点在本地时间t0发送同步报文,1级节点收到后进行开环同步将时间调整为t0,但此时1级节点和源节点的时间差除了传输时延Δk0外,还有这段时间内源节点相对于1级节点的时钟漂移差Δs(Δk0)。假设1级节点在本地时间t2时刻发送回复报文,这样源节点与1级节点之间的时间差又增加了从t0到t2这段时间内的时钟漂移误差Δs(t0,t2)。回复报文被源节点收到时,又经历了1级节点到主节点的传输时延Δk0′以及这段时间内主节点的时钟漂移差值Δs(Δk0′),这样按照式(1)计算出的修正值Δof1为式(2),式中Δk0和Δk0′在短时内可视为相同。
[0046]
[0047] 然后源节点发送反馈报文,假设1级节点在本地时间t2′时刻收到该报文,则1级节点和主节点的时间差又增加了Δs(t2,t2′),此时的时间差为ΔV1
[0048]
[0049] 因此1级节点补偿了修正值Δof1后仍和源节点存在时间差ΔR1。
[0050]
[0051] 源节点在下个周期的t3时刻发送同步报文时,假设此时1级节点的本地时间为t3′,则它从完成闭环同步的t2′时刻到t3′这段时间内又和源节点产生了时钟漂移误差Δs(t2,t3′)。1级节点在t4时刻收到源节点的同步报文时又经历了传输时延Δk1,这时1级节点不重新向主节点进行开环同步,而将同步报文中Time值加上已经计算的修正值Δof1(补偿传输时延),再减去本地时间,得到的差值Δw2为(式中Δk0和Δk1在短时间内视为相同)[0052]
[0053] 依次类推,若第n个周期源节点在时间时刻tx发送同步报文时1级节点对应的本地时间为tx′,则该同步报文经传输时延Δkn‑1后被1级节点在本地时间ty收到。1级节点将同步报文中Time值加上修正值Δof1本地时间ty再减去本地时间ty所计算得到的Δwn值为[0054]
[0055] 式中传输时延值Δkn‑1相对于Δk0的变化,主要由节点位置变化引起的空中传播时延改变所决定。而在节点之间静止或运动速度不是特别快时,Δkn‑1相对于Δk0的变化量十分微小,可以视为0。所以1级节点向源节点初始同步后如果每个周期如果收到了源节点的同步报文,则所计算的Δwn值近似等于源节点相对于自身的时钟漂移误差值。
[0056] 请参考图7,图7为本方法中的重新同步过程示意图,在重新同步时,如果节点按照初始同步过程先开环同步,则又会和主节点产生时延误差,因此采用一种虚拟开环同步策略:当节点收到主节点的同步报文并判断出要重新向主节点同步时,该节点不再向主节点开环同步,而是记录下主节点同步报文中Time值与收到该报文时本地时间之间的差值Δ(tTime‑tLocal)。该节点假设在ta时刻发送回复报文,则将Δ(ta‑(tTime‑tLocal))填入回复报文的Time字段,该值模拟了节点在进行开环同步的情况下发送回复报文时的本地时间。因此当主节点收到该回复报文时,即可利用Time字段按照式(1) 计算修正值Δof,同样可以完成闭环同步。
[0057] 请参考图8,图8为本方法采用的仿真测试的拓扑图,在OPNET 14.5 上对本文协议、TPSN协议以及FTSP协议进行仿真,仿真场景及参数进行相同配置:节点0、1、2呈链状拓扑(0和1相距2.5km,1和2相距2.9km),Rxgroup模块将节点之间的最大通信距离设置为5km,因此节点0和2不能直接通信。其他参数的配置如表1。时钟模型采用式(7),将时钟漂移值α改进为随时间变化,符合现实中节点的时钟漂移会随外界环境变化。式(7) 中α0表示时钟漂移初值,β为漂移值的变化率,阈值θ只在本文协议中配置。 TPSN协议和FTSP协议的重新同步周期均设置为1s。
[0058] L(t)=(1+α)t+L(t0)=(1+(α0+βt))t+L(t0)=(1+α0)t+βt2+L(t0)    (7)[0059] 表1 仿真参数配置表
[0060]
[0061] 请参考图9,图9为本方法和TPSN协议两种节点的同步次数统计图,首先在同步次数上,对本方法和TPSN协议进行对比:展示了本方法和TPSN 协议中节点1,2的同步次数(节点0开机最早是主节点,不向其他节点同步)。可以看出在相同仿真时间下,本方法中节点1,2的同步次数分别为200 次和600次,而TPSN协议中节点1,2的同步次数均超过1000次,因为TPSN 协议在每个TDMA周期都会重新同步,而本文协议协议则是监测到时钟漂移误差超过阈值时才重新同步,因此本方法相比FTSP协议在同步次数上有了明显减少。
[0062] 请参考图10,图10为本方法和FTSP协议中节点相对于低等级节点的时间差,对本方法和FTSP协议进行同步精度和同步收敛速度的对比:展示了本方法和FTSP协议中节点1和节点0,节点2和节点1的本地时间差,横轴代表仿真时间。可以看到本方法中节点1和节点0的本地时间差大概在仿真时间2s时已经收敛,而FTSP协议中节点1和节点0的本地时间差在仿真时间3s左右时才急剧降低并收敛,同样的节点2和节点1的本地时间差也是在本方法中收敛较快。因此验证了本方法在同步收敛速度上比 FTSP协议更快。另外可以看出,本方法中节点1和节点2同步收敛时,和节点0、节点1的本地时间差保持在0us左右,而FTSP协议中节点1和节点2同步收敛时,和节点0、节点1的本地时间差在11us左右。因此同步精度上本方法也比FTSP协议具有更好的性能,进一步缩小图中纵坐标的时间间隔观察本文协议的同步和监测过程。
[0063] 请参考图11,图11为本方法中节点相对于低等级节点的时间差图,可以看到本方法中节点1和节点0的本地时间差在仿真时间21s左右时由1us 又迅速降低收敛到0us附近,这正是因为节点检测到时间差超过阈值后立刻重新同步,证明了本方法中节点之间可以根据时间差阈值自动同步。