快速检索        
  武汉大学学报·信息科学版  2019, Vol. 44 Issue (8): 1205-1211, 1219

文章信息

宋会杰, 董绍武, 王燕平, 安卫, 侯娟
SONG Huijie, DONG Shaowu, WANG Yanping, AN Wei, HOU Juan
基于渐消因子的改进Kalman滤波时间尺度估计算法
An Improved Kalman Filter Time Scale Algorithm Based on Forgetting Factor
武汉大学学报·信息科学版, 2019, 44(8): 1205-1211, 1219
Geomatics and Information Science of Wuhan University, 2019, 44(8): 1205-1211, 1219
http://dx.doi.org/10.13203/j.whugis20180065

文章历史

收稿日期: 2018-11-06
基于渐消因子的改进Kalman滤波时间尺度估计算法
宋会杰1,2 , 董绍武1,2,3 , 王燕平1,2 , 安卫1,2 , 侯娟1,2     
1. 中国科学院国家授时中心, 陕西 西安, 710600;
2. 中国科学院时间频率基准重点实验室, 陕西 西安, 710600;
3. 中国科学院大学天文与空间科学学院, 北京, 100049
摘要:Kalman滤波时间尺度算法是一种实时的原子钟状态估计方法,在守时实验室具有重要实用价值。由于原子钟状态模型误差估计存在偏差,Kalman滤波时间尺度算法中状态估计可能出现相应异常扰动,应当对状态模型误差进行实时控制。对此,引入基于渐消因子的改进Kalman滤波时间尺度算法。对状态预测协方差矩阵引入渐消因子,利用统计量实时计算渐消因子的量值,控制状态预测协方差阵的增长,降低了原子钟状态估计的扰动。实验结果表明,相比于标准Kalman滤波时间尺度算法和基于预测残差构造自适应因子的Kalman滤波算法,基于渐消因子的改进Kalman滤波时间尺度算法能够提高原子钟状态估计的准确度,改进时间尺度的稳定度。
关键词原子钟差    时间尺度    渐消因子    钟差模型    Kalman滤波    
An Improved Kalman Filter Time Scale Algorithm Based on Forgetting Factor
SONG Huijie1,2 , DONG Shaowu1,2,3 , WANG Yanping1,2 , AN Wei1,2 , HOU Juan1,2     
1. National Time Service Center, Chinese Academy of Sciences, Xi'an 710600, China;
2. Key Laboratory of Time and Frequency Primary Standard, Chinese Academy of Sciences, Xi'an 710600, China;
3. School of Astronomy and Space Sciences, University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: Kalman filter time scale algorithm is a real-time estimation method of atomic clock state. It is of great practical value in the time-keeping laboratory. Kalman filter algorithm is an effective algorithm of optimal filtering for Gaussian process. When the observation geometry information, dynamic model and statistical information are reliable, Kalman filtering calculation performance is better. However, when there is large error in the model, Kalman filter algorithm is seriously affected by "outdated" information and often makes the filter diverge, because the error estimation of atomic clock state has deviation. In Kalman filter time scale algorithm, the state estimation may appear abnormal perturbation. The state model error should be controlled in real time. So an improved algorithm based on forgetting factor is introduced in this paper. The forgetting factor is introduced to the state prediction covariance matrix. The value of the forgetting factor is calculated in real time, the growth of covariance matrix of state prediction is controlled. The disturbance of atomic clock state estimation is reduced. The significant difference between the improved Kalman filter algorithm and the normal Kalman filter algorithm is that the former state covariance matrix is inflated to reduce the use efficiency of historical state information, so as to achieve the purpose of reusing real measurement information. Experimental results show that, compared to the standard Kalman time scale algorithm and Kalman algorithm based on predicting residuals to construct adaptive factors, the improved Kalman filter time scale algorithm based on the forgetting factor can improve the accuracy of atomic clock state estimation and improve the stability of time scale.
Key words: atomic clock error    time scale    forgetting factor    clock offset model    Kalman filter    

在时间保持工作中,时间尺度相当于一台虚拟原子钟,这台虚拟原子钟是通过测量钟差实现的物理钟的加权平均。虚拟钟一般通过与某一台钟的偏差来表示。通常认为虚拟钟的短期频率稳定度与长期频率稳定度都优于任何单台原子钟[1]。时间保持实验室通常使用的时间尺度算法主要包括ALGOS算法、AT1算法和Kalman算法。ALGOS算法是一种典型的加权平均算法,2011年和2014年,国际度量衡局分别对ALGOS算法中的频率预报模型和权重进行了改进[2-3]。使用AT1算法的实验室主要有美国国家标准与技术研究院(National Institute of Standard and Technology,NIST)。AT1(NIST)算法是一种实时的原子时算法,也属于经典的加权平均算法。AT1(NIST)算法没有存储过去频率的真实值,只是考虑到频率的变化,用这种方法忽略了原子钟长期波动的信息[4-6]。而Kalman算法是一种实时算法,通过最优估计理论计算时间尺度,放弃了权重的概念[7],对参考钟和理想钟之间的差作最优估计,并将此值作为修正量,计算时间尺度。该算法所采用的最优估值是通过一个Kalman滤波器来实现的[8-10]

