基于北斗短报文的远海实时精密单点定位*
2021-12-14姬生月孙嘉文宋云记王振杰贺凯飞鲁洋为
姬生月,孙嘉文,宋云记,王振杰,贺凯飞,鲁洋为
(1. 中国石油大学(华东) 海洋与空间信息学院, 山东 青岛 266580; 2. 青岛市勘查测绘研究院, 山东 青岛 266033; 3. 中国科学院国家授时中心, 陕西 西安 710600)
自2013年4月国际全球导航卫星系统服务(International GNSS Service, IGS) 中心开始利用基于互联网的RTCM网络传输协议(Networked Transport of RTCM via Internet Protocol,NTRIP) 协议正式向全球播发实时轨道与钟差改正数[1]。实时服务(Real-Time Service,RTS)数据与广播星历结合可实时生成精密卫星轨道和钟差,轨道精度在5 cm以内,而钟差精度在0.3 ns以内[2-5]。利用RTS数据进行动态实时PPP定位,水平精度为10 cm左右,竖直方向优于20 cm[6-9]。近几年,实时精密单点定位(Precise Point Positioning, PPP)技术发展迅速,从测绘行业到手机大众,应用范围日益广泛[10-13]。
实时PPP技术作为GNSS领域的热点之一,从其应用范围来看,基本分布在陆地。而在海上的GNSS高精度定位应用远不如陆地广泛。主要原因在于,这些高精度定位技术需要借助无线通信传输数据。而远海主要利用卫星传输数据,费用高昂[14]。然而海洋对卫星精密导航与定位技术的需求非常广泛[15-16]。除去众所周知的航海导航方面的应用之外,卫星导航系统在海域使用与管理、海洋资源勘探与作业、数字化海洋、海上遇险安全系统、极地海洋观测等方面均有相当广泛的应用[17]。
短报文通信是北斗卫星导航系统特有的功能,借助静地卫星进行双向信息传输[18],且服务费用低廉。除此之外,北斗短报文通信还存在其他优势,如通信响应快、抗干扰能力强、保密性强等[19-20]。然而北斗短报文通信在数据远程传输过程中存在如下问题[21]:
1)通信频率限制:通信间隔为1 min;
2)单次通信容量受限:一般民用北斗终端单次通信内容长度最大为628 bit。
在RTS数据中,每一历元需传输的数据远超过628 bit,每分钟一次的通信频率也无法满足远海高精度动态导航与定位。虽然,北斗三号在未来拟扩展北斗短报文的带宽,但仅限于区域应用,且具体时间、费用尚不可知[22-23]。
为了解决北斗短报文通信频率低的问题以对实时精密星历进行预报[24]。本文主要针对北斗短报文通信带宽窄的缺点,提出对轨道改正、钟差改正和辅助信息等RTS数据的简化方案。最后基于海洋实测GNSS数据,仿真实时PPP,进行导航与定位性能测试。
1 RTS数据的简化
1.1 卫星轨道与卫星钟差改正数据的简化
这部分,首先分析了RTS数据中的卫星轨道与钟差改正的数值范围和特点,并基于此提出简化RTS数据的方案。最后,利用RTS数据给出简化后RTS数值范围。
1.1.1 卫星轨道改正与卫星钟差改正数值范围
为了统计卫星轨道和卫星钟差改正的数值范围,利用BNC软件接收了2019年中年积日为318,340,341,347,351~356共10 d的法国国家太空研究中心(Centre National d′Etudes Spatiales, CNES)播发的实时数据流,挂载点为CLK91,每日平均接收时间在15 h以上。图1和图2分别为4个GNSS的卫星轨道和钟差改正。由图1和图2可知,北斗(BeiDou)系统的轨道改正最大可达25 m,而其余3个卫星导航系统的轨道改正基本分布在±5.12 m以内。与轨道改正相比,卫星钟差改正数值范围相对偏大。北斗系统的钟差改正最大可达19 m,其余系统的钟差改正基本分布在±6 m以内。
总的来说,4个GNSS的卫星轨道和钟差改正基本分布在米级范围内。假设以毫米为单位进行数据编码发送,以>90%为标准,伽利略(Galileo)和GPS的改正数据占用短报文空间分别为40 bit和46 bit;而GLONASS和北斗系统占用的短报文空间分别为52 bit和56 bit。
(a) GPS
(b) BeiDou
(c) GLONASS
(d) Galileo图1 卫星轨道改正Fig.1 Satellite orbit correction
(a) GPS
(b) BeiDou
(c) GLONASS
(d) Galileo图2 卫星钟差改正Fig.2 Satellite clock correction
1.1.2 卫星轨道改正与卫星钟差改正的简化方法
为了说明RTS改正数据的特点,以2019年9月23日采集的RTS数据为例,从中提取历元间隔为60 s的改正数据。以GPS的伪随机噪声码(Pseudo Random Noise code, PRN)为16的卫星为例,图3是卫星钟差改正和其历元间差的对比,图4为轨道改正的分布范围,而图5和图6是利用本文提出的方法削弱不同数据龄期导致的跳跃之后,得到的历元差与历元差之差。可以看出,无论是钟差改正还是轨道改正,都具有明显的曲线性趋势变化特点。特别是轨道改正,当数据龄期相同时,变化曲线非常光滑。轨道历元间差基本小于5 cm。当轨道改正二次差分后,数值范围更小,基本小于3 mm。而卫星钟差改正数值范围超过了0.8 m,当取历元间差时,基本小于0.2 m。
图3 RTS卫星钟差改正及其历元间差Fig.3 RTS satellite clock correction and the difference between epoch
图4 RTS轨道改正Fig.4 RTS satellite orbit correction
图5 RTS轨道改正历元间差Fig.5 Difference between epoch of RTS orbit correction
图6 RTS轨道改正历元差之差Fig.6 Difference of difference between epoch of RTS orbit correction
如果服务端发送RTS数据的历元间差和历元差之差,用户端通过累积获取原RTS改正,则可以明显减少所需短报文空间,进而节省成本。
由以上可知,RTS改正数据,尤其是卫星轨道改正具有明显的时间相关性。RTS改正数据时间相关性的实质是卫星轨道的光滑性和卫星钟的稳定性。由于在非轨道调整的情况下,卫星轨道是光滑的,所以,数据龄期相同时,卫星的实际坐标与广播星历计算得到的坐标之差,是缓慢变化的,RTS的轨道改正历元间差的数值范围很小;由于卫星钟比较稳定,卫星钟差变化慢,所以钟差历元间差的数值范围也比较小。
基于这一特点,特制定如下的简化方案:
1)首历元RTS改正数据简化处理:主要处理方法为利用降低RTS改正数据精度的方式来减少所占用的短报文空间,可通过设置较低的数据分辨率实现。比如:数据1.256 m,若分辨率为1 mm,数字1256对应的编码数据为10011101000,若分辨率为1 cm,数字126对应的编码数据为1111110。由于不同类型改正数据的误差对定位的影响不同,因此可设置不同的分辨率,用户端可根据分辨率确定观测值的权重。
2)次历元数据简化:计算RTS数据与首历元发送的RTS数据之差,即历元间差。需要注意,和首历元发送的RTS数据求差,可消除因首历元降精度处理而引入的误差,不会影响后续历元RTS数据的精度。
3)后续历元数据简化:对于卫星钟差改正,采用2)中的方法,发送历元间差。而对于卫星轨道改正,则发送历元差之差,即历元间二次差分,由于轨道改正变化稳定,通过历元间二次差分,数据通常更简化。
4)数据龄期变化时简化处理:当数据龄期变化时,RTS数据会出现跳跃,需要采取与用户端约定的方法在服务端消除,继而在用户端恢复。采取的方法为:根据对应不同数据龄期的两组广播星历参数,计算得到当前历元的两组卫星位置和卫星钟差结果,计算这两组结果的径向、法向、切向和卫星钟差之差,并从RTS数据中扣除该差,即可消除或削弱RTS跳跃,用户端用同样的方法恢复扣除的部分。
值得一提的是,除了首历元改正数据需要发送原数据(需进行降低精度处理),而非历元间差分数据,后续历元的新卫星改正数据,也需要发送原数据。
1.1.3 简化后的卫星轨道改正与卫星钟差改正数值范围
由1.1.1节的RTS改正数据提取分钟间隔的卫星轨道和卫星钟差改正数据,并根据1.1.2节的简化方案进行处理,表1和表2分别为数据龄期不变时轨道改正历元差之差和钟差改正历元间差的数值范围百分比。
表1 数据龄期不变时轨道改正历元差之差数值范围百分比
表2 数据龄期不变时钟差改正历元间差数值范围百分比
从表1可知,除了北斗系统以外,其余GNSS的轨道改正基本分布在±0.256 m内。而北斗系统存在少部分数据数值偏大的情况,这意味着原轨道改正经常发生跳跃,可能跟卫星轨道调整有关。而钟差改正的分布情况跟轨道改正类似。四个系统的轨道改正历元差之差大部分为毫米级,而钟差改正历元间差大部分为厘米级。如果以毫米为单位进行编码发送,以>90%为标准,GPS和GLONASS需占用的短报文空间分别为16 bit和17 bit;而伽利略和北斗占用的短报文空间为14 bit和15 bit。与原改正数据相比,钟差改正占用的空间减少了50%,而轨道改正占用空间减少了65%。
1.2 RTS辅助数据的简化处理
RTS数据除了卫星轨道和钟差改正之外,还包括卫星名称、数据龄期和历元时间等数据[25]。这些数据同样需要做简化处理。
1.2.1 卫星名称编码处理
卫星名称包括两个部分:第一部分为系统标识,需要占用的短报文为2 bit,表示范围在0~3之间,分别对应4个GNSS,第二部分为卫星编号,其范围见表3,GPS、伽利略和GLONASS均占用5 bit,北斗系统占用6 bit。由于各GNSS的卫星PRN不一定连续,所以可以按照PRN排序,重新编号。
表3 卫星名称编码处理
由上可知,北斗系统的卫星名称需要占用8 bit,而其他系统则只需要占用7 bit。
1.2.2 历元时间处理
老井在院子的西南角,比较偏僻,但柳红哗哗的冲水声却特别醒耳,今天她是怎么啦,跟自己有仇似的,一桶桶井水往自己头上倒。是的,柳红今天太有仇了,她恨自己,恨自己冲洗不掉癞阿小抓过胸口的奇痒,冲洗不掉耳边苏秋琴的叫床声,冲洗不掉小腹上公公压过的硬梆梆的感觉……今天,有太多的人往她体内塞了太多的东西,她不想要,她要把它们统统洗掉,但是,她不能够,反被它们肆意地骚扰着。
服务端发送的RTS数据通常为分钟间隔,数据的历元时间为整分钟或其他规律变化的历元时间。由于发送时间和历元时间很接近,发送时延通常不超过1 s,因此用户端可以根据接收时间推断出历元时间。所以,RTS数据历元时间,可不发送,以节省短报文空间。当然,由于数据会发生中断或时延有可能过大,会造成数据接收混乱,所以可以发送历元时间的部分信息,比如只发送分钟数。
1.2.3 数据龄期简化处理
RTS数据中数据龄期的用意在于指明轨道和卫星钟差改正对应的广播星历信息,通常与广播星历中的卫星钟参考时间是一一对应的,而卫星钟参考时间更易于作简化处理,因此可以通过传送简化后的卫星钟参考时间信息,实现传送数据龄期的目的。
卫星钟参考时间的简化处理方案包括两个部分。
第一部分:首历元卫星钟参考时间的简化处理:
1)省略年月日。
2)将参考时间分为4类,见表4,分别用标识符0、1、2、3表示;第一类只发送小时数;第二类发送小时数和简化的分钟数;第三类发送小时数和分钟数;第四类发送小时数、分钟数和秒数。
3)小时数发送RTS数据历元时间与参考时间小时数之差。
1)用标识符0和1表示数据龄期有无变化;
2)如无(绝大多数情况属于此类),则不需要发送任何信息;
3)如有,则发送简化处理的卫星钟参考时间信息,简化方法同第一部分。
表4 卫星钟参考时间分类
1.3 小结
原RTS数据与简化后的RTS数据占用短报文空间对比情况见表5所示,若发送原RTS数据(轨道和钟差改正变化速率不发送),则除北斗系统以外的其他3个GNSS的每颗卫星的数据大致占用99 bit,即13 B。由于数据龄期数值偏大,北斗系统的每颗卫星大致占用15个字节。因此,每条短报文最多可发送6颗左右的卫星的数据。如果以每个GNSS系统可观测12颗卫星,则每个系统的一个历元的RTS数据需要两台短报文设备发送。
简化后,每颗卫星的待发送数据大致占用24 bit,即3 B。因此,每条短报文最多可发送24颗卫星的数据,每条短报文可发送2个GNSS的1个历元的RTS数据。如果每台短报文设备的年通信成本计为1 100元,简化前,发送4个GNSS的RTS数据,年通信成本为8 800元;简化后,则只需2 200元,而且还节省了短报文设备的硬件成本。
表5 原RTS数据与简化后的RTS数据占用 短报文空间对比Tab.5 Comparison between the original RTS data and the simplified RTS data in short-message space 单位:bit
表6为根据表1和表2中各类型改正>90%的数据,估算利用2台短报文设备发送4个GNSS改正数据时,各历元改正数据简化后所占用的短报文空间。各GNSS均以9颗卫星为例;首历元径向和钟差以5 cm为分辨率,法向和切向以8 cm为分辨率;次历元径向和钟差以2 mm为分辨率,法向和切向以5 mm为分辨率;后续历元各改正均以1 mm为分辨率。从表6中可以看出,伽利略和北斗系统组合、GPS与GLONASS组合分别可用一条短报文发送。当然,表6中的估算结果比较保守,在实际应用中,应以各历元改正数据的大小范围设置相应的分辨率。另外,如果拟发送更多卫星,可通过进一步降低首历元、次历元甚至第三个历元的分辨率实现。
表6 各GNSS占用短报文空间
2 实时精密卫星轨道与钟差预报
由于RTS数据每分钟发送一次,因此如果当前观测历元与RTS数据历元时间不同的时,其卫星轨道改正和卫星钟差改正须由接收的RTS数据预报得到。但在数据预报之前,需要恢复实时精密轨道和钟差数据。实时轨道信息是相对于导航星历解算的卫星坐标在星固系下径向、法向和切向的改正,需要把修正量转换到地固系再进行改正。卫星相对地心在切向、法向和径向的单位向量[20,26]为:
(1)
其式中:A、C和R分别表示卫星相对地心在切向、法向和径向的单位向量;XSAT和VSAT分别表示广播星历计算出的卫星位置和速率向量。
将实时轨道信息中切向、法向和径向的改正与对应方向的单位向量相乘,可以得到地固系改正[15]:
(2)
式中:dR、dA和dC分别表示实时轨道信息中的径向、切向和法向分量改正。
则卫星的实时精密轨道坐标为:
X=XSAT-dX
(3)
实时钟差的恢复方法[19]为:
T=TSAT+dT
(4)
式中:TSAT为导航星历计算出的钟差;dT为实时钟差改正数,单位为m。
在利用RTS数据恢复实时精密轨道和钟差数据之后,若当前观测历元与RTS改正数据历元时间不一致,则需对其进行预报。
卫星坐标和钟差在短时间内可以当作时间的高阶多项式:
(5)
式中,X(t)为卫星坐标或钟差随时间t变化的函数,t0为参考时间,ai为多项式系数。
在本研究中,实时轨道和钟差的预报采用最小二乘拟合上述多项式的方法,即求解如下最小目标函数对应的多项式系数:
(6)
为了选择合适的拟合阶数和评估预报误差,基于2019年12月19日采集的24 h的CLK91的RTS数据对GPS钟差和各轨道方向进行预报测试。测试方法为根据连续10 min,即10个历元的RTS数据计算得到的实时精密钟差和卫星轨道位置,预报下一分钟的卫星钟差和卫星坐标,并把预报结果与由下一分钟的RTS数据直接得到的卫星钟差和轨道进行比较,其差值见图7和图8。测试阶数为1、2和3,由图7(a)可知3个阶数的预报误差类似,基本在厘米级别,但存在个别异常数值,其原因为原RTS钟差改正不稳定或有跳跃;总体来说,1阶的预测误差最小。图7(b)和图8为卫星轨道预报误差,测试的阶数为4、5和6。由图7(b)和图8可知,阶数6的预报误差最小,基本在1~2 mm。但存在少数预报误差偏大的情况,可能是由原RTS轨道改正不光滑或不稳定导致。
(a) 钟差(a) Clock
(b) 轨道径向(b) Orbit radial图7 GPS钟差和轨道径向预报误差Fig.7 Prediction error of GPS clock and orbit radial
(a) 轨道切向(a) Orbit along-track
(b) 轨道法向(b) Orbit out-of-plane图8 GPS轨道切向和法向预报误差Fig.8 Prediction error of GPS orbit along-track and out-of-plane
3 基于北斗短报文的远海实时精密单点 定位数据处理流程
基于北斗短报文的远海实时精密单点定位的数据处理流程如图9所示。包括服务端和用户端两个部分:服务端接收并提取分钟间隔的RTS数据,简化卫星轨道和钟差改正及辅助信息。最后将简化的数据编码发送。用户端采集GNSS数据,同时通过短报文接收解码分钟间隔的RTS数据并恢复RTS数据,生成实时精密产品。最后进行实时精密单点定位,获取用户端坐标。
图9 数据处理流程Fig.9 Data processing flow
4 简化的RTS数据精度分析
为了验证简化后RTS数据精度,本节利用2019年9月23日接收的RTS数据,将简化后的RTS数据结合广播星历生成精密星历和钟差,并与利用原始一分钟间隔的RTS数据生成的精密星历和钟差进行比较。由于篇幅限制,在4个系统中随机选取G07、R13、E03、C04进行分析。为了节省短报文空间,需要对首历元的RTS数据进行降精度处理,因而首历元轨道和钟差误差较大,将其单独列出。首历元引入误差见表7,由表7可知,大部分轨道和钟差的误差在30 mm以内,而最大可达40 mm。轨道和钟差引入的误差如图10所示。对于后续历元,由图10可知,径向和钟差引入误差基本在1 mm,而切向和法向的误差相对较大,大部分分布在±5 mm之间。原因是对定位精度影响最大的是径向和钟差改正。所以对于简化的RTS改正数据,径向和钟差改正需要设置较高分辨率,以提高定位精度,而切向和法向改正的分辨率略低于前两者。
表7 首历元引入误差
(a) G07
(b) R13
(c) E03
(d) C04图10 轨道和钟差引入的误差Fig.10 Induced error of orbit and clock
5 实验测试和分析
5.1 数据采集与处理
为了验证本文提出的方案,并测试基于北斗短报文的实时精密单点定位的定位性能,于2019年9月23日在山东青岛唐岛湾区域的岸边架设1台天宝ALLOY接收机进行静态观测,同时架设3台接收机进行船载动态GNSS观测,但本研究只使用了带有抑径圈的天宝ALLOY接收机的观测数据。水里接收机距岸边不到1 km,数据采样率均为1 s,共连续采集了7 h海上观测数据。同时利用BNC软件实时接收了挂载点为IGS03和CLK91的RTS数据[27],但RTS采集过程中,发生了中断。
首先利用Bernese 5.2软件对岸边接收机的静态观测数据进行了后期PPP处理,得到了岸边接收机的精确坐标,对应的RMS为毫米级。然后,利用RTKLib 2.4.3软件,处理了两接收机组成的短基线,得到了模糊度固定后的精确相对位置,进而得到了船载接收机的精确坐标,该精确坐标将被当作真值来验证船载接收机的实时精密单点定位的精度。
由于北斗短报文设备有关的部分软件的开发还未完成,所以目前不能实际运行基于北斗短报文的实时精密单点定位,只能后期模拟数据处理过程的各个环节,包括编码、发送、接收和解码,所用的短报文设备为北斗星通,型号为BDSC-01。
5.2 实验结果
为了详细评估基于北斗短报文的实时精密单点定位性能,分3种情况进行了数据处理:①原RTS数据;②原RTS数据的分钟间隔信息;③模拟RTS数据简化、编码、解码以及RTS改正数据恢复过程得到的分钟间隔RTS改正数据。由于RTS数据在接收的过程中出现了中断,所以观测数据分成了3段,分别进行处理:3.4~4.0 h为A段;4.3~5.3 h为B段;8.6~9.0 h为C段。每段都分别对IGS03(GPS和GLONASS)和CLK91(GPS、GLONASS、伽利略和北斗)的RTS数据进行处理。处理结果如图11所示。每个图所用的RTS数据从上到下依次为:原RTS数据、分钟间隔原RTS数据和简化处理后的分钟间隔RTS数据。
图11对应的RTS数据为IGS03,即GPS和GLONASS。可以看到,使用原RTS数据,定位精度在水平方向即时可以达到亚米级,竖直方向即时或在1 min可以达到亚米级,三维方向的定位精度在10 min内至少可以达到0.5 m,0.5 h后,可以达到0.2~0.3 m或更高的精度。而使用分钟间隔的原RTS数据,定位精度明显要低一些,但也可以在5 min内达到亚米级,在12 min内至少达到0.5 m,0.5 h左右,可以达到0.3~0.4 m的精度。简化处理后的分钟间隔RTS数据对应的定位结果跟分钟间隔的原RTS数据差异很小。
(a) A段(a) Section A
(b) B段(b) Section B
(c) C段(c) Section C图11 定位误差(IGS03)Fig.11 Positioning error(IGS03)
图12对应的RTS数据为CLK91,即GPS、GLONASS、伽利略和北斗。可以看到,使用原RTS数据,三维方向的定位精度可以即时达到亚米级,在2 min内至少可以达到0.5 m,30 min后,可以达到0.1~0.2 m或更高的精度。而使用分钟间隔的原RTS数据,定位精度明显要低一些,但水平方向也可以即时达到亚米级,竖直方向则可能需要1 min达到亚米级,在10 min左右至少可以达到0.5 m。稳定后,可以达到0.1~0.2 m的精度。同样,简化处理的分钟间隔RTS数据对应的定位结果跟分钟间隔的原RTS数据类似,尤其是水平方向。
(a) A段(a) Section A
(b) B段(b) Section B
(c) C段(c) Section C图12 定位误差(CLK91)Fig.12 Positioning error(CLK91)
6 结论
本文利用RTS改正数据时间相关性的特点,提出了通过历元间差分进行改正数据简化的方案,并对RTS辅助性质的数据也进行了简化处理,包括卫星标识号、历元时间以及数据龄期等。简化处理后,单套短报文设备可以发送2个GNSS分钟间隔的RTS数据,2台设备则可以发送4个GNSS系统分钟间隔的RTS数据,即以1 100元年通信费用便可以实现远海的双GNSS融合的实时精密单点定位,其三维的定位精度可达0.3~0.4 m;以2 200元年通信费用则可以实现4个GNSS系统融合的实时精密单点定位,其三维定位精度可以达到0.1~0.2 m。本文提出的方案不仅成本低廉,而且有利于普及民用,进而促进北斗产业的发展。