一种BDS广播星历异常值实时探测方法
2022-11-03卞艺潼聂志喜王振杰徐晓飞刘金萍
卞艺潼 聂志喜 王振杰 徐晓飞 刘金萍
1 中国石油大学(华东)海洋与空间信息学院,青岛市长江西路66号,266580
2 中石化石油工程地球物理有限公司胜利分公司,山东省东营市镇前街173号,257086
广播星历是全球导航卫星系统GNSS实时高精度定位的基础,其质量直接影响用户的定位精度。但广播星历在生成、上传和解码的过程中可能会出现异常数据,导致卫星位置和钟差计算错误,使得定位精度大大降低[1]。许扬胤等[2]对BDS-3卫星广播星历进行全面评估,结果表明,BDS-3卫星的轨道径向精度优于0.18 m,切向和法向精度优于0.6 m,钟差的误差小于5 ns;刘宇玺等[3]分析BDS的IGSO、MEO卫星不同数据龄期广播星历的精度,在仅考虑轨道的情况下,不同数据龄期的空间信号精度差异最大可达0.5 m;Zhao等[4]对BDS卫星广播星历异常的初步分析表明,单颗卫星异常的概率为10-3,多颗卫星同时存在异常的概率为10-4。此外,接收机硬件故障会导致卫星发射的导航数据与接收机解调的导航数据不一致,环境因素或干扰信号也会影响数据的可用性[5-6]。针对广播星历异常, Montenbruck等[7]提出以精密星历为参考的全球导航卫星系统性能监测方法,该方法受到精密星历发布延迟的限制,无法对星历异常进行实时探测;程春等[8]提出一种基于Kalman滤波的载波相位平滑伪距算法,根据BDS空间信号用户测距误差(signal-in-space user range error,SISURE)的统计特性建立实时估计BDS SISURE方法,从而实时检测BDS空间信号异常。
目前对BDS广播星历异常值进行实时探测的方法是采用接口控制文件(interface control document,ICD)定义参数有效范围,主要针对卫星轨道参数进行检查[9],缺少对钟差参数的探测,且存在参数偏离真值但仍在有效范围内的情况。而对钟差参数进行异常值探测能更加准确地识别卫星星历异常,更为准确合理的参数范围也能减少参数异常值漏检的情况。另外,现有的广播星历一致性探测方法主要是利用当前历元和相邻前一时刻星历求解当前历元时刻的卫星位置和钟差,通过对比两组结果的卫星三维位置差和卫星钟差来判断卫星运行状态[10],此方法忽略了钟漂速度和加速度可能存在的异常。
本文提出一种BDS广播星历异常值实时探测方法。首先检查2018~2020年的BDS广播星历参数是否超限来探测异常广播星历;然后利用相邻历元的广播星历计算中间时刻的空间信号测距差SISRD,通过广播星历中的空间信号精度(signal-in-space accuracy,SISA)确定SISRD阈值,实现基于广播星历一致性的异常值探测;最后利用ALIC、AREG、ABMF和GENO测站的广播星历数据,开展BDS广播星历异常探测实验,并以最终精密星历探测结果为参考进行验证。
1 BDS广播星历异常值实时探测方法
1.1 参数合理范围确定
表1 BDS ICD中不同广播星历参数的有效范围
表2 2018~2020年BDS广播星历参数范围
表3 BDS广播星历参数的合理范围
1.2 基于一致性的广播星历异常值探测
通过检测相邻历元广播星历在中间时刻的SISRD是否超过阈值来进行基于一致性的广播星历异常值探测。具体过程如下:
1)采用相邻2个历元的BDS广播星历分别求解在中间时刻的卫星轨道和钟差,并计算卫星轨道和钟差的差值:
(1)
δt=CLKk-CLKk-1
(2)
式中,Xk-1、Yk-1、Zk-1、CLKk-1是由相邻广播星历中前一时刻广播星历计算中间时刻的卫星轨道和钟差,Xk、Yk、Zk、CLKk是由相邻广播星历中后一时刻广播星历计算中间时刻的卫星轨道和钟差,δx为相邻广播星历计算的轨道差值,δt为相邻广播星历计算的钟差差值。
2)将ECEF参考框架中轨道差值(δx)转换为在切向、法向和径向方向上的差值(dA、dC、dR)[13]。综合考虑卫星轨道与钟差的影响,计算相邻历元BDS广播星历在中间时刻的SISRD:
SISRD=
(3)
式中,c为真空中的光速(c=299 792 458.0 m/s);WR和WA,C分别为径向和切向/法向误差映射的贡献因子,BDS三种轨道类型卫星的贡献因子如表4所示[14]。
表4 BDS不同轨道类型的贡献因子
BDS广播星历通过用户测距精度(user range accuracy,URA)来描述卫星的SISA[12]。因此,本文根据相邻广播星历中的URA以及导航系统的完好性风险概率指标对应的正态分布置信值[15]来确定SISRD阈值,通过判断SISRD是否超过阈值来判定BDS广播星历的异常情况。若相邻历元广播星历的SISRD满足式(4),则判断该历元广播星历存在异常值:
(4)
式中,URA1为相邻广播星历中前一时刻广播星历的用户测距精度,URA2为当前广播星历的用户测距精度。
对2018~2020年BDS广播星历相邻历元间轨道和钟差的差值进行统计。图2和图3分别为BDS-2和BDS-3卫星在切向、法向和径向上轨道差值的RMS以及钟差差值的RMS。由图可见,BDS-3卫星广播星历相邻历元间的轨道差值小于BDS-2卫星。BDS-2 GEO卫星在切向、法向和径向上的轨道差值RMS平均值分别为0.46 m、0.59 m、0.20 m,IGSO卫星3个方向上的轨道差值RMS平均值分别为0.23 m、0.27 m、0.14 m,MEO卫星3个方向上的轨道差值RMS平均值分别为0.92 m、0.43 m、0.16m。BDS-3 GEO卫星在切向、法向和径向上的轨道差值RMS平均值分别为0.32 m、0.50 m和0.10 m,IGSO卫星3个方向上的轨道差值RMS平均值分别为0.16 m、0.21 m、0.06 m,MEO卫星3个方向上的轨道差值RMS平均值分别为0.14 m、0.07 m、0.05 m。BDS-2 GEO、IGSO与MEO卫星钟差差值的RMS平均值分别为0.6 ns、1.4 ns、1.3 ns,BDS-3 GEO、IGSO与MEO卫星钟差差值的RMS平均值分别为0.3 ns、0.8 ns、0.8 ns。
进一步计算所有BDS卫星广播星历的SISRD,并对GEO、IGSO以及MEO卫星的SISRD值进行统计。结果表明,3类卫星99.7%的SISRD值分别在1.55 m、2.36 m、1.51 m以内,而该时间段内BDS广播星历URA值通常为2 m,由此可见,采用URA来确定阈值是切实可行的。
1.3 BDS广播星历异常值实时探测流程
BDS广播星历异常值实时探测包括2个部分:检查广播星历参数是否超限和检查相邻历元广播星历是否满足一致性。具体步骤如下:
1)根据广播星历中的健康标识进行判断。若不健康,则直接将此历元标记为不可用。
2)检查标识为健康的广播星历参数是否超出其合理范围。若广播星历参数超出合理范围,则将此历元标记为不可用。
3)若广播星历参数在合理范围内,则计算当前历元和前一相邻历元广播星历在中间时刻的SISRD,通过式(4)判断相邻历元广播星历是否满足一致性。若满足,则广播星历标记为可用,否则标记为不可用。
图4为BDS广播星历异常值实时探测的具体流程。
2 实验与结果
SISRE=
(5)
式中,dA′、dC′、dR′分别为广播星历与精密星历在切向、法向和径向方向上的轨道差,dCLK为钟差的差值。
表5 BDS广播星历异常参数
由图5、图6可见,ABMF和GENO测站的大多数BDS卫星的SISRD在1 m左右,远小于异常值探测的SISRD阈值。其中,ABMF测站广播星历中C14卫星在2021-11-03(doy307)01:00与02:00历元时刻的广播星历SISRD为316 835.9 m,而01:00历元时刻之前的广播星历SISRD均小于阈值,证明02:00历元时刻的广播星历存在异常值。同样,GENO测站广播星历中C16卫星在2021-11-28(doy 332)02:00与03:00历元时刻的广播星历SISRD为213 048.7 m,03:00历元时刻的广播星历检测为含有异常值。与精密星历探测结果对比可知,由ABMF测站02:00历元时刻的广播星历SISRE为332 771.3 m,GENO测站03:00历元时刻的广播星历SISRE为213 052.7 m(表6),实验异常值探测结果与精密星历探测结果一致。需要说明的是,在基于一致性实时探测广播星历异常值时,若当前历元实际上为正常可用星历,但与之相邻的前一时刻广播星历存在异常值,会导致计算中间时刻SISRD超出阈值,可能会对当前历元造成异常值误探测。
表6 BDS广播星历异常探测结果
3 结 语
本文提出的BDS广播星历异常值实时探测方法能够准确探测出异常历元,实验异常值探测结果与精密星历探测结果基本一致,验证了该广播星历实时异常检测方法的有效性。此外,本文提出的异常值实时探测方法在基于一致性实时探测广播星历异常值时,若相邻的前一历元广播星历出现异常,则此历元广播星历的SISRD超限,但由于之后的广播星历还未播发,可能会对当前历元造成异常值误探测。