APP下载

精确时间同步协议在空间无线信道下的适应性研究

2018-03-27,,

计算机测量与控制 2018年3期
关键词:钟差主从卡尔曼滤波

,,

(中国电子科技集团公司第五十四研究所,石家庄 050081)

0 引言

随着空间技术的发展和航天任务复杂度的提高,空间探测任务需要降低航天器对地基系统的依赖性,运用新的协议来支持空间组网通信,实现实时决策。在深空探测任务中,可能会存在多种航天器和探测设备共同执行的探测任务,这些相对独立的航天器与探测设备之间可能存在以信息传输和交互为主要目的的组网通信,需要对多种不同类型的航天器实施协同控制,以实现航天器与探测设备之间的相互配合与协调工作。在这种场景下,空间网络节点之间需要具有高度统一的时间参考,以完成时间敏感的航天任务。许多服务和应用都依赖于高精度的共同时间参考,比如航天器之间的交会对接、不同地点物理量的分布式测量、算法的时序安排、基于位置预测的网络路由切换,以及通信媒介的时隙接入等等。但是,不同于地面或近地通信,深空组网通信超出了北斗系统、GPS、GLONASS等近地同步源的授时范围,缺乏支持深空时间同步的地基系统,这就需要航天器本身具有支持时间同步的协议,以获得微秒级的高精度时间同步,从而完成深空探测中对于时间敏感的航天任务。

然而,深空中无线信道环境具有传输时延大、时延抖动不确定、前向与反向链路速率不对称、误码率高以及通信链路易中断等特点,且深空环境中缺乏固定通信基础设施,存在不支持时间同步协议的交换设备,这些特点会引入很多不可控的时延误差。这些因素都会给具有高精度要求的深空时间同步带来了很大挑战。具体来说,长时延会带来较大的电磁波传播损耗,且传播信号会受到由射电星体、星间物质和太阳带来的宇宙噪声,引入较高的误码率,且长延时还可能会引入正反向传输时延的随机误差,对于目前地面以太网所采用的时间同步协议的同步机制,正反向传输时延不对称会使主从时钟钟差计算产生误差,造成时延偏移,会导致同步精度大大降低;前反向链路速率不对称会引入由于数据报文排队机制导致的时延抖动,同样会造成正反向传输时延的不对称,而负载流量过大可能引起毫秒级的排队时延。而排队时延会计入传输时延当中,在计算主从时钟钟差时引入误差,使得从时钟的系统时间按照有误差的结果进行调整,造成时钟输出非常不稳定,并且影响同步精度。

综上所述,再以多个航天器为基础的深空探测任务中,需要进行航天器和探测设备进行组网并实现网络时间同步,以实现网络节点之间的协同控制和航天器的自主导航。随着我国深空探测工程的开展,对于深空环境邻近空间网络时间同步技术的研究变得很有必要。

本文首先介绍了PTP协议的同步原理,并采用飞思卡尔公司的P2020处理器作为核心处理器对PTP协议进行了实现。随后结合深空通信中长延时、高误码、延时抖动的特点对PTP协议的影响进行了分析,提出了利用卡尔曼滤波算法和设定阈值的方法对PTP协议进行了改进。最后利用损伤仪、测试仪模拟空间无线信道环境和业务负载情况,利用时钟分析仪对PTP协议的时间同步精度和稳定性进行了测试,测试结果表明,改进后的PTP协议能够消除信道中由于长时延及业务负载带来的时延抖动现象对PTP协议的影响,同步精度达到亚微秒级,为航天任务时间同步的功能提供很好的参考。

1 PTP协议

目前,在地面网络中被广泛采用的网络时间同步方法为网络时间协议[1](network time protocol, NTP)和精确时间协议(precision time protocol,PTP)。NTP协议采用客户端对服务器的工作模式,利用软件产生时间戳,通过时间戳交换完成时间同步功能,在2 000公里范围的万维网内的同步精度为几十毫秒,在局域网内同步精度能够保持在毫秒级,NTP对于具有微秒级同步精度要求的深空邻近空间组网通信场景并不适用。而由IEEE 1588协议标准定义的PTP协议,采用主从时钟的工作模式,支持在硬件发送接收单元直接插入本地时间戳,避免了软件处理时延引入的误差,在使用硬件时钟辅助的情况下其时间同步精度能够达到亚微秒量级[3,6],满足深孔邻近空间网络对于精密时间同步的需要。但是由于深空通信环境复杂,存在长时延、时延抖动、正反向信道不对称等特点,深空通信中缺少地基时间同步设备的支持,而PTP对网络环境要求较高,故需要对其进行适应性改进以满足航天任务的需要。

图1 PTP协议应用场景示意