作为最优的实时算法,Kalman滤波得到了深入研究[11-15]。文献[11-12]通过研究模型误差的修复和噪声协方差阵的估计方法改进Kalman滤波算法,文献[8, 13]分析研究了Kalman滤波算法用于时间尺度计算的问题。文献[14]研究了自适应Kalman滤波解的性质。Kalman滤波时间尺度算法中状态模型随机误差噪声主要包括频率白噪声、频率随机游走噪声和频率随机奔跑噪声[15-19]。模型误差噪声主要为频率闪变噪声,可以利用马氏过程模拟计算噪声参数[20]。通常情况下,时域中误差噪声参数通过Allan方差或Hadamad方差估计。但是,根据“过时”原子钟的数据进行先验估计具有滞后性, 并且估计误差噪声本身具有一定误差。因此, 原子钟状态模型可能存在较大误差,导致Kalman滤波时间尺度算法的状态估计出现偏差,相应的时间尺度产生误差。鉴于此,本文基于渐消因子限制模型误差引起的状态估计偏差,即采用渐消因子限制Kalman滤波器的记忆长度,以便充分利用现实的观测数据增加时间尺度的准确性和稳定性。统计学界早在19世纪60年代和70年代就提出渐消滤波算法[21-22],渐消因子在模型预测与异常监测应用中取得了一定效果[23-24]

1 渐消Kalman滤波时间尺度算法 1.1 原子钟的Jones-Tryon模型

$ t_k$表示测量时刻,当原子钟$ i\left( {i = 1 \cdots n} \right)$到达时刻$ t_k$时,第$ i$台钟的时间$ {h_i}\left( {{t_k}} \right)$产生一个脉冲。这个时间不能独立测量,只能通过测量两台钟脉冲的间隔来实现。假定无测量噪声,测量钟差可以表示为两台钟时间之差。钟$ i$$ t_k$时刻的时差定义为$ {x_i}\left( {{t_k}} \right)$,钟$ i$的随机模型表示为:

$ \frac{{{\rm{d}}{x_i}\left( t \right)}}{{{\rm{d}}t}} = {y_i}\left( t \right) + {n_{{x_i}}}\left( t \right)\frac{{{\rm{d}}{y_i}\left( t \right)}}{{{\rm{d}}t}} = {n_{{y_i}}}\left( t \right) $ (1)

式中,$ {n_{{x_i}}}(t)$$ {n_{{y_i}}}(t)$是白噪声;$ {{y_i}}(t)$是频率部分。在测量时刻$ {t_{k - 1}}$$ {t_{k}}$求解式(1),可以得到离散时间模型:

$ {x_i}\left( t \right) = {x_i}\left( {{t_{k - 1}}} \right) + {y_i}\left( {{t_{k - 1}}} \right){\tau _0} + {w_{{x_i}}}\left( {{t_k}} \right) $ (2)
$ {y_i}\left( {{t_k}} \right) = {y_i}\left( {{t_{k - 1}}} \right) + {w_{{y_i}}}\left( {{t_k}} \right) $ (3)

式中,$ {\tau _0} = {t_{k + 1}} - {t_k}$表示连续两次之间的测量间隔;$ {w_{{x_i}}}({t_k})$$ {w_{{{\rm{y}}_i}}}({t_k})$分别表示$ {t_k}$时刻钟i的相位噪声和频率噪声。对于$ n$台钟的离散时间模型,可用矩阵表示为:

$ \mathit{\boldsymbol{X}}\left( {{t_k}} \right) = \mathit{\boldsymbol{ \boldsymbol{\varPhi} }}\left( {{\tau _0}} \right)\mathit{\boldsymbol{X}}\left( {{t_{k - 1}}} \right) + \mathit{\boldsymbol{W}}\left( {{t_k}} \right) $ (4)

式中,$ \mathit{\boldsymbol{X}}({t_k})$是系统状态;$ \mathit{\boldsymbol{ \boldsymbol{\varPhi} }}({\tau _0})$是一个由对角块组成的$ 2n \times 2n$的矩阵; 过程噪声$ \mathit{\boldsymbol{W}}({t_k})$是一个均值为0向量、协方差阵为$ \mathit{\boldsymbol{Q}}({\tau _0})$的随机向量,$ \mathit{\boldsymbol{Q}}({\tau _0})$是由对角块$ \left[ {\begin{array}{*{20}{c}} {{q_{{x_i}}}{\tau _0} + {q_{{y_i}}}\tau _0^3/3}&{{q_{{y_i}}}\tau _0^2/2}\\ {{q_{{y_i}}}\tau _0^2/2}&{{q_{{y_i}}}{\tau _0}} \end{array}} \right]$组成的$ 2n \times 2n$的矩阵, $ 2{q_{{x_i}}}$$ 2{q_{{y_i}}}$分别为白噪声$ {n_{{x_i}}}\left( t \right)$$ {n_{{y_i}}}\left( t \right)$的谱密度。

