一种结合观测数据、位置信息和时域信息的GNSS故障检测方法,用于检测缓慢增长的误差
《Advances in Space Research》:A GNSS fault detection method combining observation, position, and time domain information for slowly growing error
【字体:
大
中
小
】
时间:2026年05月09日
来源:Advances in Space Research 2.8
编辑推荐:
李毅|王莉|鲍树|范丽红|张琴
中国西安长安大学地质工程与地理信息学院,710054
**摘要**
随着全球导航卫星系统(GNSS)应用场景的复杂性增加,由于多路径效应和大气干扰等因素的影响,缓慢增长的误差(SGE)的概率显著上升。鉴于SGE随时间的缓慢变化,触发检
李毅|王莉|鲍树|范丽红|张琴
中国西安长安大学地质工程与地理信息学院,710054
**摘要**
随着全球导航卫星系统(GNSS)应用场景的复杂性增加,由于多路径效应和大气干扰等因素的影响,缓慢增长的误差(SGE)的概率显著上升。鉴于SGE随时间的缓慢变化,触发检测阈值需要一定的时间,这给故障检测方法带来了特殊挑战。为了解决这一问题,本研究提出了一种结合观测、位置和时间域信息的SGE故障检测方法。该方法包括三个部分:首先,基于多假设解分离(MHSS)方法在三个坐标分量上的检测统计量的等价性,推导出一个新的检测统计量;其次,在时间域引入滑动窗口,以确保检测统计量能够充分反映SGE的变化特性,从而实现快速检测;最后,利用观测域中的残差计算校验因子,保证滑动窗口内信息的一致性,并准确检测SGE的结束时间。为了验证所提方法的有效性和适用性,我们使用静态仿真和城市运动数据进行了实验。结果表明,该方法能够快速且准确检测SGE,有效减轻了各种异常观测对城市应用中定位解的威胁。ENU的最大定位误差分别减少了32.7%、38.4%和18.1%。
**1. 引言**
随着北斗系统(BDS)的完成和全球导航卫星系统(GNSS)的不断进步,定位、导航和定时(PNT)服务已广泛应用于智慧城市、智能交通和自动驾驶等领域(Hein,2020)。这些服务正朝着更高智能化和可靠性的方向发展。然而,由于GNSS本身的脆弱性,PNT服务不可避免地会受到各种信号干扰(Carroll,2003;Su等人,2014)。如果信号故障未能被正确检测或排除,将会影响用户的导航服务性能(Wang等人,2020;Yang,2019)。因此,提高故障检测能力对于GNSS提供的高精度定位服务的发展至关重要(Chen等人,2023;Du等人,2021)。随着场景的复杂化和应用的多样化,最终用户面临的故障威胁也在增加。多路径效应、大气干扰和接收机老化等因素可能导致观测残差呈现缓慢增长的趋势(Gao等人,2024;Liu等人,2010),从而使故障检测统计量需要很长时间才能达到检测阈值,进而影响GNSS导航服务的性能(Bhatti等人,2007;Wang等人,2018)。这种随时间缓慢变化的误差是本研究的重点——缓慢增长的误差(SGE)。尽管SGE对定位精度的影响较小,但它们可能会严重影响GNSS导航服务的其他性能。例如,如果未能及时检测到,可能导致报警遗漏,影响系统的完整性;如果检测错误,则可能引发误报,影响服务的连续性。因此,准确快速地检测SGE已成为一个亟待解决的问题。SGE的故障检测方法可分为观测域和位置域两类。在观测域中,残差卡方检验方法(RTCM)是一种经典的故障检测方法(Parkinson和Axelrad,1988),该方法利用残差和协方差来计算故障检测统计量。然而,传统的RTCM方法仅依赖当前观测数据,从而限制了其对SGE的检测能力。随后,Diesel和Luu提出了自主完整性监测外推(AIME)方法(Diesel和Luu,1995),该方法利用多个时期的观测残差和协方差计算加权平均值作为故障检测统计量,显著提高了SGE的检测效率,并被广泛采用。基于AIME还提出了许多其他方法(Bhatti等人,2012)。例如,Jiang等人(2024)提出了改进的AIME算法PS-AIME,该方法利用创新技术和它们的协方差重建所有可见卫星的检测统计量,消除了AIME需要假设每个时期可见卫星数量相同的限制,从而有效扩展了AIME算法在复杂城市环境中的应用范围。在位置域中,Lee和O'Laughlin(2000)分析了多解分离(MSS)对SGE的检测性能(Brenner,1996),类似的方法还包括多假设解分离(MHSS)(Blanch等人,2015;Tanil等人,2019)。这些方法利用故障假设构建子集,并将全视解与子集解之间的差异作为故障检测统计量(Meng等人,2019)。Joerger等人(2013)指出,由于位置域的故障检测统计量是根据故障假设和感兴趣的状态设计的,因此其在故障检测能力上优于观测域的基于残差的方法。尽管关于SGE的位置域研究起步较早,但大多基于快照方法,即仅使用当前时期的观测信息。近年来, Yu等人(2023)提出了一种先验和后验解的一致性测试方法,与AIME相比,该方法能够更快地检测SGE,但无法准确检测SGE的结束时间,从而导致用户面临连续性风险(Li等人,2017)。
如上所述,当前关于SGE的研究主要集中在减少检测延迟上,而对确定SGE结束时间的关注较少。同时,基于位置域概念整合多时期信息处理SGE的研究也较为有限。受MHSS的启发,本研究将观测和时间域信息结合到MHSS中,以实现更快、更准确的SGE检测。算法改进体现在三个方面:首先,推导经典MHSS检测统计量在三个方向上的等效属性,并设计新的检测统计量;其次,利用时间域中的滑动窗口重构新的检测统计量以实现快速检测;最后,利用观测域中的残差信息辅助确定SGE的结束时间。所提方法在单点定位(SPP)实验中进行了验证,使用了静态和运动数据集。
**2. 方法论**
本节首先给出基于SPP的提出方法的流程图,然后详细阐述该方法的各个部分。
**2.1. 算法框架**
所提方法的流程图如图1所示。该方法包含三个部分:观测域、位置域和时间域。其中,位置域是核心模块,用于计算故障检测统计量。具体步骤如下:
在观测域内,算法使用当前观测残差计算全局检测统计量,并通过将之前的全局检测统计量除以当前值来构建一致性校验因子。如果一致性校验因子在区间内的变化未满足3-sigma准则,则滑动窗口内所有子集的故障检测统计量将被清除,即算法将当前时间视为SGE的结束时间,以避免滑动窗口中的历史信息影响当前的故障检测结果。在位置域内,该算法计算每个子集的故障检测统计量并统计GNSS信号的锁定时间。如果某个子集的解锁时间(记为dt)大于或等于容忍时间(TOL),则重置其滑动窗口内的历史故障检测统计量和相应的有效计数,并将当前的故障检测统计量存储在滑动窗口中。最后,在时间域内,如果某个子集的有效计数(记为Nw)小于窗口长度(记为LEN),则触发修改后的MHSS算法(详见2.3.2节);否则,执行所提出的MHSS算法(详见2.3.3节)。当某个子集的有效计数等于LEN时,最旧的信息将被丢弃,并将当前的故障检测统计量存储在滑动窗口中。如果某个子集的故障检测统计量低于其检测阈值,则认为其测量结果是正常的;否则,判定为故障并需要排除。算法将继续迭代,直至不存在故障,然后使用正常观测值计算定位解。
**2.2. SPP数学模型**
基于扩展卡尔曼滤波器(EKF)的SPP可以实现更可靠的定位结果。SPP EKF的估计状态为:
$$
X = px, py, pz, dtr_G, dtr_R, dtr_E, dtr_C, dtr_J, vx, vy, vz, idtr_G
$$
其中,$px, py, pz$分别表示接收机在ECEF(地球中心地球固定)框架下的位置;$dtr$表示接收机时钟偏移;下标$GRCJ$分别代表GPS、GLONASS、Galileo、BDS和QZSS导航系统;$vx, vy, vz$是接收机在ECEF框架下的速度;$idtr_G$是GPS导航系统时钟偏移的变化率。
SPP EKF中的状态传播可以表示为:
$$
X_k^- = F_{k-1}X_{k-1} + wk, Q_k
$$
其中,下标$k$表示时期索引;$X_{k-1}$是第$k-1$时期的预测状态;$wk$是高斯分布的系统噪声矩阵,表示为$wk \sim N_0, Q_k$;$Q_k$是系统噪声的协方差矩阵;$F_{k-1}$是从第$(k-1)$时期到第$k$时期的转移矩阵,表示为:
$$
F_{k-1} = I_{4×4} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix}
$$
$0$表示单位矩阵;$\Delta_t$是连续时期之间的时间差。
线性化测量模型为:
$$
Z_k = H_kX_k + vk, R_k
$$
其中,下标$k$表示时期索引;$Z$是测量向量,包含伪距和多普勒测量值;$H$是观测矩阵;$v$是观测噪声矩阵,服从高斯分布,表示为$v \sim N_0, R$;$R$是测量噪声的协方差矩阵,取决于所使用的随机模型。本研究采用的随机模型为高程-正弦形式(Dai等人,2025)。
测量更新后,更新后的状态估计向量$X_k$及其协方差矩阵$P_k$为:
$$
X_k = X_{k-1} + K_kZ_k - H_kX_{k-1}P_k = I - K_kH_kP_{k-1}
$$
$K$是卡尔曼增益。由于卡尔曼滤波与最小二乘估计相关,它本质上是在最小二乘法的基础上引入了方差为$P_-$的虚拟观测。卡尔曼滤波的最小二乘形式与其传统递归形式等价(Hewitson和Wang,2010;Meng和Hsu,2020)。鉴于最小二乘法的简洁性,后续的故障检测策略将采用卡尔曼滤波的最小二乘形式。
**2.3. 提出的故障检测方法**
本节首先介绍位置域中的经典MHSS方法。基于三个方向上故障检测统计量等价性的推导,我们设计了一个新的故障检测统计量,并结合时间域中的平滑窗口和观测域中的残差变化,以提高算法对SGE的检测性能。**经典MHSS方法**
MHSS方法将全视位置解与容错位置解之间的差异视为故障检测统计量。理论上,在发生故障的情况下,这两种位置解之间的差异会较大。基于前面的描述,本节将介绍构建故障检测统计量及其阈值的方法。全视位置解 \(x^{\hat}(0)\) 是由所有可见卫星参与计算得出的,其计算公式为:
\[ x^{\hat}(0) = G_T W_G^{-1} G_T W_y \]
\(x^{\hat}(0)\) 的协方差矩阵表示为:
\[ Q(0) = G_T W_G^{-1} \]
容错位置解是通过根据故障假设隔离某些卫星,并使用剩余的可见卫星进行计算得出的。以单故障假设为例,隔离第 \(k\) 颗卫星后使用其他卫星计算出的位置解表示为 \(x^{\hat}(k)\),其计算公式为:
\[ x^{\hat}(k) = G_T M_k W_G^{-1} G_T M_k G_y \]
其中 \(M_k\) 是一个单位矩阵,其第 \(k\) 个主对角线元素为 0,其功能是将第 \(k\) 个观测值排除在位置解之外。\(x^{\hat}(k)\) 的协方差矩阵表示为:
\[ Q(k) = G_T M_k W_G^{-1} \]
由于每个位置解分量都可以通过其标准差进行归一化,因此可以进一步计算为:
\[ D_1^{q}(k) = \frac{x^{\hat}(k) - x^{\hat}(0)}{\sigma_{s,s,q}(k)} \]
\[ \sigma_{s,s,q}(k) = Q(k) - Q(0)q \]
其中 \(D_1^{q}(k)\) 是子集 \(k\) 在 \(q\) 方向上的故障检测统计量,\(q\) 分别代表东、北、向上的位置解分量。从公式 (14) 可以看出,在无故障情况下 \(D_1^{q}(k)\) 服从零均值高斯分布。有三种位置解差异阈值测试,每个方向一个。阈值由子集 \(k\) 在 \(q\) 方向上索引,表示为 \(T_1^{q}(k)\),其定义如下:
\[ T_1^{q}(k) = Q^{-1} P_{fa,q}(k) \]
其中 \(Q^{-1}p\) 是零均值单位方差高斯分布的 \((1-p)\) 分位数,\(P_{fa,q}(k)\) 是分配给子集 \(k\) 在 \(q\) 方向上的误报率;本文采用平均分配方法。如果任何测试失败,则尝试排除故障(Blanch 和 Walter,2015)。
**改进的MHSS方法**
在单故障假设下,\(D_1^{q}(k)\) 在三个方向上是相互独立的。本节提供了详细的推导过程。观测矩阵 \(G\)、权重矩阵 \(W\) 和观测向量 \(y\) 可以简化表示为:
\[ W = \text{diag} w_1, w_2, \ldots, w_n, \]
\[ G = g_1, g_2, \ldots, g_n, \]
\[ y = y_1, y_2, \ldots, y_n^T \]
其中 \(w_k\) 表示第 \(k\) 个观测的权重;\(g_k\) 是表示第 \(k\) 个观测的视线方向的列向量。在隔离第 \(k\) 个观测时,矩阵 \(G\)、\(W\) 和 \(y\) 的块形式如下:
\[ G = G - k w_k^{T}, \]
\[ W = W - k w_k, \]
\[ y = y - k w_k \]
在计算全视位置解 \(x_0\) 时,存在以下矩阵:
\[ x_0 = G_T W_G^{-1} G_T W_y = S_0^{-1} b_0, \]
\[ Q_0 = S_0^{-1} = G_T W_G^{-1}, \]
\[ b_0 = G_T W_y \]
在计算容错位置解 \(x_k\) 时,存在以下矩阵:
\[ x_k = G_k T W_k^{-1} G_k^{-1} G_k T W_k^{-1} y_k = S_k^{-1} b_k, \]
\[ Q_k = G_k T W_k^{-1} \]
根据块矩阵的性质,可以得出:
\[ S_k = S_0 - w_k g_k^{T}, \]
\[ b_k = b_0 - w_k g_k \]
根据Sherman-Morrison引理,可以得出:
\[ S_k^{-1} = S_0^{-1} + w_k^{1 - h_k} S_0^{-1} g_k \]
\[ S_0^{-1} h_k = w_k g_k \]
\(x_k\) 与 \(x_0\) 之间的差异可以使用以下公式计算:
\[ x_k - x_0 = S_k^{-1} b_k - S_0^{-1} b_0 - w_k S_k^{-1} g_k \]
将 \(S_k^{-1}\) 代入公式 (19) 和 (22),得到以下方程:
\[ x_k - x_0 = w_k^{1 - h_k} S_0^{-1} g_k^{T} x_0 - w_k S_0^{-1} + w_k^{1 - h_k} S_0^{-1} g_k \]
\[ x_k - x_0 = w_k^{1 - h_k} S_0^{-1} g_k^{T} x_0 - w_k S_0^{-1} g_k = -w_k^{1 - h_k} S_0^{-1} g_k - g_k^{T} x_0 \]
如果 \(r_k = y_k - g_k^{T} x_0\),则上述表达式可以简化为:
\[ x_k - x_0 = -w_k^{1 - h_k} S_0^{-1} g_k \]
根据公式 (19)、(20) 和 (22),相应的协方差矩阵之间的差异为:
\[ Q_k - Q_0 = w_k^{1 - h_k} Q_0 g_k^{T} Q_0 = w_k^{1 - h_k} S_0^{-1} g_k \]
对于任何 \(q = 1, 2, 3\),以下方程成立:
\[ D_1^{q}(k) = \sum_{i = 1}^3 x^{\hat}(k)^{q} - x^{\hat}(0)^{q} \sigma_{s,s,q}(k)^2 \]
\[ D_3(k) = \sum_{i = 1}^3 x^{\hat}(k)^{q} - x^{\hat}(0)^{q} \sigma_{s,s,q}(k)^2 \]
根据正态分布和卡方分布的性质,在无故障情况下 \(D_3(k)\) 服从自由度为 3 的卡方分布。其阈值 \(T_3(k)\) 表示为:
\[ T_3(k) = \chi^2_{\alpha/3, n,3} \]
其中 \(\chi^{2}_{\alpha/3, n,3}\) 是卡方分布函数,括号中的第一个元素表示置信水平,第二个元素表示自由度。\(\alpha\) 表示误报率;\(n\) 是子集的数量。如果考虑单故障假设,子集数量等于可见卫星的数量。如果所有子集的 \(D_3(k)\) 都小于 \(T_3(k)\),则表示测量结果一致,即没有异常观测值。否则,需要排除对应于最大故障检测统计量的观测值。
**提出的方法 (wMHSS)**
由于SGE随时间缓慢增长,该方法通过在滑动窗口内积分多时期的观测信息来重建公式 (28) 中的故障检测统计量。重建的故障检测统计量表示为:
\[ \gamma(k) = \sum_{j = 1}^N_w D_j(k) \]
其中 \(D_j(k)\) 表示第 \(j\) 个时期第 \(k\) 个子集的故障检测统计量,\(N_w\) 是滑动窗口的大小。假设当前和之前的故障检测统计量相互独立,则重建的故障检测统计量在无故障情况下服从自由度为 \(3N_w\) 的卡方分布,其故障检测阈值类似于公式 (29) 构造,仅在自由度上有所不同。
一个有趣的发现是,当SGE结束时,如果滑动窗口大小大于 1,重建的故障检测统计量会包含过去几个时期的信息,这可能导致当前的故障检测统计量超过检测阈值,从而产生误报风险,影响GNSS导航服务的连续性。
考虑到SGE结束时当前和过去的故障检测统计量之间应该有显著差异。同时,认为不同子集之间的故障检测统计量可能存在差异,即一个子集异常而其他子集不受影响。为了保守起见,我们使用观测域的残差来构建一个一致性检查因子,以降低由于滑动窗口中历史数据影响而产生的误报风险。首先,从观测域的残差计算全局检测统计量 \(DRB\),其计算公式为:
\[ DRB = y^{T} W_y \]
然后,我们将之前的全局检测统计量除以当前统计量得到当前一致性检查因子 \(F_c\),并通过公式 (32) 存储在缓冲区中:
\[ F_c(j) = DRB(j-1) / DRB(j) \]
其中 \(j\) 表示时期索引,其值必须大于 1。为了避免缓存积累并考虑计算效率,本研究将缓冲区的最大大小设置为 30。如果缓冲区大小达到最大值,则清除最旧的缓存并向前移动整个缓冲区。考虑到SGE随时间的特性,SGE结束时 \(DRB\) 有显著差异。因此,引入了3-西格玛准则来检查当前信息是否符合样本。注意,3-西格玛准则是一种常见的测量数据变异性的方法。如果当前一致性检查因子不满足上述准则,则将此时间视为SGE的结束时间,并清除滑动窗口内的所有历史故障检测统计量和有效计数。
**实验和结果分析**
**3.1 数据收集和处理策略**
为了分析所提方法的能力,我们进行了静态模拟和城市运动学实验。静态模拟数据使用开源平台SignalSim在特定点(108.96°E, 34.23°N, 414 m)模拟GNSS观测。该模拟支持建模各种潜在的观测误差,包括接收机时钟误差、卫星时钟误差、对流层误差、电离层误差和观测噪声。模拟时间范围为2025年5月16日的00:00:00至01:00:00(GPST),采样频率为1 Hz。运动学数据来自香港理工大学IPNL团队提供的开源车辆数据集0610_KLT3_404(Hu等人,2023年),该数据集收集于2021年6月10日,时间范围为03:55:32至03:59:15(GPST)。它包括了城市车辆应用中遇到的各种典型场景,如建筑物、立交桥和树木造成的遮挡。运动学数据的真实值由SPAN-CPT系统确定,如图2所示。可见卫星数量(NVS)和位置精度稀释(PDOP)值如图3所示。详细的处理策略见表1。
**3.2 开放天空静态实验的结果**
在本节中,我们设计了单故障和双故障场景来验证改进的MHSS故障检测统计量的有效性,并分析结合时间域和观测域信息带来的好处。
**3.2.1 单故障场景**
为了便于计算算法的检测延迟,静态数据的时间戳以时期为单位表示,单位为秒。具体来说,静态数据集的时间范围为00:00:00至01:00:00(GPST),共计1小时,时间戳表示为0-3600。从时期1600到时期1899,指定卫星的伪距观测值增加了0.1×(k-1600)米的SGE,其中 \(k\) 表示时期索引。经典MHSS和改进的MHSS分别表示为MHSS和MHSS3。使用这两种方法检测这种SGE的检测延迟分别如图4和表2所示。
**3.3 结论**
如图4和表2所示,MHSS3方法在SGE检测性能上优于MHSS,平均减少了36.3%的检测时间。此外,不同卫星之间的检测性能存在显著差异。由于高度角影响观测噪声,间接影响故障检测性能。以G22和C28卫星为例,MHSS3方法检测G22上的SGE需要74秒,而C28仅需要39秒。同时,我们使用Spearman方法分析两种方法的检测延迟与高度角之间的相关性。结果表示MHSS和MHSS3的相关系数分别为-0.94和-0.90,证实这种现象源于所选的高度角随机模型。较高的高度角使算法的SGE检测性能更好。
基于上述分析,改进的MHSS方法在SGE检测性能上显著优于经典MHSS方法。鉴于SGE的缓慢时间变化特性,本研究在改进的MHSS方法中引入了时间域的滑动窗口和观测域的一致性检查因子,将其命名为wMHSS。该方法旨在更快更准确地检测SGE。为了展示wMHSS算法的优势,我们分析了引入滑动窗口和一致性检查因子的必要性。滑动窗口大小是限制wMHSS算法性能的关键指标。为了提高算法的泛化能力,从每个导航系统随机选择了一颗卫星。图5说明了滑动窗口大小与检测延迟之间的关系。如图所示,随着窗口大小的增加,检测延迟减少。然而,当窗口大小继续增大时,检测延迟的减少变得不显著。以G01卫星为例,窗口大小分别为1、5和10时,检测延迟分别为46秒、35秒和33秒。这是因为随着窗口大小的增加,故障检测统计量也增加,导致检测延迟的改进效果减弱。增加窗口大小会同时增加终端设备的缓存压力。总结来说,选择了5作为窗口大小,这在算法性能和负载管理之间达到了一个平衡点,为后续的实验分析提供了依据。下载:下载高清晰度图像(137KB)下载:下载全尺寸图像图5. 不同卫星的窗口大小与检测时间延迟之间的关系。此外,引入滑动窗口——即考虑多个时间段的观测信息——可以提高等效检测(SGE)算法的性能。然而,如果SGE的结束时间没有及时识别,当前检测状态可能会受到滑动窗口内过去数据的影响,导致误报。本节介绍了主流的SGE检测方法PS-AIME(记为S1),以展示所提出的wMHSS算法(记为S2)的有效性。鉴于不同卫星之间的结果相似性,本节将SGE添加到G01中,采用上述相同的故障模拟策略。图6显示了S1和S2方案下的故障检测统计情况。图7显示了G01的一致性检查因子及其阈值。下载:下载高清晰度图像(139KB)下载:下载全尺寸图像图6. 在单故障场景下,窗口大小为5时,PS-AIME(S1)和wMHSS(S2)方法的故障检测统计和阈值。图中的图例中,T1代表S1的阈值,而T2代表S2的阈值。下载:下载高清晰度图像(116KB)下载:下载全尺寸图像图7. G01的一致性检查因子及其阈值。如图6所示,与PS-AIME方法(S1)相比,wMHSS(S2)显著减少了SGE的检测时间延迟。具体来说,S1和S2检测SGE所需的时间分别为66秒和36秒,S2相比S1缩短了45.4%。图中的灰色阴影区域表示SGE注入的时间段(1600–1899秒)。由于S1缺乏确定SGE结束时间的策略,这一时刻的故障检测统计受到了滑动窗口内缓冲信息的影响,从而引入了误报的风险。特别是,尽管SGE的注入在1900秒结束,但S1在1900至1903秒之间的故障检测统计仍然超过了阈值。在1904秒时,检测结果恢复到无故障状态,即故障检测统计降至阈值以下。相比之下,S2利用一致性检查因子(见图7)精确地识别了SGE的结束时间,并清除了滑动窗口内的过时缓存信息。因此,1900秒时的故障检测统计不受滑动窗口内缓冲数据的影响,从而有效增强了算法的鲁棒性。
3.2.2 双故障场景
随着冗余观测数量的增加,多故障的概率显著上升。我们向卫星G01和C05添加了一个SGE,以测试wMHSS算法在双故障场景下的检测性能。故障模拟策略与单故障场景一致,具体是在指定卫星的伪距测量值中从1600秒到1899秒添加了0.1米的SGE。图8展示了S1和S2方法的相应故障检测统计和阈值。下载:下载高清晰度图像(200KB)下载:下载全尺寸图像图8. 双故障场景下PS-AIME(S1)和wMHSS(S2)方法的故障检测统计和阈值。子图(a)和(b)分别代表G01和C05的结果。如图8所示,wMHSS方法(S2)对SGE的反应速度比PS-AIME方法(S1)更快。具体来说,使用S1时,G01和C05的检测时间分别为33秒和54秒,而S2仅需18秒和28秒。卫星间检测性能的差异主要取决于观测的先验精度。由于随机模型基于仰角,且G01的仰角高于C05(见图4),因此其故障检测性能更优秀(Tian等人,2026年)。此外,与S1方案相比,S2通过一致性检查因子准确识别了SGE的结束时间,避免了对故障检测统计的影响,并降低了误报的风险。总体结果与单故障场景相似。
3.3 城市运动学实验结果
为了展示所提出算法的优越性,我们使用城市运动学数据集对三种方法进行了详细分析,具体如下:
(1)QCn:基于不考虑质量控制的SPP EKF解决方案;
(2)PS-AIME:基于PS-AIME方法的SPP EKF解决方案;
(3)wMHSS:基于wMHSS方法的SPP EKF解决方案。
图9显示了不同方法的定位误差,包括QCn(蓝色)、PS-AIME(绿色)和wMHSS(红色)在ENU框架中的表现。QCn的解决方案受到GNSS错误测量的严重影响,导致定位误差较大。虽然PS-AIME方法有效抑制了错误观测对定位的影响,但仍然存在较大的定位误差。wMHSS方法由于其高故障检测性能而表现出良好的性能,定位误差较低。表3中的均方根误差(RMSE)值进一步证明了wMHSS方法的有效性和优越性。显然,wMHSS方法在整个行驶轨迹中的性能优于其他方案。具体来说,wMHSS方法的2D和3D定位RMSE值分别为1.73米和16.65米,相比QCn解决方案分别提高了53.0%和41.8%。这三种算法都在配备了Intel Core i9-12900H CPU和32 GB RAM的个人计算机上运行。在计算时间方面,wMHSS在构建故障测试量时涉及构建许多子集,从而增加了计算时间。表3中记录的计算时间涵盖了所有时间段,总计404个时期。对于每个时期,QCn、PS-AIME和wMHSS的平均计算时间分别为1.5毫秒、1.6毫秒和1.8毫秒,这满足了1Hz实时导航服务应用的要求。下载:下载高清晰度图像(219KB)下载:下载全尺寸图像图9. 三种方法在ENU框架中的定位误差。表3. 不同策略的定位解决方案的RMSE和计算时间。空单元
东(米)北(米)2D(米)上(米)3D(米)时间(秒)
QCn 2.98 2.16 3.68 28.39 28.63 0.61
PS-AIME 1.31 1.66 2.11 17.63 17.76 0.65
wMHSS 0.86 1.50 1.73 16.56 16.65 0.71
由于SPP算法包含显著的未校正观测误差,其结果与RTK参考解之间存在固有偏差,导致系统性的定位误差(见图9)。这在垂直方向上尤为明显,限制了定位准确性的可信度,RMSE反映了这一点。表4总结了不同方法在ENU方向上的最大定位误差,更好地展示了它们对错误观测的抑制能力。与PS-AIME方法相比,wMHSS有效减轻了异常观测对定位解决方案的影响。具体来说,PS-AIME在ENU方向上的最大定位误差分别为(4.55米、5.58米、31.03米),而wMHSS的相应值分别为(3.06米、3.44米、25.40米)。这表明wMHSS在ENU方向上的最大定位误差分别减少了32.7%、38.4%和18.1%。
鉴于各种方法之间的定位误差存在显著差异,本节选择了一个特定时间段(03:55:00 - 03:56:00)来详细分析所提方法在城市场景中的有效性和适用性。图10显示了不同卫星的鱼眼图像和伪距残差。伪距残差是通过使用各种模型校正伪距后减去几何距离和接收机时钟误差得到的,其中接收机坐标和时钟误差使用鲁棒卡尔曼滤波器计算得出。在选定的时间段内,车辆从03:55:15开始静止。鱼眼图像显示了选定时间段内所有可见卫星及其周围建筑物的分布。该图展示了城市定位应用中的伪距残差,其中包含了阶跃误差和缓慢增长的误差。具体来说,G21卫星在03:55:20至03:55:23之间以及03:55:36至03:55:43之间出现了阶跃误差,这一点通过伪距残差中的阶梯状趋势得到了体现。此外,如图10所示,当卫星持续受到多路径误差的影响时(例如当卫星C28和G19被障碍物遮挡时),相应的观测残差呈现出缓慢增长的趋势,这是本研究的主要研究对象:SGE。
图11展示了使用PS-AIME和wMHSS方法检测异常观测的结果。如图所示,PS-AIME和wMHSS都能有效检测出异常值。对于观测中的阶跃误差和大异常值,趋势是突然的,易于被检测算法识别,使PS-AIME和wMHSS能够及时检测到这些故障。对于SGE,由于wMHSS方法具有更强的检测性能,它比PS-AIME更早地检测到了SGE。图12显示了选定时间段内不同处理策略的定位误差。如图所示,如果不实施质量控制,观测中包含的粗大误差直接影响了定位解决方案的准确性。PS-AIME和wMHSS方法都有效地抑制了异常观测对定位解决方案的影响,其中wMHSS显示出更好的改进效果。具体来说,在选定期间,wMHSS的定位误差较小,水平和垂直误差波动分别保持在2米和4米。总之,wMHSS有效抑制了其他类型的异常观测,使得定位解决方案更接近参考轨迹。
由于SGE随时间的缓慢增长特性,其检测需要一些时间,这对故障检测方法提出了特殊挑战。因此,我们提出了一种结合观测、位置和时间域信息的GNSS故障检测方法,以实现快速准确的SGE检测。所提方法的有效性和适用性通过静态模拟和动态实验得到了验证。静态实验表明,与传统的MHSS逐组分测试相比,将MHSS中三个坐标方向的检测统计信息整合在一起显著减少了算法检测SGE所需的时间,平均提高了36.3%。在修改后的MHSS检测统计中加入时间域的滑动窗口和观测域的校验因子后,与PS-AIME方法相比,SGE的检测延迟减少了45.4%。该方法还减少了由于算法未能准确检测到SGE结束时间而导致的误报风险。此外,所提方法在双故障场景下也表现出类似的改进效果。运动学实验表明,所提方法在城市应用中有效提高了定位精度。具体来说,与QCn方法相比,它在2D和3D定位精度上分别提高了53.0%和41.8%。此外,相对于PS-AIME方法,所提方法在ENU方向上的最大定位误差分别减少了32.7%、38.4%和18.1%。