PTP协议报文交互的过程如图2所示。PTP协议利用同步报文、跟随报文、延迟请求报文和延迟响应报文来测量两个支持PTP状态机的端口之间的路径延迟delay[2]并由此计算得出从时钟与主时钟的时钟钟差值offset,从时钟利用计算得到的钟差值对本地时钟进行频率微调,使本地时钟尽可能地与主时钟保持频率同步和相位同步。具体工作流程和同步原理如下:

图2 PTP同步报文同步及延迟请求响应机制

1)主时钟准备并发送一个携带时间戳t1的同步报文,如果节点是双步时钟,那么还需要准备并发送一个包含t1的跟随报文;

2)从节点收到主时钟发来的同步报文,立即产生一个时间戳t2,并准备发送携带时间戳t3的延迟请求报文;

3)当主时钟节点收到延迟请求报文之后,立即生成t4时间戳,并准备延迟响应报文,最后发出延迟响应报文。

4)从时钟接收到延迟响应报文,此时从时钟已经获得了t1、t2、t3、t4时间戳,通过如下计算方法得到路径延迟以及主、从时间差:

(1)

得出:

(2)

其中:offset为从时钟与主时钟的时间偏移,delay为主、从时钟之间单向的路径延时。

时钟同步是一个周期性的过程。在主、从时钟达到时钟同步以后,从时钟依然要对主时钟发出的每一个时钟同步报文进行计算。如果计算出的偏移值不等于0,则需要重新按照以上流程继续不断修正本地时钟,进行时钟同步。

2 无线信道对PTP协议的影响分析及改进

PTP协议以其稳定的亚微秒级同步精度,被广泛应用于地面以太网环境中,但是,不同于地面以太网的通信环境,深空通信具有传输时延大、时延抖动不确定、前向与反向信道不对称、误码率高等特点。这些特点给具有高精度要求的时间同步带来了很大挑战。以火星探测任务为例,火星同步轨道高度距火星赤道约为17 000 km,这会给航天器与火星表面的双向通信带来上百毫秒的时延,这对于有着高精度要求的PTP协议来说有较大影响。此外,上下行链路的带宽存在较大差距,在低速链路中会出现数据排队或缓冲的情况,或者业务负载发生较大变化的情况,都会导致时延抖动的发生。并且时延抖动的产生往往是随机发生的,有时候难以避免。另外,在长时延空间网络中,可能会存在不支持PTP协议的交换机、路由器等交换设备,这些交换设备都会产生包封装、队列及串行化的时延[9]。而PTP同步节点并不能检测到传输的不对称。PTP能够实现高精度时间同步的一个重要前提假设,就是正反向时延是对称的,长时延及时延抖动的出现,会影响到正反向时延的对称性[8],进而计算得到不准确的路径时延以及主从时钟钟差,给从时钟对于本地时钟的调节带来误差,降低同步精度。严重情况下,时延抖动会带来毫秒级的同步误差。

而在同步的过程中,随着每一次同步的进行,从时钟不断计算与主时钟的偏差,并调整本地时钟,使从时钟与主时钟之间的时间偏差逐渐缩小。但出现钟差出现异常值时,从时钟不能判断该值是否为异常值,会继续根据测得的结果计算出的主从钟差对本地时钟进行调整,导致实际的主从时钟之间钟差被放大,延长了收敛所需时间,同时也降低了同步精度。可以说,如何处理钟差由于时延抖动产生的跳变,是实现高精度稳定时间同步的关键。

本文提出的改进方法是一种基于估值滤波的方法:利用卡尔曼滤波器,对从时钟与主时钟的时间偏差进行估计,同时,对从时钟与主时钟的时间偏差的增量设置门限值,当当前的测量值与估计值之差超过了该门限值,说明从时钟计算出的从主时间偏移异常,这时,从时钟用估值滤波得到的估计值代替异常时间偏移值,并根据估计值调整本地时钟,即可减小时钟偏移量跳变过大对时钟同步的稳定性带来的影响。

2.1 卡尔曼滤波钟差估计算法

卡尔曼滤波是以最小均方误差为准则的最佳线性估计,它不要求信号的平稳性,不需要之前全部的观测数据,只是根据前一个估计值和最近一个观测数据,利用状态方程和递推方法来估计信号的当前值[7]。卡尔曼滤波器具有实时性高且存储计算量小等特点,适合应用于对存储和处理速度敏感的时间同步协议中[10]。具体算法如下。

根据卡尔曼滤波器的信号模型,建立时间同步系统的状态空间模型:

(3)

式中分别为时钟状态方程和时钟观测方程。其中,x[k]为第k次同步中时钟的状态向量;y[k]为第k次同步的时钟观测向量;H为测量系统的参数矩阵方程,它将真实的状态空间映射到观测空间。A为状态转移矩阵,与ΔT有关。ω[k]和v[k]分别为均值为零的过程噪声和观测噪声,且两者互不相关。

