周圣淇 王中元 胡 超 王瑞光 姚雪燕
1 中国矿业大学环境与测绘学院,江苏省徐州市大学路1号,221116 2 安徽理工大学空间信息与测绘工程学院,安徽省淮南市泰丰大街168号,232001
星载原子钟作为GNSS导航卫星的重要载荷之一,维持着导航系统星上时间基准,其性能决定着导航卫星在轨服务寿命与精密单点定位(PPP)精度。卫星钟差通过GFZ、WHU等数据分析中心发布,其采样间隔为900 s、300 s、30 s。然而在实际应用中,接收机采样间隔为30 s、15 s、10 s、1 s甚至更低。观测数据不能满历元对应钟差产品历元,因此钟差产品无法满足实际应用需求,需要将卫星钟差产品进行建模加密,获得与实际观测值相同或更小采样间隔的卫星钟差数据[1]。
为获取更加连续和精确的钟差改正值,需要使用内插或拟合方法对钟差产品进行加密。目前,国内外常用的卫星钟差建模加密算法有[2-3]:线性插值(linear interpolation)、拉格朗日插值(Lagrange polynomial interpolation)、切比雪夫拟合(Chebyshev polynomial fitting)、最小二乘多项式拟合(least squares polynomial fitting)等。本文在最小二乘多项式拟合基础上,提出附加L1范数正则项(Lasso),并采用滑动建模方法,即滑动Lasso拟合法建立参数稀疏的GNSS瞬时钟差模型。使用GFZ提供的精密钟差产品,将滑动Lasso拟合法与滑动拉格朗日插值、滑动切比雪夫拟合、滑动最小二乘多项式拟合等3种常用的钟差建模加密算法进行卫星钟差拟合精度及PPP定位精度对比。
稀疏模型的建立是在利用最小二乘多项式构建卫星钟差模型时附加L1范数正则项,减少卫星钟差数据中的误差,以增加偏差的方式来减少方差,抑制钟差模型过拟合,达到约束模型参数和去除次要变量的目的[4]。
Lasso算法函数表达式为:
W=argminW{(Y-XW)TP(Y-XW)+
α‖wj‖1}
(1)
式中,W为瞬时钟差模型的参数矩阵;Y为真实钟差值;α为正则化参数;‖wj‖1为W的L1范数。
本文使用快速迭代收缩阈值算法(FISTA)对Lasso进行求解,其表达式为:
(2)
式中,S(,)为软阈值算子;ψk为Nestrerov加速迭代回归参数。令
f(W)=(Y-XW)TP(Y-XW)
(3)
g(W)=α‖wj‖1
(4)
使用梯度下降法求解f(W),其中f(W)梯度计算使用2阶泰勒展开式,忽略常数项,近端迭代式为:
Wk=argmin
λ‖W‖1+const}
(5)
设置Nestrerov加速项,ψk为Wk-1和Wk-2的线性组合,tk为组合权重因子,则:
(6)
(7)
将ψk代替Wk-1代入式(5)可得到式(1)解算的参数迭代式,若ψk-Wk小于设定的阈值或达到最大迭代次数,则返回拟合模型的系数向量。钟差拟合模型的正则化参数选取通过K折交叉验证(K-fold CV)来确定。研究表明[5],10折交叉验证能够更好地确定钟差模型拟合的正则化参数。
滑动Lasso拟合算法通过不断变换拟合区域,令需要加密的区间始终处于钟差拟合精度较高区域的中心。因此,使用滑动式方法建模加密能够提高模型精度,大大减少拟合模型边缘区域误差较大的问题[6]。
为验证滑动Lasso拟合算法在钟差模型拟合中的精度及有效性,使用德国地学研究中心(GFZ) 2020-06-29~07-01发布的300 s采样间隔的GBM精密钟差产品进行卫星钟差拟合精度与PPP定位精度分析。
在进行钟差建模前,需要对钟差数据进行预处理,去除大部分粗差以及钟跳[7]。本文采用中位数偏差法(MAD)进行钟差数据异常检测,公式如下:
(8)
式中,m=Median{yi},yi为时钟频率数据;当|yi|>(m+n*MAD)时,则认为该数据为异常数据,需将其去除,本文n值取3可以较好地去除钟差异常数据[8]。通过对钟差数据进行预处理,可以减小异常数据的影响,提高钟差数据的稳定性。
通过滑动Lasso拟合、滑动拉格朗日插值、滑动切比雪夫拟合、滑动最小二乘多项式拟合对300 s钟差数据进行加密得到30 s钟差数据。将GFZ发布的30 s精密钟差产品作为真值,采用均方根误差作为拟合精度指标,比较各算法的拟合精度。考虑到各卫星系统及不同类型原子钟对钟差插值建模的影响[9],选取卫星如表1所示,各算法的拟合精度如图1和表2(单位ns)所示。
图1 各算法钟差拟合精度
表1 选取的卫星统计
表2 各算法平均拟合精度统计
通过图1和表2可以看出,滑动Lasso拟合在BDS、GPS卫星上的精度有所提高,在GLONASS卫星上的拟合精度略微低于其他算法,在Galileo卫星上的拟合精度低于滑动拉格朗日插值和滑动最小二乘多项式拟合,高于滑动切比雪夫拟合。为更明显地体现滑动Lasso拟合与其他算法的差异,以G01卫星钟差数据预处理后第210~250历元数据为例,钟差频率如图2所示。图中红线为钟差频率中值线,红点为变化较大但未被预处理剔除的点。对该时间段各算法的插值结果进行分析(表3)。
图2 G01卫星部分钟差频率
表3 滑动Lasso拟合法精度提高率统计
综上可知,当局部钟差变化较大时,Lasso算法相较于其他3种算法能很好地降低异常钟差数据对钟差拟合模型的影响,提高模型拟合精度。此外,滑动Lasso算法在拟合铷钟钟差时精度最高,氢钟钟差拟合精度次之,铯钟钟差拟合精度最差。其原因为铯钟噪声相比于铷钟更为平滑,发生局部跳变的现象更少[10]。因此,在原子钟噪声较大和局部跳变更为频繁时,滑动Lasso拟合法能够更好地防止钟差拟合模型出现过拟合现象。
选择31个MGEX测站的30 s采样间隔观测数据进行分析,测站分布如图3所示。
图3 MGEX测站分布
为避免频间钟差等误差项对实验造成影响,采用双频无电离层静态PPP进行解算。使用GFZ发布的最终轨道产品,截止高度角设置为15°。使用开源软件GAMP进行解算,分别测试上述4种算法加密的30 s精密钟差产品及300 s钟差产品在PPP中的作用。本文设定当E、N、U方向偏差小于1 dm时滤波开始收敛,收敛后2 h的定位偏差用于统计定位精度。各测站在不同钟差产品下的PPP定位精度以及箱线图如图4所示,表4(单位cm)为上述31个测站PPP平均定位精度。
图4 各类钟差产品不同方向PPP定位精度及箱线图
表4 定位精度统计
由图4与表4可知:
1)在E、N、U方向上,滑动Lasso拟合法的平均定位精度相较于滑动最小二乘多项式拟合法、滑动拉格朗日插值法、滑动切比雪夫拟合法均有所提升。
2)在N方向上,滑动Lasso拟合法的平均定位精度低于300 s精密钟差产品,但从各测站的定位精度可知,300 s精密钟差产品的定位精度并不总优于滑动Lasso算法,其定位精度的变化可能由多个因素的相互作用引起。
附加L1范数正则化后,Lasso算法可以有效提升最小二乘多项式拟合的定位精度,去除最小二乘多项式拟合中对拟合模型贡献较小的非必要参数的影响,修正拟合模型误差。因此,通过滑动Lasso算法插值加密的精密钟差产品可以提高PPP定位精度。
本文提出一种顾及参数稀疏的GNSS瞬时钟差模型构建算法,利用L1范数项对最小二乘多项式拟合进行约束,构建稀疏钟差模型,并使用滑动建模法对精密钟差产品进行建模。与目前常用的钟差插值加密算法进行拟合精度与PPP精度比较,得到以下结论:
1)使用滑动Lasso拟合法建立稀疏模型能够去除最小二乘多项式拟合中对拟合模型贡献较小的非必要参数的影响,修正拟合模型误差。相比于最小二乘多项式拟合法以及目前常用的滑动拉格朗日插值法、滑动切比雪夫拟合法,滑动Lasso算法建立的瞬时钟差模型的拟合精度与PPP定位精度均有所提升。
2)在钟差拟合建模过程中,若局部钟差数据噪声较大且跳变频繁时,使用滑动Lasso拟合法对钟差进行建模,能够更好地去除误差项过大造成的影响,修正钟差模型误差,防止钟差模型过拟合。当采用误差较大、局部跳变频繁的钟差数据进行定位时,使用滑动Lasso拟合算法进行钟差数据建模的效果优于目前常用的钟差差值拟合算法。