PDF下载
基于北斗高精度定位的煤矿井架自动化在线监测技术研究

闫勇 李彪 周行 岳光波 张鹏

山东唐口煤业有限公司,山东省济宁市,272055

摘要: 北斗差分数据通讯标准是在我国建立北斗二代导航系统后RTCM32增加的标准。RTCM3.2格式是利用北斗卫星进行差分,实现RTK厘米乃至毫米定位精度的基础。为了研究改格式解码,在研读相关标准和数据说明的基础上,按照数据格式读取原则进行了实时解码,程序为C++编写的相关解码程序,实现了解码流程。实验证明,该方法的可用性和正确性。
关键词: 北斗系统;RTCM3.2;解码;正确性
DOI:10.12721/ccn.2021.157073
基金资助:
文章地址:

1 引言

自2007年中国开始建立二代北斗卫星导航系统以来,已经实现亚太区域导航定位并逐步实现全球导航定位服务的目标。2012年底北斗控制性接口文件(ICD文件)的公开,标志着卫星民用的开始[1-2]。为实现差分定位技术,极大满足GNSS 系统高精度定位服务需求,通常利用北斗地基增强技术实现差分。其中,差分协议是数据传输的核心。RTCM SC-104 委员会2013 年推出了RTCM3.2 版本,该版本提供了对北斗BDS 系统的支持,增加和扩展了多种网络RTK信息,包括GPS、GLONASS、GALILEO 和BDS 系统的多种信号信息。

目前,针对 RTCM3.2 版本公布的开源资料很少,对该版本协议的编码、解码公开文献也不多。因此,论文重点对该格式电文组进行研究,按照标准要求数据进行解析,采用面向对象的编码原则在VS环境下的C++语言,实现了RTCM3.2 格式数据的解码和算法实现,并利用煤矿井架的实测差分监测数据进行验证。

2 RTCM 3.2结构

差分北斗系统由基准站、数据链和用户终端3部分组成,数据链所传输的差分数据格式是必须考虑的重要环节,目前在差分数据进行传输时,通常使用国际通用的RTCM SC-104协议,该协议由国际海运事业无线电委员会提出。通用的RTCM SC-104协议最新的版本是RTCM 3.2,该版本增强了对多系统的支持力度,并首次支持了BDS。

RTCM 3.2通过使用MSM来支持多系统,MSM是使用一种通用的格式来表示北斗接收机观测值,以此来满足多系统多信号的应用。按照不同应用场合MSM分为7类:MSM1-MSM7。由MSM1-MSM7,所发送的观测值内容越来越多或者精度越来越高。这7条电文传输伪距观测值和相位观测值时,都是通过将距离换算成毫秒进行传输的。虽然MSM分为7种类型,但它们有同样的结构,见下表。

表1  MSM的结构

组成部分

内容

信息头

包含了所传输卫星和信号的信息,例如:所传输的卫星有哪些,所传输的信号有哪些

卫星数据

包含了卫星数据,例如:卫星-测站的粗略距离

信号数据

包含了具体信号的数据,例如:L1上的C/A

RTCM 3.2在数据格式上最大的特点是采用内部循环:对每颗卫星的数据及对应的信号数据采用循环方式进行编码。每个卫星系统各自均有对应于MSM1~MSM7的电文,1071~1077电文分别对应GPS的MSM1~MSM7;1121~1127分别对应BDS的MSM1~MSM7,1081~1087分别对应GLONASS的MSM1~MSM7。本项目由系统发布的观测值电文类型包括1074、1084和1124电文,均对应MSM4的电文。最终发送的一条RTCM 3.2电文由5部分组成,其电文结构如下表所示,MSM对应于这个结构中的“可变长度消息”。

表2  RTCM 3.2电文结构

名称

长度

描述

引导字

8bit

11010011

保留字段

6bit

0

消息长度

10bit

以字节为信息长度单位

可变长度消息

长度不定,均为整型数据

0-1023个字节

CRC校验码

24bit

24位CRC校验码

正确的解码才能保证定位数据的正确性与可靠性按照编码的思想,解码的流程如下图所示,在接收RTCM 3.2二进制数据后,首先判断首8位是否为引导字,若是引导字,则继续判断下6位是否为0,如果是,则根据下10位获取信息长度,获取信息长度后,要判断余下的字节是否充足,是否足够一条电文的长度,如果不足,则应继续接收二进制数据,如果充足,则读取相应长度的字节,计算电文的CRC校验码,并与电文给出的校验码进行比较,如果不同,则说明电文有误,应丢弃,如果相同,则校验通过,进入解析MSM数据的阶段,按照MSM的结构,将相应的数据解析出来,并恢复成正确的值。

3 RTCM 3.2解析算法描述

根据上述的解码算法与流程,本项目设计了一款RTCM 3.2解码软件用于RINEX格式与RTCM 3.2之间的互相转换,用户可自由选择卫星系统和MSM类型,方便灵活,该软件使用的编程语言为MFC,开发环境为VS 2010。

由于RTCM 3.2中并没有完整的时间信息,因此,如果不是当天的数据,为了获取完整的时间信息,用户应选择“模拟”模式,设置正确的日期,若是当天的数据,则用户应选择“真实”模式,软件根据系统时间进行恢复,另外,由于跳秒会随时间改变,软件没有内置跳秒信息,为了保证解码正确,用户应输入正确的跳秒值。

 图片3.png

图2  RTCM 3.2解码算法流程

4 算例分析与验证

为了验证解码流程的正确性,以华测接收机2018年某天产生的RTCM3.2数据为例对以上解码算法进行了验证。试验华测接收机同时保存的Rinex格式观测数据文件进行比对。通过比较两者的关系来验证算法的正确性。下图示出了包含GPS、GLONASS和BDS观测值信息MSM4的1074、1084和1124电文。

图片2.png 

图3  原始格式(16进制)的1074、1084和1124电文

图片3.png 

图4  解码1074、1084和1124电文得到的观测值

通过将上述解码得到的观测值与接收原始数据同时保存的Rinex格式观测数据文件进行对比,发现观测值数据完全一致,证明了解码算法的正确性。

5 结论

论文介绍了目前最新的支持北斗差分通信的RTCM3.2标准。该标准规定了兼容北斗的多频多系统实时GNSS数据传输的格式和解码方法。按照电文格式和分割方法,利用C++语言,基于VS编程平台实现了RTCM3.2的解码。通过验证,与其他软件解码对比,已经后期的差分解算,证明了方法的正确性和有效性。

6 参考文献

[1] 谢钢.全球导航卫星系统原理一GPS、格洛纳斯和伽利略系统[M].北京:电子工业出版社,2013.

[2] 余学祥,王坚,刘绍堂等.GPS测量与数据处理[M].徐州:中国矿业大学出版社2013.

[3] 吴海玲,李作虎,刘晖.关于北斗加入RTCM国际标准的总体研究[J].全球定位系统,2014,39(1):27-33.

[4] 史小雨,程鹏飞,蔡艳辉,李为乔. 差分GPS数据通信格式RTCM3.1 及其解码算法的实现[J].测绘通报,2012(6):4-6

[5] RTCM. RTCM special committee no.104.RTCM standard 104 3.2 for differential GNSS[S].Arlington: Radio Technical Commission for Maritime Services,2013