RTCM3.3电文信号,消息类型GPS MSM4的解码 | 您所在的位置:网站首页 › 伟繁体写法 › RTCM3.3电文信号,消息类型GPS MSM4的解码 |
本文章尽可能详细地阐述RTCM电文GPS MSM4消息伪距和信噪比数据的解码流程,初学者,如有错误欢迎批评指正。介绍使用的数据来源于论文[2]。 目录 1. 综述 2. 电文结构 3. 可变长度消息 3.1 消息头 3.1.1 读取Message number 3.1.2 解读卫星标志表 3.1.3 解读信号标志表 3.1.4 得到信号位图表 3.2 卫星数据 3.3 信号数据 推荐文章: (20条消息) RTKLIB之RTCM解析_伊伊_f-CSDN博客_rtklib中rtcm (19条消息) RTCM格式解析_测量员小李的博客-CSDN博客_rtcm数据格式 (19条消息) 图解crc校验,crc8, crc16, crc32, crc24 用 c语言和python实现_hellomyself的专栏-CSDN博客_crc24校验 参考文献: [1]于晓东, 吕志伟, 王兵浩,等. DGNSS数据传输格式RTCM3.2的介绍及解码研究[J]. 全球定位系统, 2015, 40(3):5. [2]李珊珊, 杨泳, 徐开俊,等. 差分数据通信格式RTCM3.2解码算法研究[J]. 中国民航飞行学院学报, 2019(3):6. 相关文档(必备): RTCM STANDARD 10403.3 Differential GNSS Services RTCM文件阅读工具: Notepad++以及它的HEX-Editor插件 1. 综述初始电文数据: 解码后的数据: RTCM的初始电文如图所示,它实际上是一串二进制数据,此处以16进制展示。其中,每一个字符(16进制数)占4bits,如“D”所占的比特数为4,将其转换为二进制为1101,每一个二进制数占一个bit,如“1”占的比特数为1。 电文被分为许多连续的数据字段,每个字段所占的比特数不同,需要根据协议逐一解读。 2. 电文结构即看到“D3 00”就意识到这是一条电文的开头,0xA7对应的十进制为167,那么该电文接下来的长度为“167对数据”(为了便于理解,我将‘43’称为一对数据,一对数据包含两个16进制数,每个占4bits,一对数据占8bits。注意!!!文章的例子中将CRC去掉了,实际情况应再加上3对数据:24/8=3) 现在引导字、保留字、消息长度解读完成。 3. 可变长度消息 消息头卫星数据电文数据 3.1 消息头包含该条消息的所有信息,如下图所示: DF NUMBER部分的详细信息在RTCM协议中Data Field Table查看。 最后一个字段长度为卫星数和信号数的乘积,即X=Nsig*Nsat 。 3.1.1 读取Message number读取Message number字段,即前12bits,“43 2”的十进制为1074 查找RTCM协议Message Type Table,找到Message Type为1074的行,得知1074对应的消息类型为GPS MSM4。 3.1.2 解读卫星标志表逐个字段继续去读,直到GNSS Satellite Mask字段,结合GPS Satellite ID mapping,对电文进行解读 解码方式:表中第一行为16进制数(电文中的数),第二行灰色部分为GNSS Satellite Mask字段,为二进制,占了64位,第三行为卫星ID。若某一位为“1”则说明观测到了该卫星,为“0”反之。省略的部分都是0。卫星数Nsat=10。 3.1.3 解读信号标志表方法与卫星标志表类似,信号数Nsig=2。 文章的解码结果中信号类型为C1、P2,是因为W码一般只是根据Z技术恢复的一种P码,所以习惯上称为P码。 3.1.4 得到信号位图表它是一个二维表,它的大小为Nsig*Nsat, 信号位图表按列为单位,卫星ID升序排列。信号位图表确定了不同类型观测值的排列顺序,后续解读也按照这个顺序。 至此,消息头解读完成。紧接着连接卫星数据和信号数据。 3.2 卫星数据解码方式都是一致的,但是要注意电文里每一个字段都是连续的(即比特也连续),根据字段所占的字节数截取相应的一截,再转换为十进制。 信号数据中解码后的数据排列顺序: 根据下式可以求得伪距: 载噪比/信噪比数据直接读取即可。 最后总结一下解码流程: 读取引导字”D3 00”,找到电文开头位置;读取消息头:从可变长度消息的消息头中读取Message Type,在RTCM协议Message Type Summary表中找到对应的数字,确定消息类型;然后读取消息头中的卫星标志表(Satellite Mask)和信号标志表(Signal Mask),以确定信号数据中观测值的排列顺序和位置(所在的位数);找到该消息类型的Content(内容表),查看该消息类型包含哪些数据字段(Data Field);在RTCM协议中查Data Field Table表,查看内容表中每个数据字段各自所占的位数;读取卫星数据、信号数据:根据每个数据字段所占的位数,按位为单位逐个字段地去解码电文。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |