测绘地理信息   2020, Vol. 45 Issue (1): 23-26
0
基于RT27数据流的实时PPP程序的开发与应用[PDF全文]
颜笑1, 姚宜斌1,2,3, 许超钤1, 彭文杰1    
1. 武汉大学测绘学院, 湖北 武汉, 430079;
2. 武汉大学地球空间环境与大地测量教育部重点实验室, 湖北 武汉, 430079;
3. 地球空间信息技术协同创新中心, 湖北 武汉, 430079
摘要: 研究了BD970板卡的支持多星多系统的RT27观测数据格式的解码,并与天宝接收机自身解码结果进行对比,两者解码结果一致。在此基础上自主开发了基于RT27和IGS(international GNSS service)RTS(real-time service)的实时精密单点定位(precise point positioning, PPP)程序,并对其性能进行了评估与分析,结果表明, 无论静态或动态解算均能达到cm级精度,验证了该实时PPP程序的可靠性和精确性。
关键词: GNSS(global navigation satellite system)     RT27     解码     RTS     PPP    
The Development & Application of a Real-Time PPP Program Based on RT27 and International GNSS Service
YAN Xiao1, YAO Yibin1,2,3, XU Chaoqian1, PENG Wenjie1    
1. School of Geodesy and Geomatics, Wuhan University, Wuhan 430079, China;
2. Key Laboratory of Geospace Environment and Geodesy, Ministry of Education, Wuhan University, Wuhan 430079, China;
3. Collaborative Innovation Center for Geospatial Technology, Wuhan 430079, China
Abstract: In this paper, we study the decoding of RT27 data which supports multi-system based on the BD970 board, and find the results based on our decoding program are essentially in agreement with these based on Trimble decoding program. Meanwhile, we develope a real-time precise point positioning(PPP)based on RT27 and IGS (international GNSS service) RTS(real-time service), whose performance is evaluated and analyzed, and the results of statistical and kinematic solutions confirms that both can achieve centimeter-level accuracy, which proves the reliability and accuracy of our real-time PPP program based on RT27.
Key words: GNSS(global navigation satellite system)     RT27     decode     RTS     PPP    

目前全球导航卫星系统(美国的GPS、俄罗斯的GLONASS、欧盟的Galileo以及中国的北斗卫星导航系统)发展得越来越成熟[1]。而随着多种卫星系统的日益成熟,只支持单一卫星系统的接收机已不能满足要求,取而代之的是高性能的支持多星多系统的新型接收机。美国的Trimble BD970接收机就是一种支持多星多系统的高性能接收机,它所支持的RTCM3.X和RT27观测数据格式都是常用的多系统数据格式[2]。对于RTCM格式,不同卫星系统的原始观测数据格式也存在不同,需要用不同类型的电文分开存储[3, 4];而RT27格式中,不同卫星系统的原始观测数据格式是统一的,共同存储于同一电文中。本文在相关研究的基础上进行了改进,进一步提高了解码的准确性,解码结果和天宝解码结果实现了一致。

另一方面,如何把接收到的卫星数据更好地应用于导航定位技术得到精确的位置信息是重点,需要研发性能优良的定位算法。但是PPP技术需要高精度卫星轨道和钟差产品等星历数据来进行解算。通常IGS精度最高的事后精密星历和钟差产品有17 h~18 d的延时[5],使得PPP技术不具备RTK(real-time kinematic)技术的实时性,尽管后来IGS发布了IGU超快星历,但是它的预报部分精度较低,导致PPP精度有所下降。2013-04 IGS正式对外提供实时服务,实时的轨道钟差改正数使实时PPP成为可能。研究RT27格式的解码及其在实时PPP的应用有利于提高实时PPP应用的普适性;同时涵盖了RTCM、RT27这些格式的实时PPP平台,可以更好地直接应用于Trimble板卡。

1 RT27数据及解码 1.1 RT27数据格式

除了协议序列外,BD970的基本数据格式包括所有命令包和报告包,无论是来自远程计算机设备还是接收机,都具有相同的结构。每条消息以4个字节的头开始,接下来是数据包中的数据字节,最后数据包以两个字节的尾结束。

