基于误差修正的GM(1,1)导航卫星钟差预报算法
2019-09-10牛树华周智勇
牛树华,于 烨,黄 默,周智勇
(1.海军装备部装备装备审价中心,北京 100040;2.中国科学院微电子研究所,北京 100029; 3.中国科学院大学,北京 100049)
0 引 言
在全球卫星导航系统(GNSS)之中,星载原子钟的钟差是定位、导航和授时(PNT)的主要误差源之一。目前,国际IGS(International GNSS Service)数据分析中心发布的事后精密卫星钟差产品的精度小于0.1 ns,可以实现厘米级的精密单点定位(PPP)的需求,但是该产品需要在13天之后才能获取,不能满足用户对实时性的需求。因此,获得高精度、实时性好的卫星钟差产品对于实现PPP显得极为重要[1-3]。所以,如何去提高卫星钟差预报的精度和准确度一直都是GNSS中一个热点问题之一。
近些年来,国内外许多学者对卫星钟差预报进行了多角度和多方位的研究,提出了多种卫星钟差预报的方法。主要有:二次多项式模型(QPM)、灰色模型(GM (1,1))、卡尔曼滤波模型(KF)、自回归模型(AR(p))、自回归滑动平均模型(ARMA)、人工神经网络(ANN)模型、泛函网络模型和支持向量机(SVM)模型等[4-15]。这些预报方法分别适用于不同情况下导航卫星星载原子钟钟差的短期、中长期和长期的预报,但也均有各自的适用范围和局限性。例如:灰色模型适合处理数据量少、样本小、信息不全的不确定性问题,计算简便,抗干扰能力强[16]。但是,研究者们在应用灰色模型预报卫星钟差时,没有考虑到灰色模型在建立模型预报卫星钟差时的模型残差,致使灰色模型的预报精度不高。
本文针对灰色模型在预报卫星钟差时精度的不足,提出了应用二次多项式模型去修正灰色模型建模残差的卫星钟差预报算法。该算法首先采用灰色模型对卫星钟差进行建模,在建模的过程中会产生模型残差,然后对模型残差应用二次多项式模型进行建模,之后再进行预报。最后将灰色模型预报的结果与模型残差预报的结果对应相加即得到卫星钟差的最终预报值。同时,将该误差修正后的灰色模型应用到了卫星钟差预报之中,从预报试验结果的对比分析,验证了该修正方法的有效性和优越性。
1 GM(1,1)预报模型
设有1组卫星钟差序列:X(0)={x(0)(1),x(0)(2),…,x(0)(n)},对这组卫星钟差序列进行一次累加操作处理[17],生成1组新的数据序列X(1):
X(1)={x(1)(1),x(1)(2),…,x(1)(n)}
(1)
对生成的这组新的数据序列X(1)建立如下的一阶微分方程模型:
(2)
式中:系数a称为灰色模型的发展系数;系数u称为灰色模型的灰作用量。
对式(2)进行离散化操作处理,可得到如下的矩阵方程:
(3)
根据最小二乘法可得到上式矩阵方程的最小二乘解为:
(4)
将式(4)代入式(2)得:
(5)
求解时间响应函数式(5)的解为:
k=1,2,…,n-1
(6)
由于数据序列X(1)是卫星钟差序列X(0)的累加序列,所以卫星钟差序列X(0)的预报模型为:
(7)
式中:k=1,2,…,n-1。
更一般的形式为:
(8)
式中:j为参与建模的卫星钟差的个数,j=1,2,…,n;p为预报的点数,p=1,2,…,m。
2 误差修正的GM(1,1)预报模型的构建
结合式(3)和式(4)可知,灰色模型在建模的过程中会产生如下的模型残差:
(9)
为了减小灰色模型的建模误差,这里使用如下的方法对灰色模型的建模误差进行修正。对灰色模型的模型残差e={e1,e2,…,en}建立如下的模型,然后进行预报:
e=rt2+s
(10)
由最小二乘法可得如下的矩阵方程:
(11)
由式(10)和式(11),即可得到灰色模型的模型残差的预报模型为:
(12)
结合式(8)和式(12),即可得到误差修正后的灰色模型的最终预报模型为:
(13)
由以上预报模型即可对未来任意时刻的卫星钟差进行预报。
3 试验与分析
3.1 试验数据来源
为了验证本文算法的有效性和可行性,从国际IGS服务器(ftp://cddis.gsfc.nasa.gov)上下载了2018年5月6日00:00至2018年5月7日12:00共36 h的IGS事后精密卫星钟差产品进行预报试验,其采样间隔为15 min,即1 h记录4个历元的卫星钟差。考虑到目前在轨的GPS卫星有31颗,且有29颗卫星搭载的是铷原子钟,所以随机选取了3颗搭载铷原子钟卫星的卫星钟差进行预报试验。它们分别是PRN02、PRN22和PRN32号卫星,截止2019年5月10日,它们的相关信息如表1所示。
表1 选择的卫星相关信息
3.2 预报方案与结果分析
本试验采用12 h的卫星钟差,即:2018年5月6日00∶00至5月6日12∶00,共计49个历元分别去建立二次多项式模型(QPM)、灰色模型(GM(1,1))和误差修正的灰色模型(修正GM(1,1))。然后用建立好的模型去预报未来6 h、12 h、18 h和24 h的卫星钟差,即预报历元的步长为24、47、72和96个,将接下来6 h、12 h、18 h和24 h的实际观测卫星钟差与各模型预报的卫星钟差相减就得到了预报误差。因为国际IGS服务器上发布的为事后卫星钟差产品,其自身误差小于0.1 ns,所以,可以作为“真值”,使用均方根误差(RMS)(其计算公式见式(14))和最大误差与最小误差之差的绝对值,即极差Range(其计算公式见式(15))作为评价预报结果的统计量,去检验QPM、GM(1,1)和修正GM(1,1)模型所预报结果的好坏程度。其中RMS表征了预报结果的精度,Range表征了算法的稳定性[18]。
(14)
(15)
图1~图3和表2分别给出了QPM、GM(1,1)和修正GM(1,1)模型预报误差的变化情况和预报误差的统计特性。
结合图1~图3和分析表2可知:
图1 PRN02号卫星6 h、12 h、18 h和24 h的预报误差
图2 PRN22号卫星6 h、12 h、18 h和24 h的预报误差
图3 PRN32号卫星6 h、12 h、18 h和24 h的预报误差
(1) 在建立卫星钟差模型中,应用二次多项式模型时,其预报误差呈快速上升趋势。对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小均方根误差分别为0.38 ns、1.06 ns、2.21 ns和3.29 ns。应用灰色模型时,其预报误差也呈快速上升趋势。对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小均方根误差分别为0.28 ns、0.83 ns、1.78 ns和2.63 ns。而应用误差修正的灰色模型时,其预报误差呈缓慢上升趋势。对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小均方根误差分别为0.20 ns、0.37 ns、0.56 ns和1.05 ns。从以上分析可以看出,误差修正的灰色模型算法的预报精度比二次多项式模型和灰色模型的预报精度都要好。
(2) 在建立卫星钟差模型中,应用二次多项式模型时,对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小极差分别为0.88 ns、2.42 ns、4.55 ns和6.59 ns。应用灰色模型时,对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小极差分别为0.77 ns、1.60 ns、3.41 ns和4.50 ns。而应用误差修正的灰色模型时,对于PRN02、PRN22和PRN32号卫星,预报未来6 h、12 h、18 h和24 h卫星钟差时,预报误差的最小极差分别为0.34 ns、1.07 ns、1.37 ns和2.92 ns。从以上分析可以看出,误差修正的灰色模型算法相比于二次多项式模型和灰色模型有更好的算法稳定性。
表2 卫星钟差预报误差统计结果 (单位:ns)
(3)应用二次多项式模型时,预报未来6 h、12 h、18 h和24 h的卫星钟差时的平均均方根误差分别为1.39 ns、2.61 ns、4.49 ns和6.61 ns,平均极差分别为2.11 ns、4.42 ns、8.50 ns和12.63 ns;应用灰色模型时,预报未来6 h、12 h、18 h和24 h的卫星钟差时的平均均方根误差分别为0.73 ns、1.25 ns、2.06 ns和2.88 ns,平均极差分别为1.32 ns、2.41 ns、3.99 ns和5.37 ns;而应用误差修正的灰色模型时,预报未来6 h、12 h、18 h和24 h的卫星钟差时的平均均方根误差分别为0.23 ns、0.54 ns、1.12 ns和1.88 ns,平均极差分别为0.69 ns、1.57 ns、2.66 ns和4.40 ns,它相比于二次多项式模型的平均均方根误差分别提高了83.50%、79.30%、75.10%和71.60%,平均极差分别提高了67.30%、64.50%、68.70%和65.20%;相比于灰色模型的平均均方根误差分别提高了68.50%、56.80%、45.60%和34.70%,平均极差分别提高了47.70%、26.60%、33.30%和18.10%。
4 结束语
针对灰色模型在预报卫星钟差时精度的不足,本文提出了应用二次多项式模型去修正灰色模型在建模过程中产生的模型残差的卫星钟差预报算法。该算法首先采用灰色模型对卫星钟差进行建模,在建模的过程中会产生模型残差,然后对模型残差应用二次多项式模型进行建模,之后再进行预报。最后将灰色模型预报的结果与模型残差预报的结果对应相加,即得到了卫星钟差的最终预报值。这种模型残差修正的方法把2种模型的预报优势有机地结合起来,从而提高了灰色模型的预报性能,进一步提高了卫星钟差的预报精度。经预报试验分析,结果也表明了该修正方法的有效性和可行性,并且具有较好的算法稳定性,为卫星钟差预报研究在实际的应用中提供了一种新的思路。