北斗系统新民用导航电文历书参数算法与性能分析
2019-06-19刘文祥王梦丽孙广富
肖 伟,刘文祥,左 勇,王梦丽,孙广富
(1. 国防科技大学 电子科学学院, 湖南 长沙 410073; 2. 北京环球信息应用开发中心, 北京 100094)
卫星导航接收机能够同时收到广播星历和历书两种描述卫星轨道的导航电文信息。其中,广播星历的数据龄期一般为几小时,在数据龄期内广播星历的精度为米级,而历书计算的卫星位置精度在1周内一般能维持1~2 km[1]。历书数据提供了卫星位置的概略信息,利用历书数据可以进行卫星可见性预报、缩短卫星首次定位时间、展开星座性能评估,对未来时刻的导航应用效能评估意义重大[2]。
在全球定位系统(Global Positioning System, GPS)的发展过程中,不少学者对导航电文中的历书参数及其用户算法展开了研究。2004年公布的GPS接口控制文件中提出了新的民用导航电文格式,介绍了中等精度历书和简约历书两种历书参数格式,与之前接口控制文件中定义的高精度历书一起播发[3]。文献[4]据此分析了由原高精度历书退化至新民用导航电文中简约历书的算法和简约历书应用性能。文献[5-6]从GPS接口控制文件中不同格式的历书参数定义和应用算法出发,研究了多类型历书对接收机首次定位性能的影响。文献[7]对GPS历书参数应用导航定位时的定位误差性能展开了分析。
上述研究和分析主要是针对GPS导航电文中的历书参数展开。2017年12月,北斗系统新一代北斗卫星导航系统的接口控制文件被公布,文件对北斗三号新播发的信号和电文格式做了详细描述,定义了一种新的民用导航电文格式(BDS Civil NAVigation, B-CNAV),并给出了中等精度历书、简化历书两种格式历书参数和相应的用户算法[8]。
本文针对北斗三号新播发导航电文中的中等精度历书和简化历书,通过对比不同历书类型的用户算法,分析了不同历书参数对首次定位性能的影响。
1 北斗历书参数及用户算法
北斗三号B-CNAV中定义的中等精度历书参数与北斗二号D1/D2导航电文中定义的历书参数基本相同,仅有效位数和比例因子发生了变化。D1/D2导航电文中定义的历书有效位数明显更高,为方便起见,以下将其称为高精度历书。单颗卫星的中等精度历书比高精度历书仅轨道参数便节省48 bit的电文空间。相对于中等精度历书,简约历书参数个数更少,单颗卫星简约历书的轨道参数比中等精度历书少了118 bit,有效节省了卫星播发导航电文的内存负荷。北斗卫星导航系统不同类型历书参数及各参数所占空间如表1所示,相关参数定义详见北斗卫星导航系统空间信号接口控制文件[8-9]。
表1 北斗不同类型历书参数对照表
注:“*”表示该参数定义为常量,如e=0,δi=0°或δi=55°。
北斗中等精度历书与高精度历书参数相同,其用户算法也基本一致。而对北斗简约历书,文献[7]指出其与中等精度历书用户算法相同,对于简约历书中没有给出的参数值,将相应参数初始值设为0。由于历书参数数目不同,应针对简约历书设计专用算法,优化算法效率。相应卫星位置用户算法步骤为:
步骤1:计算长半轴A=Aref+δA;
步骤3:计算到参考历元的时间差tk=t-toa;
步骤4:计算纬度幅角Φk=Φ0+ntk;
步骤6:计算卫星在北斗坐标系(BeiDou Coordinate System, BDCS)的坐标
图1 2016年不同类型北斗卫星升交点赤经变化率情况Fig.1 Rate of right ascension of different type of BeiDou satellites in 2016
由图可知,MEO和IGSO卫星播发的升交点赤经变化率参数基本恒定,分别为-1.1×10-9cycle/s和-3.4×10-10cycle/s,前者量级与GPS卫星相当。而GEO卫星升交点赤经变化率参数变化有正有负,无法作为常数固定。同时由于北斗接口控制文件中仅定义B1C信号上的B-CNAV1电文播发简约历书,而B1C和B2a信号只在北斗三号MEO和IGSO卫星上播发,因此可暂不考虑GEO卫星升交点不确定的影响。赤经变化率参数采用非零常值与直接置零两种方法计算得到的MEO卫星位置、速度差异如图2所示,由图可知,两种参数10 h计算得到的MEO位置差异在200 km以内,速度差异在20 m/s以内,参数默认为零不会影响历书的使用。
图2 两种升交点赤经变化率参数计算得到的MEO位置、速度 Fig.2 MEO satellite position and velocity difference under two different parameters of right ascension at ascending node
与中等精度和高精度历书用户算法相比,上述简约历书用户算法省去了迭代计算偏近点的过程,同时略去了与偏心率有关的计算。在中等精度历书单次迭代计算偏近点角的条件下,简约历书用户算法正余弦计算量减少1/4,加乘法运算量分别减少2/3和1/3,单颗卫星位置计算时间几乎减半,在减小接收机处理内存的过程同时提高了运算效率。
2 历书对首次定位性能的影响
导航电文中的历书参数包含了卫星位置和钟差信息,它能够在已知用户概略位置的情况下快速初始化入境卫星的捕获,缩短接收机温启动时间[10]。由于单颗卫星的广播电文中将包含几乎所有卫星的历书信息,因此接收机在解调出单颗卫星电文后,可快速判断当前时刻可见卫星,避免“满天”搜星的情况。
接收机通过载波多普勒fd和码相位τ两维搜索来实现本地信号与卫星信号的同步,进而完成接收机的测距和定位。对于静态用户而言,若不考虑钟漂等因素的影响,载波多普勒主要取决于卫星与地面相对速度:
fd=fRF·(vrs/c)·ers
(1)
式中,fRF为信号射频频率,vrs为卫星与接收机的相对速度,ers为星地视线方向的单位矢量,c为光速。
利用接收机存储或即时收到的历书参数计算可视卫星的载波多普勒,压缩捕获所需要的时频搜索范围,相应的载波多普勒不确定度可表示为:
(2)
同理可得,码相位搜索的不确定度可表示为:
(3)
则对某颗卫星的首次捕获时间可用多普勒和码相位的不确定度表示:
(4)
式中,δf、δτ表示多普勒和码相位搜索间隔,tdw表示接收机在一个搜索单元停留的时间。
接收机首次定位时间受单颗卫星的捕获时间、信号跟踪解调时间以及定位解算处理时间的影响。由上述分析可知,单颗卫星的捕获时间又受限于载波多普勒和码相位搜索的不确定度以及信号在每个捕获单元的驻留时间。通过历书获取一定准确度的载波多普勒和码相位信息,可在一定程度上缩短启动时间,为接收机快速提供初始位置,这对一些高速平台上的应用装备显得尤为重要。
3 仿真分析
根据北斗系统接口控制文件对几类历书参数的信号格式要求,利用中国卫星导航系统管理办公室测试评估研究中心提供的2018年2月(北斗周634)的历书数据,如式(5)所示,通过比特位截断的方式,生成相应的高精度/中等精度/简约历书数据。
XH/M/L=[XD/比例因子]比特位截断
(5)
其中,XD为D1/D2电文上的原始历书数据,XH/M/L为最终要生成的高精度/中等精度/简约历书数据。相应的历书参数转为十进制数后再根据接口控制文件的要求乘以相应的比例因子后使用。
同时利用IGS下属的德国地学研究中心(Geo Forschungs Zentrum Potsdam,GFZ)提供的精密轨道产品作为参考。对于北斗卫星,其提供的MEO和IGSO卫星轨道精度为4~7 cm和7~15 cm,GEO卫星精度约为4 dm[11],而广播电文中历书计算的轨道精度至少在米级以上,因此可利用精密卫星轨道产品作为“真值”来进行误差分析。
不同类型历书计算得出的卫星位置误差如图3所示。高精度历书和中等精度历书计算的卫星位置误差均随历书的数据龄期增大而增大,在短期(如3 d)内,三维位置误差大致呈周期性波动,长期来看则逐步发散。尤其对于GEO和IGSO卫星,当高精度/中等精度历书数据龄期超过一周时,其卫星位置误差可发散至几十千米。而对于简约历书,其轨道模型近似为一个圆,由它计算的卫星位置误差为数百甚至上千千米,且呈周期性震荡。因此,其数据龄期和更新周期也可适当延长。
由于北斗同一轨道类型的卫星计算结果类似,上述分析仅给出2号(GEO卫星)、7号(IGSO卫星)、11号(MEO卫星)三颗卫星的轨道误差结果。利用上述历书数据,仿真生成导航卫星星座,设置接收机位置在武汉九峰公园,卫星截止高度角为5°,分析三种历书带来的星座构型变化。
利用不同类型历书计算的几何精度因子(Geometric Dilution Of Precision, GDOP)值与实际GDOP值的偏差如图4所示。为方便观察高精度历书引起的GDOP值误差,绝对值大于0.08的GDOP差值未在图中展示。由图可知,在1周以内的数据龄期内,简约历书引入的GDOP值估计偏差普遍较大,而高精度/中等精度历书数据对星座GDOP值估计引入的偏差除个别跳点外,普遍在0.02以内。星座整体构型基本一致,可以利用历书数据对星座整体性能展开评估,甚至对未来某个时刻的用户定位精度展开预测。
(a) 高精度历书(a) Precision almanac
(b) 中等精度历书(b) Medium almanac
(c) 简约历书(c) Reduced almanac图3 不同类型历书引起的卫星位置误差Fig.3 Satellite position error due to different type of almanacs
图4 不同类型历书引起的GDOP值误差Fig.4 GDOP error due to different type of almanacs
考虑MEO卫星动态变化最大,以北斗11号星为代表,分析不同类型历书对接收机首次定位时间的影响。图5给出了由三种北斗历书估算的MEO卫星载波多普勒和码相位搜索的不确定度。
(a) 多普勒误差(a) Doppler frequency error
(b) 码相位误差(b) Code phase error图5 不同类型历书引起的多普勒误差和码相位误差Fig.5 Doppler frequency error and code phase error due to different type of almanacs
由图可知,多普勒和码相位偏差均随数据龄期增大而增大。在1周的数据龄期内,北斗高精度历书和中等精度历书引入的多普勒偏差不到10 Hz,尤其是北斗高精度历书在数据龄期为5 d内时获得的多普勒偏差不超过1 Hz。即便是北斗简约历书,其带来的多普勒偏差也不超过400 Hz。同时,随着历书数据龄期的增大,北斗高精度/中等精度历书引入的码相位偏差以1 d为周期呈阶跃函数状上升。其中,中等精度历书带来的码相位偏差1周之内达到了十几个码片,而简约历书引入的码相位偏差达上千个码片。粗捕阶段各接收机码相位的搜索步长存在一定差异,比较常见的为1/2码片,载波频率的搜索步长通常为500 Hz。假定接收机在一个搜索单元的驻留时间为5 ms,则根据上述分析,不同类型历书带来的捕获时间差异如图6所示。高精度历书在1周时间内首次捕获时间不超过100 ms,而中等精度历书则可达200 ms,捕获时间随数据龄期增大而增长。在相同数据龄期条件下,选择高精度历书能更快地辅助接收机完成信号捕获。简约历书由于考虑引入的码相位偏差达上千个码片,在码相位搜索这一维度上基本不能缩短搜索时间,其首次捕获时间可达数十秒。
图6 不同类型历书随时间变化带来的捕获时间差异Fig.6 Signal acquisition time versus age of data with different type of almanacs
因此,当接收机存有卫星历书数据时,首次定位时捕获搜索的初始载波频率和码相位可由历书提供。对于静态用户而言,三种类型的历书数据均能提供比较准确的多普勒频率信息,接收机首次定位时间与提供的码相位不确定度呈负相关。历书数据龄期相同时,高精度历书数据能够更好地辅助接收机快速捕获。
4 结论
对北斗系统播发的三种历书数据进行了比较分析,利用同一数据源对各类型历书性能进行了仿真验证,得出以下结论:
1) 简约历书可最大程度节省电文空间,并在数月的数据龄期内保持稳定性能,可辅助用户接收机作卫星预报和快速启动;
2) 中等精度历书电文空间和计算精度均居中,在数据龄期不超过1周时可达到接近高精度历书的首次定位性能,并节省电文空间;
3) 传统D1/D2电文中的历书数据相对拥有最高精度,对指定卫星观测计划、压缩信号捕获时间依然意义重大。
对于能够接收北斗新民用导航信号的接收机,可根据精度要求和存储容量在本地存储相应历书参数,缩短冷启动时间。若有传统D1/D2电文中的高精度历书参数,则可优先使用高精度历书。若无高精度历书参数,则可使用新民用电文中的简约历书或中等精度历书,甚至可利用旧的星历数据,将其中摄动参数置零拟合成简约历书参数形式,缩短接收机首次定位时间。