在BD970的各种数据格式包中,类型为57h(Packet Type=57h)的数据包记录位置和实时测量信息,而RT27是原始数据记录类型为6(Record Type=6)时57h报告包中的数据内容,是实时GNSS测量信息。因此RT27解码,即对记录类型为6的57h数据格式包进行解析。Record Type为06h时数据包中数据内容称为Record Type27即RT27。RT27中包含多星多系统的测量数据,而每个数据包中的数据记录部分(除了4个字节的头和两个字节的尾的中间部分)最多只能存248个字节,往往存不下一个历元完整的实时GNSS测量数据,因此需要分页存储。单个历元测量数据所占据的所有页中每一页都包含Record Type、Page Number、Reply Number和Record Interpretation Flags,其中占据字节5的Page Number的0~3位表示总页数TP,4~7表示当前页码CPN。

1.2 RT27解码

结合RTCM等其他二进制电文的解码流程[4],针对RT27特殊的分页存储方式,研究出其解码可以遵循以下步骤:

1) 从缓存区中按字节逐个读取,找到新的一条RT27电文的起始标志即电文头,找到电文头后将字节依次存入字节数组MessageBytes;

2) 读到原始数据类型字段时提取数据包类型、数据字节长度和原始数据类型字段;

3) 按数据字节长度读取当前页整个数据包,并提取页码信息(包括该历元消息总页数和当前页码)和校验码;

4) 利用校验码比对用于校验的累加器进行校验;

5) 继续对同历元剩余的页进行读取并存入字节数组;

6) 对该历元完整数据占据的所有页码进行无缝拼接,即将相邻两页之间的消息头和消息尾去掉,将原始数据字节拼接在一起;

7) 对该历元拼接好的完整的原始二进制数据进行解析和输出。

RT27电文格式的校验和一般电文格式的校验类似,要用到起始符之后校验码之前所有的字节。在程序中设计一个字节累加器Checkaccumulator, 将STX与CHECKSUM之间所有的字节累加起来,即Checkaccumulator=STATUS+PACKET TYPE+LENGTH+……(数据记录中所有字节累加),然后与校验码CHECKSUM进行比对。如果CHECKSUM=Checkaccumulator%256,则校验通过。

1.3 解码案例

直接向主板请求实时RT27数据信号可以得到原始数据。然后利用自主的解码程序对RT27原始数据流进行解码,并将解码结果输出成标准格式的RINEX文件与天宝官方解码软件结果进行比对。选取不同站不同时间的观测数据,对自主研发的解码程序解码结果和天宝官方软件解码结果进行对比,经过大量的测试,两者解码结果基本一致。

2 基于RT27数据流的实时PPP程序 2.1 PPP算法

实时PPP解算程序的天线相位偏移和变化、固体潮、地球自转和相对论效应项都采用模型和组合的方式进行了改正,这样就避免了读取相应的定时更新的改正文件。

PPP函数模型则采用消电离层组合,即利用电离层延迟与频率相关的特点将两个频率的伪距和相位观测值组成消电离层组合观测值,从而消除电离层延迟的影响[6]

$ {P_3} = \rho + c\left( {\delta {t_{{\rm{rcv}}}} - \delta {t^{{\rm{sat}}}}} \right) + Tr + M + {\varepsilon _{{P_3}}} $ (1)
$ {L_3} = \rho + c\left( {\delta {t_{{\rm{rcv}}}} - \delta {t^{{\rm{sat}}}}} \right) + Tr + {B_3} + {\lambda _N}w + m + {\varepsilon _{{L_3}}} $ (2)

其中,

$ {B_3} = {b_3} + {\lambda _N}\left( {{N_1} + \left( {{\lambda _W}/{\lambda _2}} \right){N_W}} \right) $ (3)
$ {b_3} = \left( {f_1^2{b_1} - f_2^2{b_2}} \right)/\left( {f_1^2 - f_2^2} \right) $ (4)
$ {\lambda _W} = c/\left( {{f_1} - {f_2}} \right) $ (5)
$ {\lambda _N} = c/\left( {{f_1} + {f_2}} \right) $ (6)