卡尔曼滤波估计的递推公式:

(4)

均方误差矩阵为:

(5)

使最小均方误差Pk为最小的Hk应为:

(6)

对应最小均方误差矩阵为:

Pk=(I-HkCk)Pk

(7)

其中:Pk为测量噪声v[k]的协方差矩阵。

2.2 钟差增量门限设定

对于时钟偏移增量门限值的设定,采用如下方案:分别计算主从时间差和从主时间差的均值与其最大值和最小值的差,然后取计算结果中的最大值作为门限值,利用此门限值来限制主从时间差的变化范围。这个方法的好处是,能够保证主从时间差处于收敛状态,门限值能够过滤时钟偏移的跳变。具体算法如下:

每次选取n组观测数据,包含主时钟到从时钟的路径时延(MTSD)、从时钟到主时钟的路径时延(STMD)、以及通过PTP协议算法得到的主从时间偏移(OFM),分别计算从主时延的均值、最小值和最大值,以及主时钟到从时钟的时延变化范围,本方案中n取10:

dev_min_mtsd = mean_mtsd - min_mtsd

dev_max_mtsd = max_mtsd - mean_mtsd

分别计算主从时延的均值、最小值和最大值,以及从时钟到主时钟的时延变化范围:

dev_min_stmd = mean_stmd - min_stmd

dev_max_stmd = max_tmsd - mean_stmd

计算时钟偏移量的门限值threshold:threshold=MAX(dev_min_mtsd, dev_max_mtsd, dev_min_stmd, dev_min_stmd)

计算第k+1个offset值与其之前n-1个offset值的标准差dev,将dev与threshold进行比较,当threshold>dev时,说明第k+1个offset值符合时间同步要求,从时钟可以利用该时间偏移对本地时钟进行调整,完成本次同步;当dev>threshold时,说明第k+1个offset值不满足同步要求,那么就利用卡尔曼滤波算法得到的第k+1个offset估计值替代第k+1个offset测量值,从时钟利用offset的估计值来调整本地时钟,进行本次时间同步。

3 时间同步精度测试

为了验证PTP协议在深空邻近空间无线信道环境中的时间同步性能,我们将所设计的支持PTP协议时钟同步功能的板卡分别作为主时钟和从时钟[5],接入测试环境进行测试,测试环境如图3所示。采用Spirent CalnexAttero损伤仪模拟无线信道环境,并利用Spirent TestCenter测试仪模拟场景中的业务负载,分别探究空间无线信道环境和负载环境对于PTP同步性能的影响,为了保证测试结果更加准确,采用Spirent ParagonX时钟分析仪对主从两端的钟差值进行采集。

图3 测试配置框图

测试过程中,每一次交互后,从时钟会测出本地时钟与主时钟的路径传输时延并由此计算出主从时钟钟差值并输出至控制端,通过时钟钟差值调整本地时钟的压控晶振,以达到与主时钟频率和相位同步的目的。两端同步报文的收发速率为8次/秒,每次实验的采样时间为10分钟,采样4 800次。

3.1 长延时对于时间同步精度的影响

火星轨道卫星距火星表面约为17 000千米,故测试中将正反向固定延时设置为120毫秒,探究长延时网络中时间同步的性能[5]。先启动主时钟端的PTP协议栈软件,再启动从时钟端PTP协议栈软件,在控制端输出并记录从时钟与主时钟的路径延时和时钟钟差offset值,选取600个样本点,PTP协议在长延时环境下的同步结果如图4所示。从图4中可以看出,同步开始时,主、从时间差为设定的300毫秒,在同步过程开始之后,从时钟端不断计算与主时钟之间的时间偏差与路径延时,根据计算结果调整本地时钟,逐渐缩短主、从时钟之间的时间偏移,最终达到稳定在100纳秒左右的同步精度。由此可见,长延时的信道环境使得达到同步所需的时间变长,但是对于时间同步的精度和稳定性影响不大,PTP协议仍然可以实现亚微秒级的同步精度。

图4 长时延下主从时钟同步结果

3.2 延时抖动对时间同步性能的影响

在卫星网络中,由于传输距离遥远,路径延时存在抖动的情况,会造成路径延时的不对称,影响协议的同步精度。于是采用损伤仪对对信道的延时抖动进行仿真,实验条件为:双向300~350毫秒服从高斯分布的时延抖动,与第一组的对比测试结果如图5所示。由图5可以看出,有延时抖动的情况下,与无抖动时的时间同步趋势基本一致,且能够达到100纳秒的同步精度,但是有延迟抖动的情况下达到相同精度所需的时间要比无抖动的情况多用时约12秒,需要更长时间完成时间同步,性能有所下降。