1.2 渐消Kalman滤波时间尺度算法及原理

$ {t_k}$时刻测量钟差通过时差可以表示为:

$ {x_{ij}}\left( {{t_k}} \right) = {x_i}\left( {{t_k}} \right) - {x_j}\left( {{t_k}} \right) + {e_{ij}}\left( {{t_k}} \right) $ (5)

式中,$ {e_{ij}}({t_k})$表示$ t_k$时刻测量噪声。

原子钟比对数据测量方程的矩阵表示为:

$ \mathit{\boldsymbol{Z}}\left( {{t_k}} \right) = \mathit{\boldsymbol{HX}}\left( {{t_k}} \right) + \mathit{\boldsymbol{V}}\left( {{t_k}} \right) $ (6)

式中,$ \mathit{\boldsymbol{Z}}\left( {{t_k}} \right) = {\left[ {{x_{21}}\left( {{t_k}} \right) \cdots {x_{n1}}\left( {{t_k}} \right)} \right]^{\rm{T}}}$H表示测量矩阵;$ \mathit{\boldsymbol{V}}\left( {{t_k}} \right)$表示$ t_k$时刻测量噪声向量。假定测量噪声向量均值为0,协方差矩阵为$ \mathit{\boldsymbol{R}}\left( {{t_k}} \right)$。假设第1台钟作为参考钟,对于3台钟的情况,$ \mathit{\boldsymbol{H}} = \left[ {\begin{array}{*{20}{c}} 1&0&{ - 1}&0&0&0\\ 1&0&0&0&{ - 1}&0 \end{array}} \right]$。Kalman滤波是高斯过程最优滤波的一种有效算法。当观测几何信息和动力学模型及统计信息可靠时,Kalman滤波计算性能较好。但当模型存在较大误差时,状态估计常常出现较大偏差[25]。原子钟时间尺度的Kalman滤波算法中,由于模型误差估计存在偏差,估计$ n$台钟的状态,只有$ n-1$组测量值,随着时间的累积,估计将出现偏差。本文采用渐消因子限制Kalman滤波器的记忆长度,以便充分利用现实的观测数据,提高估值的准确度。

渐消Kalman滤波估计的状态预测模型及相应的预测协方差矩阵分别为:

$ \mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right) = \mathit{\boldsymbol{ \boldsymbol{\varPhi} }}\left( {{\tau _0}} \right)\mathit{\boldsymbol{\hat X}}\left( {{t_{k - 1}}} \right) $ (7)
$ {\mathit{\boldsymbol{ \boldsymbol{\bar \varSigma} }}_{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}} = {\lambda _k}\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}\left( {{\tau _0}} \right){\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\hat X}}\left( {{t_{k - 1}}} \right)}}{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}^{\rm{T}}}\left( {{\tau _0}} \right) + \mathit{\boldsymbol{Q}}\left( {{\tau _0}} \right) $ (8)

式中,$ \mathit{\boldsymbol{\bar X}}({t_k})$$ t_k$时刻状态参数预测向量;$ \mathit{\boldsymbol{\hat X}}({t_{k{\rm{ - 1}}}})$$ {t_{k{\rm{ - 1}}}}$时刻状态参数向量的估值向量;$ {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\bar X}}({t_k})}}$$ t_k$时刻$ \mathit{\boldsymbol{\bar X}}({t_k})$的协方差矩阵;$ {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\hat X}}({t_{k{\rm{ - 1}}}})}}$$ {t_{k{\rm{ - 1}}}}$时刻$ \mathit{\boldsymbol{\hat X}}({t_{k{\rm{ - 1}}}})$的协方差矩阵;$ {\lambda _k}$为渐消因子。

渐消Kalman滤波状态估计为:

$ \mathit{\boldsymbol{\hat X}}\left( {{t_k}} \right) = \mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right) + {\mathit{\boldsymbol{\bar K}}_k}\left( {\mathit{\boldsymbol{Z}}\left( {{t_k}} \right) - \mathit{\boldsymbol{H\bar X}}\left( {{t_k}} \right)} \right) $ (9)

式中,$ {{\mathit{\boldsymbol{\bar K}}}_\mathit{k}}$为增益矩阵,

$ {\mathit{\boldsymbol{\bar K}}_k} = {\mathit{\boldsymbol{ \boldsymbol{\overline \varSigma} }} _{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}}{\mathit{\boldsymbol{H}}^{\rm{T}}}\left( {\mathit{\boldsymbol{H}}{{\mathit{\boldsymbol{ \boldsymbol{\overline \varSigma} }} }_{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}}{\mathit{\boldsymbol{H}}^{\rm{T}}} + \mathit{\boldsymbol{R}}\left( {{t_k}} \right)} \right) $ (10)
$ {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}} = \left( {\mathit{\boldsymbol{I}} - {{\mathit{\boldsymbol{\bar K}}}_k}\mathit{\boldsymbol{H}}} \right){\mathit{\boldsymbol{ \boldsymbol{\overline \varSigma} }} _{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}} $ (11)