式中,P3L3分别为消电离层组合伪距和相位观测值;ρ表示卫星与测站之间的实际几何距离;δtrcv和δtsat分别表示接收机(rcv)和卫星(sat)的钟差;Tr为对流层延迟;Ni为载波相位Li的整周模糊度项;w为天线相位缠绕;Mm分别为伪距和相位的多路径误差;εP3εL3分别为伪距和相位噪声;λWλN分别为宽巷和窄巷波长。

2.2 星历数据

全球导航卫星系统的用户从1994年开始获得由IGS提供的精确的卫星轨道产品[7]。IGS产品保证长期参考框架的稳定性并使得cm级精度成为可能[8-10]。而近些年来,实时定位的应用越来越广泛,实时卫星轨道产品的需求也应运而生,为了满足实时用户的需求,早些年IGS就开始运作IGS实时试验计划项目(IGS real-time pilot project, IGS-RTPP)[11],并逐步实现了实时服务。2011年,IGS的实时服务(real-time service, RTS)被正式定义,该服务通过采集跟踪站的实时观测数据进而实时估计得到卫星轨道误差和卫星钟差,并于2013-04正式向全球有需求的用户免费播发,用户通过实时接收这些广播星历信息即可恢复实时精密轨道和钟差[12],并可用于实时精密单点定位解算。因此,IGS-RTS使得实时PPP成为可能。

这里实时PPP解算的实时轨道时钟产品采用了由IGS RTS提供的单历元最小二乘融合产品IGC01。

2.3 实时PPP程序的开发与应用

根据实时PPP解算的原理自主开发了基于RT27的实时PPP程序,利用实时RT27数据流和IGS-RTS提供的实时星历以及钟差改正数据流进行实时PPP解算。

首先来验证解码结果用于事后精密单点定位的结果精度,将事后解出的O文件与IGS提供的事后精密星历、钟差改正相结合,用自主开发的PPP程序来进行事后PPP解算,分别算出静态和动态定位结果,其中HECU站2016-09-26~29的解算结果如图 1图 2所示。然后按照相同的方法在不同测站不同时间进行事后PPP解算,经过大量的测试,静态PPP的解算结果收敛时间都在20 min左右,EN方向的Bias为亚mm级,U方向的Bias为mm级,Bias都接近零;E方向的RMS在1 cm左右,NU方向的RMS在1 cm以内;动态的收敛时间在30 min以内。ENU方向的Bias为1 cm左右,ENU方向的RMS均在10 cm以内,和Li等[13, 14]统计的传统PPP解算结果相当,验证了本文解码结果应用于事后PPP解算中的可靠性和精确性。

图 1 HECU站2016-09-26~29的事后PPP静态解算结果 Fig.1 Statistical Solution Result of PPP During 2016-09-26~29 at HECU

图 2 HECU站2016-09-26~29的事后PPP动态解算结果 Fig.2 Kinematic Solution Result of PPP During 2016-09-26~29 at HECU

为了进一步验证基于RT27数据流的实时PPP程序的实时解算性能,利用该实时PPP程序接入实时RT27数据流和IGS-RTS提供的实时星历以及钟差改正数据流进行实时PPP解算,其中HECU站2016-09-26~29的解算结果如图 3图 4所示。并按照相同的方法在不同测站不同时间进行实时PPP解算(表 1),经过大量的测试,静态的收敛时间都在30 min以内,ENU方向的Bias为mm级,ENU方向的RMS在2 cm以内;动态的收敛时间在40 min以内。ENU方向的Bias为1 cm左右,EN方向的RMS为10 cm以内,U方向的RMS为20 cm左右,和2016年Elsobeiey等[11]统计的结果相当,验证了自主开发的基于RT27数据流的实时PPP解算程序的可靠性和精确性。

图 3 HECU站2016-09-26~29的实时PPP静态解算结果 Fig.3 Statistical Solution Result of Real-Time PPP During 2016-09-26~29 at HECU