图5 时延和抖动环境下主从时钟同步结果

3.3 业务负载对于时间同步精度的影响

利用Spirent TestCenter测试仪模拟在有业务负载的条件下,IEEE1588的同步性能与无负载条件下的对比情况,其中有负载的情况下,主时钟到从时钟方向的业务负载速率为512 kbps,反向业务负载速率为5 Mbps,对比结果如图5所示。从图5和图6可以看出,在有负载的情况下,主、从时钟之间的时间偏移隔一段时间会产生100毫秒左右的跳变,这之后还要重新收敛时间偏移量。

这里因为引入了负载流量,CPU处理数据会产生中断,造成同步报文获取的时间戳存在误差,导致从时钟计算得到的主、从时间差产生了±100毫秒左右的误差,而当从时钟根据计算结果调整本地时钟后,主从时钟钟差测量值大于实际的偏差,导致从时钟需要继续在钟差很大的基础上进行调整,造成了不稳定的同步精度。

图6 有负载条件下主从时钟同步结果

图7 有负载条件下主从时钟同步结果局部图像

随后,我们利用卡尔曼滤波算法和设定钟差阈值的方法对PTP协议进行了测试,测试结果的局部放大图如图8所示。由测试结果可以看出,采用卡尔曼滤波算法和设定钟差阈值结合的方法,能够有效地减小由于业务负载流量过大对时钟同步性能造成的影响。使同步精度稳定在200纳秒的精度范围内,且能够实现稳定的时间同步结果,可靠性较高,满足深空邻近空间网络时间同步的需求。

图8 采用卡尔曼滤波算法改进后的主从钟同步结果局部图像

4 结束语

本文探究了精确时间同步协议在空间无线信道下的适用性问题。通过在长时延和时延抖动环境下的仿真测试,可以看出,基于硬件标记时间戳的PTP协议够实现亚微秒级的时间同步精度,同时能够适应空间无线信道中长延时和延时抖动的环境,并且具有较好的稳定性。但是对于有负载的情况下,主、从时钟之间的时钟偏差会产生跳变,不能够达到稳定的同步精度。针对这一情况,采用卡尔曼估值滤波算法以及对时钟偏移设置门限值的方法,以减小时钟偏移跳变对同步稳定性带来的影响,通过最终的测试,采用改进的算法后能够使时间同步精度稳定地保持在200纳秒的精度范围内,满足实际工程应用的需要,对于深空邻近空间无线网络中的时间同步应用具有一定的参考价值。

[1] David L.Mills. RFC5905 Network Time Protocol Version 4 Protocol and AlgorithmsSpecification[S]. Internet Engineering Task Force (IETF), 2010.

[2] IEEE Standard 1588-2008. IEEE Standard for a Precision Clock Synchronization Protocol forNetworked Measurement and Control Systems[S], 2008, IEEE.

[3] 王 康. 网络精密授时若干关键技术研究[D]. 北京:中国科学院大学, 2015.

[4] 吴歆馨. 基于IEEE1588高精度网络时钟同步系统的研究[D]. 武汉:华中科技大学,2007.

[5] 朱望纯,钟震林,等. 嵌入式Linux设备的高精度IEEE 1588时钟同步实现[J]. 计算机测量与控制, 2014,22(5):1619-1622.

[6] 陆 洲. 南春国. 星地时钟同步方案设计及性能分析[J]. 无线电通信技术, 2008,34(2):51-53.

[7] 苏 宇,胡 珩,等. 基于PTPd的精准时钟同步技术的研究[J]. 计算机技术与发展, 2016,26(1):175-180.

[8] 杨玉景. 基于卡尔曼滤波优化的IEEE 1588 PTP在多跳无线传感器网络中的同步性能分析[D]. 北京:中国科学院大学, 2014.

[9] 李学桥,陈 园,等. 基于IEEE 1588协议的精确时钟同步算法改进[J]. 计算机工程与科学, 2011,33(2):42-45.

[10] 庄晓燕. 王厚军等. 基于卡尔曼滤波器的IEEE 1588时钟同步算法[J]. 电子测量与仪器学报, 2012,26(2):747-751.

猜你喜欢

钟差主从卡尔曼滤波
基于长短期记忆神经网络的导航卫星钟差预报
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于熵权法的BDS钟差组合预测模型的建立
脉冲星方位误差估计的两步卡尔曼滤波算法
iGMAS分析中心产品一致性分析及其应用研究
Antarctica's pretty pink snow
Boy dresses up to honor school security officer
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
旋转位似的性质与主从联动法
IGS快速/超快速卫星钟差精度评定与分析