式中,$ {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{{{\mathit{\boldsymbol{\hat X}}}_k}({t_k})}}$$ t_k$时刻状态估计向量协方差矩阵。根据Kalman滤波算法时间尺度的定义,在同一实验室,原子钟钟差的测量噪声可以忽略,时间尺度表示为:

$ {x_e}\left( {{t_k}} \right) = {x_i}\left( {{t_k}} \right) - {\hat x_i}\left( {{t_k}} \right) $ (12)

式中,$ {x_e}({t_k})$表示$ t_k$时刻计算的Kalman时间尺度;$ {{\hat x}_i}({t_k})$表示$ t_k$时刻钟i的时差状态估计。

1.3 渐消因子的求解

渐消Kalman滤波算法的关键是渐消因子$ {\lambda _k}$的确定。理论上,若$ {t_{k{\rm{ - 1}}}}$时刻状态估计误差大,则$ {\lambda _k}$应该增大,即$ {{\mathit{\boldsymbol{\hat X}}}_{k{\rm{ - 1}}}}$的误差在$ {{{\mathit{\boldsymbol{\hat X}}}_k}}$中的影响应小。有多种确定渐消因子的方法[26-27],考虑到状态模型存在误差或状态受到干扰时,滤波算法仍然保持某种最优性,渐消因子的最优性原理描述如下。

设估计误差$ \mathit{\boldsymbol{r}}({t_k})$为:

$ \mathit{\boldsymbol{r}}\left( {{t_k}} \right) = Z\left( {{t_k}} \right) - \mathit{\boldsymbol{H}} \cdot \mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right) $ (13)

最优性要求不同时刻的估计误差是不相关的,表达式为:

$ {C_j}\left( {{t_k}} \right) = E\left[ {\mathit{\boldsymbol{r}}\left( {{t_{k + j}}} \right) \cdot {\mathit{\boldsymbol{r}}^{\rm{T}}}\left( {{t_k}} \right)} \right] \equiv 0,j \ne 0 $ (14)

经推导,式(14)成立的条件为:

$ {\mathit{\boldsymbol{ \boldsymbol{\overline \varSigma} }} _{\bar X\left( {{t_k}} \right)}} \cdot {\mathit{\boldsymbol{H}}^{\rm{T}}} - {\mathit{\boldsymbol{\bar K}}_k} \cdot {\mathit{\boldsymbol{C}}_0}\left( {{t_k}} \right) \equiv 0 $ (15)

式中,$ {\mathit{\boldsymbol{C}}_0}\left( {{t_k}} \right) = \mathit{\boldsymbol{H}} \cdot {{\mathit{\boldsymbol{ \boldsymbol{\bar \varSigma} }}}_{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}} \cdot {\mathit{\boldsymbol{H}}^{\rm{T}}} + \mathit{\boldsymbol{R}}\left( {{t_k}} \right)$。式(15)是构造最优自适应因子的基础,设函数$ f\left( {{t_k}} \right)$为:

$ f\left( {{t_k}} \right) = {\mathit{\boldsymbol{ \boldsymbol{\overline \varSigma} }} _{\mathit{\boldsymbol{\bar X}}\left( {{t_k}} \right)}} \cdot {\mathit{\boldsymbol{H}}^{\rm{T}}} - {\mathit{\boldsymbol{\bar K}}_k} \cdot {\mathit{\boldsymbol{C}}_0}\left( {{t_k}} \right) $ (16)

最优自适应因子求解要求$ f\left( {{t_k}} \right)$最小,同时考虑到滤波算法的实际误差大于理论误差,文中采用如下算法[27]

$ {\lambda _k} = \max \left\{ {1,{\rm{tr}}\left( {{\mathit{\boldsymbol{N}}_k}} \right)/{\rm{tr}}\left( {{\mathit{\boldsymbol{M}}_k}} \right)} \right\} $ (17)

式中,$ {\lambda _k}$表示$ {t_k}$时刻状态参数预测向量协方差矩阵的渐消因子;$ {\rm{tr}}\left( {\rm{ }} \right)$表示矩阵求迹符号;$ {\mathit{\boldsymbol{M}}_k}$$ {\mathit{\boldsymbol{N}}_k}$为:

$ {\mathit{\boldsymbol{M}}_k} = \mathit{\boldsymbol{H \boldsymbol{\varPhi} }}\left( {{\tau _0}} \right){\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\hat X}}\left( {{t_{k - 1}}} \right)}}{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}^{\rm{T}}}\left( {{\tau _0}} \right){\mathit{\boldsymbol{H}}^{\rm{T}}} $ (18)
$ {\mathit{\boldsymbol{N}}_k} = {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\bar V}}\left( {{t_k}} \right)}} - \mathit{\boldsymbol{HQ}}\left( {{\tau _0}} \right){\mathit{\boldsymbol{H}}^{\rm{T}}} - \mathit{\boldsymbol{R}}\left( {{t_k}} \right) $ (19)

