RTCM协议阅读——RTCM数据解析

RTCM协议阅读——RTCM数据解析文章目录前言 1 RTCM 协议阅读 一 2 RTCM 协议阅读 二 3 RTCM 阅读 三 4 RTCM 阅读 四 SSR5 RTCM 阅读 五 MSM4 总结前言本文主要记录 RTCM 数据流的解析方法 以及各个字段的定义 以学习记录为主 1 RTCM 协议阅读 一 RTCM preamble 000000 length datames


前言

本文主要记录RTCM数据流的解析方法,以及各个字段的定义,以学习记录为主

1.RTCM协议阅读(一)

  •  | preamble | 000000 | length | data message | parity | 
  •  +----------+---------+-------------+-----------------------+------------+ 
  •  |<-- 8 --->|<- 6 -->|<-- 10 --->|<--- length x 8 --->|<-- 24 -->| 
 消息1004和1002对应,同样也增加了L2频点的观测量 ,载噪比、伪距的未知系数(猜测可能是伪距毫秒的小数部分) 

消息协议的具体内容可参考RTCM-SC10403.2协议(P100)!!!

2.RTCM协议阅读(二)

 消息1010的数据格式(参考RTCM协议P110): GLONASS卫星ID : 6bit L1码标识: 1bit GLONASS卫星频率通道号: 5bit GLONASS L1伪距ppr: 25bit GLONASS L1 相位减伪距(ppr1): 20bit L1锁定时间标识: 7bit amb: 7bit 载噪比(CNR): 8bit 消息1011相对消息1010, 去掉了L1的amb和载噪比,但是增加了L2的观测数据; 消息1012相对于消息1010,增加了L2的观测数据(其中增加的是L1和L2的伪距差值等信息)和L2载噪比,但是没有增加L2的amb; 注:需要注意的是GLONASS 和GPS的观测值 计算公式不同可参考 rtklib rtcm3.c的643行;具体协议参考RTCM3协议P112 

4.消息号(1013)

 记录了特定参考站的所有传输消息 

3.RTCM阅读(三)

  1. 消息号(1014~1017)
    Net RTK消息,1015、1016、1017为报文头(具体协议参考:RTCM3.2 协议的P114~P119);

2.消息号(1019):GPS导航星历

  1. 消息号(1020):
    GLONASS星历,GLONASS不同于GPS系统,星历中给出的并不是轨道参数,直接给出了卫星在轨速度、在轨位置等

4.RTCM阅读(四)——SSR

  1. 消息号(1057):卫星广播轨道的修正,主要用于DF-RT-PPP
    1057 消息头

 1057 消息主体 卫星ID 6bit GPS IODE 8bit Delta Radial 22bit 径向 修正量 

5.RTCM阅读(五)——MSM4

 消息数据: MSM电文消息:MSM电文组的信号数据是以cell为单位进行排列,它的排列顺序根据GNSS cell标志组的(Masks)进行排列,GNSS cell标志组是一个存放卫星编号和频率编号的二维数组。其中第一行存放卫星标志组中第一颗卫星各信号的标志,因此它的大小由卫星数nsat和信号个数nsig来确定,Ncell=nsat*nsig; 

MSM的信号数据和传统的电文类型(NEMA)不同,传统的电文采用以卫星为单位,每颗卫星的数据结构相同,重复nsat次。MSM采用同一数据字段重负Ncell次,采用每个数据字段内部循环的方式来存储数据。

信号数据中数据是按照数据类型排列,第一部分是存放所有卫星、所有信号的伪距,排列顺序是按照电文头中的cellmask定义的卫星号和信号顺序进行排列的,重复Ncell次。剩下的载波值、半周模糊度标志位、信噪比以此类推。

RTKLIB中的实现方法(从169bit开始): 

伪距概略值的整数部分(单位是毫秒)rng: 8nsat bit
伪距概略值的小数部分(单位是毫秒)rng_m: 10

nsat bit
根据rng 和rng_m 可获得伪距概略值:R=(rng+rng_m/1024)c/1000
伪距小数部分 15

ncell=15nsatnsig
根据以上即可获得标准精度的伪距观测量:(见RTCM协议的P204)
Pseudorange(i) = c/1000 × (Nms + Rough_range/1024 + 2 –24 × Fine_Pseudorange (i))
载波小数部分 22ncell
PhaseRange(i) = c/1000 × (Nms + Rough_range/1024 + 2 –29 × Fine_PhaseRange(i)
锁定时间 4




ncell
半周模糊度 1ncell
载噪比 6

ncell










自此可对应存储观测数据;

总结

本文主要用于记录学习,如有错误,勿喷!敬请指正。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215793.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午1:09
下一篇 2026年3月18日 下午1:09


相关推荐

  • 数据库索引高频面试题(最新版)

    数据库索引高频面试题(最新版)MySQL 的索引是面试中的高频题目 将常见的索引面试题目总结了一下 如果有帮到你可以点赞收藏呦 文章目录索引什么是索引 索引的优缺点 索引的数据结构 Hash 索引和 B 树的区别 索引的类型有哪些 索引的种类有哪些 B 树和 B 树的区别 数据库为什么使用 B 树而不是 B 树 什么是聚簇索引 什么是非聚簇索引 非聚簇索引一定会进行回表查询吗 索引的使用场景有哪些 索引的设计原则 如何对索引进行优化 如何创建 删除索引 使用索引查询时性能一定会提升吗 什么是前缀索引 什么是最左匹配原则 索引在什么情况下会失效

    2026年3月17日
    3
  • C++中的foreach用法

    C++中的foreach用法在 c 中 一般人只知道 foreach 分开写为 foreach 时的用法 却不知道 foreach 的用法 不多说 直接上代码 QStringListl QStringstrTe QStringstrTe tempList append aaa tempList append bbb tempList ap

    2026年3月20日
    2
  • linux的iptables和firewall的区别

    linux的iptables和firewall的区别

    2021年10月19日
    61
  • 从ResNet101到ResNet50

    从ResNet101到ResNet50一直用VGG训练,几天前想看下ResNet的效果如何,因为SSD源码中有python实现的ResNet网络结构实现代码,包含ResNet101和ResNet152,直接拿ResNet101来训练,GTX1060配置,batchsize竟然只降到2才跑的起来,果然一直收敛不了。看了下model_libs.py里面的实现代码:defResNet101Body(net,from_layer,u

    2022年10月7日
    6
  • FatMouse&#39; Trade(杭电1009)

    FatMouse&#39; Trade(杭电1009)

    2022年1月23日
    47
  • 什么是贝叶斯

    什么是贝叶斯原文地址[你对贝叶斯统计都有怎样的理解?](https://www.zhihu.com/question/21134457)浅谈贝叶斯不论是学习概率统计还是机器学习的过程中,贝叶斯总是是绕不过去的一道坎,大部分人在学习的时候都是在强行地背公式和套用方法,没有真正去理解其牛逼的思想内涵。我看了一下自己学校里一些涉及到贝叶斯统计的课程,content里的第一条都是PhilosophyofBaye

    2022年5月16日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号