图 4 HECU站2016-09-26~29日的实时PPP动态解算结果 Fig.4 Kinematic Solution Result of Real-Time PPP During 2016-09-26~29 at HECU

表 1 解算精度/cm Tab.1 Solving Precision/cm

3 结束语

本文针对BD970板卡的接口文件中RT27格式,自主开发了解码程序以及基于该解码程序的实时精密单点定位解算程序,并将解码结果跟天宝的解码结果进行比对,两者基本一致。然后利用实时PPP解算程序将RT27数据分别用于事后PPP解算和实时精密单点定位的解算中,这两种的静态和动态结果均能达到目前PPP解算所能达到的较优的收敛时间和精度,表明本文研发的RT27的解码程序以及基于RT27数据流的实时精密单点定位程序的准确性和可靠性。下一步将针对BD970和其他主流板卡的其它观测数据格式以及星历数据格式进行解码,进而开发出一整套应用于Trimble板卡等常用板卡的实时PPP解算程序。

参考文献
[1]
Grewal M S, Andrews A P, Bartone C G. Global Positioning Systems, Inertial Navigation, and Integration[M]. Hoboken: John Wiley, 2001.
[2]
钱闯, 刘晖, 张红娟. Trimble BD970 OEM板数据获取与质量分析[C].中国卫星导航学术年会, 广州, 2012
[3]
Montenbruck O, Steigenberger P, Khachikyan R, et al. IGS-MGEX: Preparing the Ground for Multi-Constellation GNSS Science[J]. Espace, 2014, 9(1): 42-49.
[4]
孙良育, 刘春, 吴杭彬. GPS虚拟参考站RTCM传输电文的分析与解码[J]. 全球定位系统, 2008, 33(5): 52-57. DOI:10.3969/j.issn.1008-9268.2008.05.013
[5]
Hadas T, Bosy J. IGS RTS Precise Orbits and Clocks Verification and Quality Degradation over Time[J]. GPS Solutions, 2015, 19(1): 93-105. DOI:10.1007/s10291-014-0369-5
[6]
王亚辉, 孙中豪, 王晓南, 等. GPS动态精密单点定位与差分定位结果比较[J]. 测绘地理信息, 2015, 40(2): 47-49.
[7]
杨军建, 姚宜斌, 许超钤, 等. 不同在线PPP技术得到的ZTD对比与精度分析[J]. 测绘地理信息, 2015, 40(6): 11-14.
[8]
Dow J M, Neilan R E, Gendt G. The International GPS Service: Celebrating the 10th Anniversary and Looking to the Next Decade[J]. Advances in Space Research, 2005, 36(3): 320-326. DOI:10.1016/j.asr.2005.05.125
[9]
Kouba J. A Guide to Using International GPS Service (IGS) Products[J]. Maryland Biological Stream Survey Data VersarInc, 2003, 4(3): 106.
[10]
付宁波, 陈艳梅, 黄霞飞. 基于GPS跟踪站的精密单点定位精度分析[J]. 测绘地理信息, 2015, 40(4): 29-31.
[11]
Elsobeiey M, Al-Harbi S. Performance of Real-Time Precise Point Positioning Using IGS Real-Time Service[J]. GPS Solutions, 2016, 20(3): 565-571. DOI:10.1007/s10291-015-0467-z
[12]
Wang G, Zhao Q. Preliminary Analysis of Real-Time Orbit and Clock Error Based on BNC[M]. Berlin: Springer, 2012.
[13]
Li X X, Ge M R, Zhang H P, et al. A Method for Improving Uncalibrated Phase Delay Estimation and Ambiguity-Fixing in Real-Time Precise Point Positioning[J]. Journal of Geodesy, 2013, 87(5): 405-416. DOI:10.1007/s00190-013-0611-x
[14]
Li X X, Ge M R, Douša J, et al. Real-Time Precise Point Positioning Regional Augmentation for Large GPS Reference Networks[J]. GPS Solutions, 2014, 18(1): 61-71. DOI:10.1007/s10291-013-0310-3