Link-22是美军海军最新研制的一种抗干扰、保密可靠、灵活机动的中速率战术数据链,采用TDMA组网体制构成分布式网状网络[1-2]。对于时分多址TDMA体制的通信系统,网络同步问题十分关键,必须保证Link-22数据链的每个终端工作在同一个时间基准上,否则会导致时隙混乱产生包碰撞,影响整个系统的通信性能[3-4]。因此,如何保证Link-22数据链网络时间同步的精度也是Link-22数据链研究的重要问题之一。
现有文献对于Link-22的网络时间同步算法研究很少,参考于现有的时间同步算法分析发现,Link-16的RTT时间同步算法系统的实时性不高以及IEEE 1588 PTP时间同步算法网络负担大;除此之外,以上2种时间同步协议都忽略了传输时延的不对称性以及获取时间戳存在的误差问题,随着时间的推移,这些误差对时间同步的影响逐渐增大[5-7]。
文中首先分析了现有的网络时间同步算法,并对现有的时间同步算法进行了分析,现有的时间同步算法一般都忽视了延迟抖动以及获取时间戳带来的误差问题,只能在短时间内满足时间精度要求。针对此类问题,提出采用基于卡尔曼滤波的时间同步算法,能有效地滤除延迟抖动以及时间戳带来的误差,且不会影响通信系统的网络开销。
1 Link-22数据链的RTT时间同步算法Link-22数据链采用时分多址(time division multiple access,TDMA)的信道接入方式,因此必须保证接入网络的所有节点必须有相同的时间起点,运行过程中通过时间同步算法来不断地纠正时钟偏差
数据链的时间同步分为外同步和自同步。相较于外同步,自同步不需要依赖外部设备,可在系统之内自行进行时间同步。在网络运行开始之前,每个网络成员维持一个绝对时间(time of day,TOD),在运行过程中为避免漂移,通过和某个时间基准提供者校时,实现整个网内所有成员的TOD一致(和时间基准提供者一致)。
自同步分为粗同步和精同步。文中主要讨论其精同步过程。精同步的核心思想为:选取一台时钟频率稳定性比较好的Link-22数据链终端作为整个网络的时间基准,称为绝对时间,在运行过程中,在网络运行开始之前,每个网络成员维持一个绝对时间(TOD),通过时间基准单元发送往返时间校准报文(round trip timing,RTT)来实现整个网内所有成员的TOD一致(和时间基准提供者一致),其基本过程如图 1所示。
从图 1中可以看出RTT同步算法的运行过程是:首先将需要时间同步的NU向网络中基准单元发送询问时间校准报文RTT-I,基准单元接收到RTT-I消息之后,经过一段时间回复时间校准报文RTT-R,确保RTT-I和RTT-R的发送和接收在一个时隙内完成,非基准单元的其他NU通过发送和接收RTT消息信号的时间间隔来调整本地的时间偏差,可以实现较高精度的时间同步。
假设由基准时隙单元确定的RTT询问消息到达时间为TOAI,由对时时隙单元确定的RTT应答消息到达时间为TOAR,由基准时隙单元起点到发送RTT应答消息的时间为td,则由图 1可以看出,RTT询问过程中的传输时延tp可以表示为
(1) |
同时可以知道RTT应答过程中的tp为
(2) |
结合式(1)和式(2),可以算出2个站之间的初始时隙偏差,即询问站需要校正的误差ε为
(3) |
式中:TOAR的值可由询问站自己测得,TOAI和td的值可由RTT应答报文得到。
综合上述分析可知,利用式(3)可以求得询问站需要校正的误差ε,实现网络时间同步。但是该算法建立在传输链路对称的前提之下,且要求时间基准单元必须在一个时隙内回复, 如果此时有高优先级消息需要传输,会影响数据链消息传输的实时性,并且忽视了获取时间戳存在的误差问题,而误差会由于时间的累积越来越大,可能产生包碰撞从而导致整个数据链通信系统崩溃。
2 PTP时间同步算法PTP时间同步协议根据时钟精度的不同选择网络中精度高的时钟为主时钟,其他为从时钟,主时钟提供基准时钟,其他时钟都与主时钟进行时间调整,其具体信息交换过程如图 2所示。
从图中可以看出PTP协议的信息交换分为以下4步:
1) 主时钟发送同步报文,并记录下发送同步报文的时间戳t1,从时钟接收主时钟发送的同步报文,并记录接收到同步报文时的本地时间t2;
2) 主时钟发送跟随报文,该报文携带主时钟发送同步报文的时间戳t1;
3) 从时钟向主时钟发送延迟请求报文,并记录延迟请求报文发送时从时钟的时间戳t3,主时钟接收延迟请求报文,并记录接收到延迟请求报文时的时间戳t4;
4) 从时钟接收主时钟发送的延迟应答报文获取主时钟接收延迟请求报文的时间戳t4。
根据上述过程分析,可通过同步报文和跟随报文所获取的时间戳t1和t2,可得到主从时钟之间的时钟偏差θ和主从时钟的传输时延delayfs之和为
(4) |
同理,可利用从时钟延迟请求报文的发送时间戳t3和主时钟接收延迟请求报文的时间戳t4,计算主从时钟之间的时钟偏差θ和从主时钟的传输时延delaysf之差为
(5) |
又由于PTP协议所考虑的传输链路是理想对称的,则
(6) |
则结合式(4)、(5),可计算得传输时延delay和主从时钟的时间偏差θ,得:
(7) |
由上述推导过程可知,PTP时间同步算法对于时间信息交互没有严格要求,不需要主从单元第一时间回复消息,有利于提高系统高优先级消息的传输。主从链路完全对称是PTP实现精确的时间同步必要条件之一,同时该协议忽略了时间戳存在的误差,因此在Link-22数据链中由于传输链路不对称且不稳定,导致双向传输时延不相等且不稳定。而且PTP时间同步算法需要进行4次携带时间信息的包交换过程, 会增大Link-22数据链系统的网络负担。
3 Link22数据链的时间同步算法改进针对上面讨论的现有时间同步协议算法的优点和缺陷,对RTT和PTP时间同步协议进行结合并改进,提出两者结合的适用于Link-22数据链的时间同步算法RTT-PTP时间同步算法,该算法的具体信息交换过程如图 3所示。
从图中可以看出,RTT-PTP协议的信息交换分为4步,即:
1) 子时钟在时间调整周期到来时向基准时钟发送时间同步询问报文,并记录下子时钟发送时间同步询问报文的时间戳t1;
2) 基准时钟接收到子时钟发送的时间同步询问报文时,记录下接收到同步询问报文的时间戳t2;
3) 基准时钟在空闲时隙到来时向子时钟发送同步应答报文,同步应答报文携带有基准时钟接收到同步询问报文的时间戳t2以及发送同步应答报文的时间戳t3;
4) 子时钟接收到基准时钟回复的同步应答报文时记录接收时间戳t4。
设主从时钟的偏移量为θ,从主时钟的传输延迟为delaysf,主从时钟的传输延迟为delayfs,通过同步询问报文以及同步应答报文所获得的时间戳t1、t2、t3、t4可获得如下三元一次方程组:
(8) |
假定delay=delayfs=delaysf,可计算得传输时延delay和主从时钟的时间偏差θ,得:
RTT-PTP算法结合了RTT和PTP时间同步算法的优势,避免了RTT算法对于基准单元必须要求在一个时隙内收发时间同步报文,并改进了子时钟与基准时钟发送时间信息报文的次数,即避免了PTP算法中需要进行4次携带时间信息的包交换过程,大大减少了整个数据链系统的网络负担。
4 基于卡尔曼滤波的RTT-PTP时间同步算法由于Link-22数据链中的每个NU单元的位置变化十分频繁,且有的NU单元移动速度非常快, 导致传输链路不对称, 传输延迟抖动较大, 影响了求出的时间偏差θ的精度。而且在获取时间戳的过程也存在时间戳获取误差,随着时间的增长,这些误差对于时间同步精度的影响越来越显著。针对上述实际存在的两个无法避免的误差值,文中提出一种基于卡尔曼滤波的RTT-PTP时间同步算法,通过信息处理技术,滤除这些误差的影响。
4.1 时间同步状态空间方程文中选用主从时钟的偏移量θ和时钟偏移率α为状态变量,对时钟进行数学建模,可得RTT-PTP时间同步的状态方程为[8]
(9) |
式中:T为离散系统采样时间;ωθ和ωα为系统噪声,假设ωθ和ωα均为高斯白噪声,其方差分别为σθ2和σα2。
将式(9)写成矩阵形式,为
式中:
当节点进行第k次时间同步时,式(8)可改写为
由于存在延迟抖动,则式(6)等式关系不再成立,即delayfs≠delayfs,故可设
(10) |
其中:vd为观测噪声,可以看作是一个均值为0、方差为σd2的高斯白噪声。
进一步根据式(10),可得
又由于时间戳t1、t2、t3、t4存在误差,故RTT-PTP时间同步的一个量测方程为
(11) |
式中vθF为观测噪声,定义如下
由分析可知,观测噪声vθF是传输时延不对等性Δd与时间戳标记误差Δti(i=1, 2, 3, 4)之和,时间戳标记的不确定性是均值为零的独立随机变量,σFTS2是Δt1和Δt4的方差,σSTS2是Δt2和Δt3的方差,则vθF的方差是各独立随机分量的方差之和,即
忽略vθF的变化,则时钟偏移率的观测方程为
(12) |
从而可求得观测噪声的方差:
设vαF为时钟偏移率的观测噪声,且与vθF耦合,则
联立式(11)和式(12),可得RTT-PTP时间同步的量测方程为
其矩阵形式为
式中:
4.2 基于卡尔曼滤波的RTT-PTP时间同步综合上述可知,RTT-PTP时间同步的状态空间模型为
(13) |
式中系统噪声ω和观测噪声v是各自相互独立的高斯随机过程,且ω和v的方差分别为Q和R,且
由分析可知,式(13)所描述的系统传输延迟抖动较大,且时间戳获取存在误差,故采用卡尔曼滤波,滤除这些误差的影响。该算法的操作步骤如下。
预测过程:
最小预测均方差:
增益矩阵:
状态修正:
最小均方矩阵:
5 实验验证本小节利用MATLAB软件平台对上述基于卡尔曼滤波的时间同步算法进行仿真验证试验。仿真时间设置为50 s,离散时间间隔T为0.1 s,时间偏移和时间偏移状态矢量初值为x(0)=[0 1]T×10-3,状态矢量初始协方差矩阵为P(0)=[10 0;0 10]T, 同时设置状态噪声和观测噪声的协方差矩阵为
图 4、5分别给出了时间偏差和时间偏差率的真实值、未经过卡尔曼滤波的实际值和经过卡尔曼滤波后的状态估计值,图 6、7分别给出了未经过卡尔曼滤波和经过卡尔曼滤波后的时间偏差和时间偏差率误差值。从图中可以看出,由于延迟抖动以及获取时间戳带来的误差,RTT-PTP系统未经过卡尔曼滤波的测量值和经过卡尔曼滤波的估计值都会在真实值附近震荡,存在一定的误差,但是经过卡尔曼滤波的估计值误差曲线均低于未经过卡尔曼滤波的测量值误差曲线,这说明经过卡尔曼滤波的估计值精度要高于未经过卡尔曼滤波的估计值,可利用估计得到的主从时钟偏移量估计量对时钟模型进行修正,从而提高时钟同步精度。
表 1给出了滤波前后时间偏差和时间偏差率误差的统计效果,图 8给出了引入滤波前后进行同步算法时各步的运算耗时。结果表明,虽然由于引入滤波运算使得算法的运算步骤有所增加,从而导致运算耗时增加,但是引入滤波前后各步的运算耗时都在同一个运算级范围内,这说明滤波算法的加入不会严重影响信息处理的实时性,却能使得估计精度提高一个数量级。
6 结束语
针对RTT时间同步算法忽视了消息传输的实时性,以及PTP时间同步算法4次时间消息交换增大了系统的网络负担的2个缺点,2种算法都忽视了延迟抖动和时间戳获取对于时间同步所造成的误差,提出了基于卡尔曼滤波的RTT-PTP时间同步算法。新的算法既满足了消息传输的实时性又没有增大整个系统的网络负担,最后通过卡尔曼滤波在不提高硬件要求的基础上消除了一些无法避免但一直存在的误差的影响。卡尔曼滤波算法可在不浪费Link-22数据链系统的时隙资源的前提下一直单独作用于非基准单元,使非基准单元保持较小的时钟偏差,对Link-22网络时间精同步提出了新的解决方法。
[1] | HE Jianhui, RAO Zhihong. Model and simulation of Link22 based on OPNET[J]. Communications technology , 2009, 42 (10) : 97-99 |
[2] | 梁炎, 陆建勋. Link22-北约国家的下一代战术数据链[J]. 舰船电子工程 , 2006, 26 (1) : 3-7 |
[3] | WANG Xiang, BAI Xiang, PAN Lili. Message exchange strategy in NATO Link22 system[J]. Communications technology , 2013, 46 (12) : 34-37 |
[4] | ZUO Wei. A dynamic TDMA protocol based on high frequency data link system[J]. Communications technology , 2014, 47 (4) : 406-409 |
[5] | TIAN Yu. An improving network synchronization algorithm for tactical data-link[J]. Command control & simulation , 2013, 35 (5) : 27-29 |
[6] | HU Zhihui, ZHOU Yu. Research and implementation of hardware timestamp based on IEEE 1588 protocol[C]//Proceedings of the 20135th International Conference on Computational and Information Sciences. Shiyang, China:IEEE, 2013:1586-1589. |
[7] | 陈旿, 孙建华, 于振兴, 等. 基于IEEE 1588的无线传感器网络时钟同步方法[J]. 系统工程与电子技术 , 2014, 36 (3) : 564-574 |
[8] | 田斌鹏, 刘丽丽. 分布式数据链的定周期自适应时间对准[J]. 电讯技术 , 2015, 55 (6) : 689-692 |
[9] | LIU Yingshu, YANG Cheng, LIU Shupei. A self-compensation procedure for the IEEE 1588 PTP local clock[J]. International journal of engineering systems modelling and simulation , 2014, 6 (1/2) : 69-79 DOI:10.1504/IJESMS.2014.058426 |
[10] | MAHMOOD A, EXEL R, SAUTER T. Delay and jitter characterization for software-based clock synchronization over WLAN using PTP[J]. IEEE transactions on industrial informatics , 2014, 10 (2) : 1198-1206 DOI:10.1109/TII.2014.2304413 |
[11] | MAHMOOD A, RING F, NAGY A, et al. High precision and robustness in network-based clock synchronization using IEEE 1588[C]//Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA). Barcelona, Spain:IEEE, 2014. |
[12] | GIORGI G, NARDUZZI C. Performance analysis of kalman-filter-based clock synchronization in IEEE 1588 networks[J]. IEEE transactions on instrumentation and measurement , 2011, 60 (8) : 2902-2909 DOI:10.1109/TIM.2011.2113120 |
[13] | IEEE Instrumentation and Measurement Society. Revision of IEEE Std 1588TM-2002, IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[S]. New York, USA:The Institute of Electrical and Electronics Engineers, Inc., 2008. http://www.doc88.com/p-7823988369615.html |
[14] | CHEN Wu, SUN Jianhua, ZHANG Lu, et al. An implementation of IEEE 1588 protocol for IEEE 802.11 WLAN[J]. Wireless networks , 2015, 21 (6) : 2069-2085 DOI:10.1007/s11276-015-0898-z |