式中,$ {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{\mathit{\boldsymbol{\bar V}}({t_k})}}$表示$ t_k$时刻预测残差向量的协方差矩阵;预测残差向量表达式为:

$ \mathit{\boldsymbol{\bar V}}\left( {{t_k}} \right) = \mathit{\boldsymbol{H\bar X}}\left( {{t_k}} \right) - \mathit{\boldsymbol{Z}}\left( {{t_k}} \right) $ (20)

为了敏感地反映当前观测历元动力学模型的误差状态,对预测残差向量的协方差矩阵进行估计[28]

$ {\mathit{\boldsymbol{ \boldsymbol{\hat \varSigma} }}_{\mathit{\boldsymbol{\bar V}}\left( {{t_k}} \right)}} = \left\{ {\begin{array}{*{20}{c}} {\frac{{{\lambda _{k - 1}}\mathit{\boldsymbol{\bar V}}\left( {{t_k}} \right){{\mathit{\boldsymbol{\bar V}}}^{\rm{T}}}\left( {{t_k}} \right)}}{{1 + {\lambda _{k - 1}}}},}&{k > 1}\\ {\frac{1}{2}{{\mathit{\boldsymbol{\bar V}}}_0}\mathit{\boldsymbol{\bar V}}_0^{\rm{T}},}&{k = 1} \end{array}} \right. $ (21)

式中,$ {\mathit{\boldsymbol{\bar V}}}_0$$ k=0$时的预测残差向量。

2 实验与分析

为了验证本文方法的有效性,将本文方法与标准Kalman算法(以下简称Kalman算法)和基于预测残差构造自适应因子的Kalman算法(以下简称A-Kalman算法)作了对比。文中数据来源于国家授时中心时频基准实验室原子钟的比对数据,测量精度为0.01 ns,数据的采样间隔为1 h。取样时间段为2016-01-01—2016-04-29, MJD(modified Julian date)为57 388~57 507.96,总长度为120 d。考虑到计算量,随机选取Cs2959、Cs1011及Cs2573 3台铯原子钟进行实验。

采用Kalman算法,A-Kalman算法和基于渐消因子的改进Kalman算法(以下简称F-Kalman算法)进行分析。算例中3台铯原子钟的状态模型噪声误差取值方法如下:根据原子钟的测量数据计算不同取样时间的Allan方差估计值,频率白噪声参数$ q_1$和频率随机游走噪声参数$ q_2$与Allan方差估计值的关系为:

$ {\rm{ADE}}{{\rm{V}}^2}\left( \tau \right) = {q_1}{\tau ^{ - 1}} + \frac{1}{3}{q_2}\tau + \cdots $ (22)

式中, ADEV表示Allan偏差,对于原子钟可以忽略方程右侧的省略项,根据最小二乘原理估计参数$ q_1$$ q_2$的值。对3台铯原子钟状态模型噪声误差参数估计频率白噪声分别为1.92×10-15、1.62×10-15、1.07×10-15 ns2/ns,频率随机游走噪声为0 ns2/ns。

文中对4个连续的区间(I1~I4)用3种方法分别进行了时间尺度估计。I1、I2、I3及I4区间分别表示为MJD(57 388~57 417.96)、MJD(57 418~57 447.96)、MJD(57 448~57 477.96)和MJD(57 478~57 507.96)时间段。I1区间采用相对于世界协调时时间标准的前一时刻各台原子钟的相位偏差和前30 d数据估计的速率值作为3种Kalman滤波时间尺度估计的初始值。I2区间3种算法的Kalman滤波时间尺度估计采用I1区间相应算法得到的最后时刻的相位值估计和速率值估计作为初始值。I3和I4区间根据同样的方法计算初始值。测量噪声忽略,计算周期为30 d。图 1表示Kalman算法、A-Kalman算法与F-Kalman算法的计算结果比较。表 1表 2给出了3种Kalman算法计算时间尺度的最大值与最小值。

图 1 3种Kalman滤波算法不同区间的时间尺度估计 Fig. 1 Time Scale Estimations of Three Kinds of Kalman Filter Algorithm in Different Ranges
表 1 时间尺度不同区间的最大值估计/ns Tab. 1 The Maximum Estimation of Time Scales in Different Ranges/ns
计算方法 I1 I2 I3 I4
Kalman 16.59 4.43 1.20 8.80
A-Kalman 14.70 3.98 1.20 5.76
F-Kalman 14.64 3.41 1.24 5.14
表 2 时间尺度不同区间的最小值估计/ns Tab. 2 The Minimum Estimation of Time Scales In Different Ranges/ns
计算方法 I1 I2 I3 I4
Kalman -8.28 -12.94 -11.16 -8.19
A-Kalman -7.81 -12.71 -9.04 -7.90
F-Kalman -7.59 -11.79 -9.02 -7.15

图 1表 1表 2可知,同一算法不同时间段计算的时间尺度准确度不同。这主要是因为在相应计算区间,原子钟的状态模型噪声参数不是常量,利用固定的噪声参数会给原子钟的状态估计引入一定误差。相比于Kalman算法和A-Kalman算法,F-Kalman算法能够进一步提高原子钟状态估计的准确度。可以看出,在I1、I2、I3及I4区间,时间尺度的最大值与最小值都有不同程度的改善,I4区间时间尺度的最大值降低了3.66 ns和0.62 ns,I3区间时间尺度的最小值改善了2.14 ns和0.02 ns。以上4个区间,最大值平均降低了1.65 ns和0.31 ns,最小值平均改善了1.26 ns和0.45 ns。这主要是因为模型误差较大时,F-Kalman尺度算法通过增大了渐消因子降低模型预测值的比重,相应增大了测量值的使用效率,提高了估计的准确度。

分析3种Kalman算法计算时间尺度的稳定度,由图 2表 3可知,相比Kalman算法和A-Kalman算法,F-Kalman算法计算得到的时间尺度的稳定度有较明显改善。各区间稳定度提高情况分别为:I1区间平均稳定度提高2.42×10-15和1.40×10-15, 最大提高为7.40×10-15和4.20×10-15(取样时间为16 h)。I2区间平均稳定度提高2.00×10-15和3.12×10-16, 最大提高为4.90×10-15(取样时间为128 h)和8.0×10-15(取样时间为64 h)。I3区间平均稳定度提高1.03×10-15和1.80×10-16, 最大提高为2.80×10-15(取样时间为16 h)和1.00×10-15(取样时间为16 h)。I4区间平均稳定度提高3.50×10-15和2.66×10-15, 最大提高为6.25×10-15(取样时间为64 h)和4.00×10-15(取样时间为1 h)。分析得出,取样时间大于等于16 h,相比于Kalman算法,F-Kalman算法的尺度稳定度提高较明显,说明模型状态模型误差主要影响原子钟取样时间大于等于16 h时的稳定度。因此,相比Kalman算法,F-Kalman算法能够改善时间尺度的中长期稳定度。相比A-Kalman算法,F-Kalman算法的尺度稳定度也有提高。

图 2 3种Kalman时间尺度不同区间的Allan偏差估计 Fig. 2 The Allan Deviation Estimation of Three Kalman Time Scales in Different Ranges
表 3 3种Kalman滤波时间尺度稳定度估计 Tab. 3 The Stability Estimation of Three Kalman Filter's Time Scales
间隔/h Kaman/10-14 A-Kalman/10-14 F-Kalman/10-14
1 16.5 16.4 16.0
2 11.6 11.6 11.3
4 8.52 8.58 8.47
8 4.78 4.87 4.47
16 3.12 3.02 2.71
32 2.35 2.22 1.92
64 1.47 1.01 0.85
128 0.65 0.62 0.47

根据标准Kalman滤波算法和F-Kalman算法计算时间尺度,设定两种算法的状态初始估计及相应的协方差矩阵相同,对于F-Kalman算法,根据式(8),将渐消因子引入到状态预测协方差矩阵进行计算。根据式(17)计算渐消因子的值,区间I1、I2、I3及I4的时间尺度计算过程中渐消因子如图 3所示。可以得出,4个区间的渐消因子都大于等于1,渐消因子等于1时,F-Kalman算法等同于标准Kalman滤波算法;渐消因子大于1时,改进Kalman算法降低了模型信息的权重,渐消因子在改进Kalman滤波时间尺度算法中通过膨胀状态预测协方差矩阵降低了模型信息的影响,增大测量信息对状态估计的贡献。根据实验结果可知,相比标准Kalman滤波算法,时间尺度的估计误差较小,准确度提高。对于时间尺度的稳定度,相比Kalman算法,F-Kalman算法估计误差降低,时间尺度波动变小,稳定度提高。本文算法主要是通过预测残差向量实时判断模型误差。如果预测残差向量较小,判断原子钟状态能够较好地符合模型;如果预测残差向量较大,说明原子钟运行受到异常扰动的影响,通过计算最优渐消因子降低了模型误差的影响。

图 3 Kalman算法在不同区间渐消因子的变化 Fig. 3 The Variation of Forgetting Factor in Kalman Algorithm in Different Ranges

对于渐消因子取值情况分析如下。文中3台铯原子钟运行于时频基准实验室稳定的环境中,原子钟分别通过双混频时差检测设备和SR620测量设备参加测量比对,未发现数据异常。一方面,通常对于铯原子钟利用两状态模型,但是由于部分铯原子钟长期运行出现老化现象,这时两状态模型已经不能很好地符合原子钟的实际运行状态,出现模型误差。另一方面,原子钟的随机噪声估计存在误差,原子钟的随机噪声主要通过原子钟历史测量数据进行估计。首先根据历史测量数据估计其Allan方差,然后根据估计的Allan方差计算噪声参数。这样当前时刻的噪声参数与历史时刻的噪声参数可能有所差异,通过Allan方差估计噪声参数的过程也可能存在误差。

3 结语

本文提出了基于渐消因子的改进Kalman滤波时间尺度算法,该方法通过对标准Kalman时间尺度算法引入渐消因子,能够对前一时刻的状态估值协方差矩阵进行膨胀,降低前一时刻状态估值的使用效率,即更多地依赖当前历元的观测信息。该方法有效抵制了由于原子钟状态模型误差引入的状态估计偏差。通过铯原子钟建立的时间尺度进行比较分析,相比于标准Kalman算法和A-Kalman算法,该方法提高了时间尺度的准确度和稳定度,适用于原子钟的实时频率驾驭。下一步将在本文算法的基础上,研究原子钟的频率驾驭算法,充分利用本文算法的性能,提高频率驾驭的准确性和稳定性。

参考文献
[1]
Greenhall C A. Forming Stable Timescales from the Jones-Tryon Kalman Filter[J]. Metrlogia, 2003, 40(3): 335-341. DOI:10.1088/0026-1394/40/3/313
[2]
Panfilo G, Harmegnies A, Tisserand L. A New Prediction Algorithm for the Generation of Internationnal Atomic Time[J]. Metrologia, 2012, 49(1): 49-56.
[3]
Panfilo G, Harmegnies A, Tisserand L. A New Weighting Procedure for UTC[J]. Metrologia, 2014, 51(3): 285-292. DOI:10.1088/0026-1394/51/3/285
[4]
Liu Shuai, Jia Xiaolin, Sun Dawei. Performance Evaluation of GNSS On-board Atomic Clock[J]. Geomatics and Information Science of Wuhan University, 2017, 42(2): 277-284. (刘帅, 贾小林, 孙大伟. GNSS星载原子钟性能评估[J]. 武汉大学学报·信息科学版, 2017, 42(2): 277-284. )
[5]
Huang Guanwen, Yu Hang, Guo Hairong, et al. Analysis of the Mid-long Term Characterization for BDS On-orbit Satellite Clocks[J]. Geomatics and Information Science of Wuhan University, 2017, 42(7): 982-988. (黄观文, 余航, 郭海荣, 等. 北斗在轨卫星钟中长期钟差特性分析[J]. 武汉大学学报·信息科学版, 2017, 42(7): 982-988. )
[6]
Zhang Lili, Gao Yuan, Zhu Jiangmiao, et al. Reseach on AT1 Atomic Time Algorithm[J]. Electronic Measurement Technology, 2007, 30(11): 20-24. (张莉莉, 高源, 朱江淼, 等. AT1原子时算法的研究[J]. 电子测量技术, 2007, 30(11): 20-24. DOI:10.3969/j.issn.1002-7300.2007.11.006 )
[7]
Tryon P V, Jones R H. Estimation of Parameters in Models for Cesium Beam Atomic Clocks[J]. Journal of Reasearch of the National Bureau of Standards, 1983, 88(1): 3-16. DOI:10.6028/jres.088.001
[8]
Wang Ning, Wang Yupu, Li Linyang, et al. Stability Analysis of the Space-borne Atomic Clock Frequency for BDS[J]. Geomatics and Information Science of Wuhan University, 2017, 42(9): 1256-1263. (王宁, 王宇谱, 李林阳, 等. BDS星载原子钟频率稳定度分析[J]. 武汉大学学报·信息科学版, 2017, 42(9): 1256-1263. )
[9]
Charles A. Greenhall C A. Kalman Plus Weights: A Time Scale Algorithm[C]. The 33rd Annual Precise Time and Time Interval(PTTI)Meeting, Long Beach, CA, USA, 2001
[10]
Suess M, Greenhall C A. Combined Covariance Reductions for Kalman Filter Composite Clocks[J]. Metrologia, 2012, 49(4): 588-596. DOI:10.1088/0026-1394/49/4/588
[11]
Gui Qingming, Han Songhui. Adaptation of Model Errors in Kalman Filtering[J]. Geomatics and Information Science of Wuhan University, 2010, 35(8): 983-987. (归庆明, 韩松辉. Kalman滤波模型误差的修复[J]. 武汉大学学报·信息科学版, 2010, 35(8): 983-987. )
[12]
Lin Xu, Luo Zhicai. A New Noise Covariance Matrix Estimation Method of Kalman Filter for Satellite Clock Errors[J]. Acta Phys Sin, 2015, 64(8): 1-6. (林旭, 罗志才. 一种新的卫星钟差Kalman滤波噪声协方差估计方法[J]. 物理学报, 2015, 64(8): 1-6. )
[13]
Galleani L, Tavella P. On the Use of the Kalman Filter in Timescales[J]. Metrlogia, 2003, 40(3): 326-334. DOI:10.1088/0026-1394/40/3/312
[14]
Yang Yuanxi. Properties of the Adaptive Filtering for Kinematic Positioning[J]. Acta Geodaetica et Cartographica Sinica, 2003, 32(3): 189-192. (杨元喜. 动态定位自适应滤波解的性质[J]. 测绘学报, 2003, 32(3): 189-192. DOI:10.3321/j.issn:1001-1595.2003.03.001 )
[15]
Wu Yiwei, Mou Weihua, Gong Hang, et al. A Time Scale Algorithm Based on Adjusting Predictions Using Kalman Filters[J]. Geomatics and Information Science of Wuhan University, 2016, 41(6): 1253-1258. (伍贻威, 牟卫华, 龚航, 等. 使用Kalman滤波器调整预测值的时间按尺度算法[J]. 武汉大学学报·信息科学版, 2016, 41(6): 1253-1258. )
[16]
Greenhall C A. A Kalman Filter Clock Ensemble Algorithm that Admits Measurement Noise[J]. Metrlogia, 2006, 43(4): 311-321. DOI:10.1088/0026-1394/43/4/S19
[17]
Federica P, Gianna P. A New Approach to UTC Calculation by Means of the Kalman Filter[J]. Metrologia, 2016, 53(5): 1185-1192. DOI:10.1088/0026-1394/53/5/1185
[18]
Zhang Qinghua, Sui Lifen, Jia Xiaolin. Monitor State of GPS Rb Clock Using Jones-Tryon Kalman Filter[J]. Geomatics and Information Science of Wuhan University, 2012, 37(4): 436-440. (张清华, 隋立芬, 贾小林. 应用Jones-Tryon Kalman滤波器对在轨GPS Rb钟进行状态检测[J]. 武汉大学学报·信息科学版, 2012, 37(4): 436-440. )
[19]
Zucca C, Tavella P. The Clock Model and Its Relationship with the Allan and Related Variances[J]. IEEE Trans Ultrason Ferroelectr Freq Control, 2005, 52(2): 289-295. DOI:10.1109/TUFFC.2005.1406554
[20]
Davis J A, Greenhall C A, Stacey P W. A Kalman Filter Clock Algorithm for Use in the Presence of Flicker Frequency Modulation Noise[J]. Metrologia, 2005, 42(1): 1-10.
[21]
Fagin S L. Recursive Linear Regression Theory, Optimal Filter Theory and Error Analysis of Optimal System[J]. IEEE Int Convent Record, 1964, 12(1): 216-240.
[22]
Sorenson H W, Sacks J E. Recursive Fading Memory Filtering[J]. Inform, 1971, 3(2): 101-119.
[23]
Yu Heli, Hao Jinming, Liu Weiping, et al. A RealTime Anomaly Monitoring Algorithm for Satellite Clock[J]. Geomatics and Information Science of Wuhan University, 2016, 41(1): 106-110. (于合理, 郝金明, 刘伟平. 一种卫星钟差异常实时监测算法[J]. 武汉大学学报·信息科学版, 2016, 41(1): 106-110. )
[24]
Song Cheng, Wang Xuefei, Zhuang Zhaowen. A Method for GPS Receiver Clock Offset Prediction Based on the Forgetting Factor Least Squares[J]. Science of Surveying and Mapping, 2008, 33(S1): 41-43. (宋成, 王雪飞, 庄钊文. 基于遗忘因子最小二乘的GPS接收机钟差预测算法研究[J]. 测绘科学, 2008, 33(S1): 41-43. )
[25]
Yang Yuanxi, Gao Weiguang. Comparison of Two Fading Filters and Adaptively Robust Filter[J]. Geomatics and Information Science of Wuhan University, 2006, 31(11): 980-982. (杨元喜, 高为广. 两种渐消滤波与自适应抗差滤波的综合比较分析[J]. 武汉大学学报·信息科学版, 2006, 31(11): 980-982. )
[26]
Fagin R L. Recursive Linear Regression Theory, Optimal Filter Theory and Error Analysis of Optimal Systems[J]. IEEE Int Convent Record, 1964, 12: 216-240.
[27]
Xia Qijun, Sun Youxian, Zhou Chunhui. An Optimal Adaptive Algorithm for Fading Kalman Filter and Its Application[J]. Acta Automatica Sinica, 1990, 16(3): 210-216. (夏启军, 孙优贤, 周春晖. 渐消卡尔曼滤波器的最佳自适应算法及其应用[J]. 自动化学报, 1990, 16(3): 210-216. )
[28]
Fang Jiancheng, Shen Gongxun, Wan Dejun, et al. Study on Adaptive Kalman Filtering Model and Algorithm in GPS Kinematic Positioning[J]. Signal Processing, 1998, 14(2): 98-103. (房建成, 沈功勋, 万德钧. GPS动态定位中自适应卡尔曼滤波研究[J]. 信号处理, 1998, 14(2): 98-103. )