UBX 协议报文整理

2023-05-16

UBX 协议报文整理

UBX 协议的报文格式如下:

帧头(2-byte)CLASS ID MESSAGE ID(2-byte)消息长度(2-byte)PAYLOAD校验和(2-byte)
  • 帧头: 由两个字节组成,即0xB5 0x62
  • 帧头之后是一个字节的 CLASS ID 和 MESSAGE ID 信息组成
  • 消息长度: 由两个字节组成,表示后面发送的 PAYLOAD 消息长度,字节序为低字节序
  • PAYLOAD: 输出的 GPS 信息
  • 校验位: 两个字节的校验,CK_A, CK_B

在 GVINS 项目中接收 gps 信息所用的主要是一下四种 UBX 协议,即 UBX-RXM-SFRBX(0x02 0x13)UBX-RXM-RAWX (0x02 0x15)UBX-NAV-PVT (0x01 0x07)UBX-TIM-TP (0x0D 0x01)。四种报文信息如下:

报文名称帧头(2-byte)CLASS ID MESSAGE ID(2-byte)消息长度(2-byte)PAYLOAD校验和(2-byte)
UBX-RXM-SFRBX0xB5 0x620x02 0x138 + 4*numWordsCK_A CK_B
UBX-RXM-RAWX0xB5 0x620x02 0x1516 + 32*numMeasCK_A CK_B
UBX-NAV-PVT0xB5 0x620x01 0x0792CK_A CK_B
UBX-TIM-TP0xB5 0x620x0D 0x0116CK_A CK_B

UBX-RXM-SFRBX(0x02 0x13)

该消息报告的是从单个信号中解码出广播导航数据的完整子帧。 每条消息中报告的数据字数取决于信号的性质。
具体的 Payload 信息如下表格:

Byte OffsetNumber FormatScalingNameUnitDescription
0U1-gnssId-GNSS identifier
1U1-svId-Satellite identifier
2U1-reserved1-
3U1-freqID-Only used for GLONASS: This is the frequency slot + 7 (range from 0 to 13)
4U1-numWords-The number of data words contained in this message (0…16)
5U1-reserved2-
6U1-version-Message version (0x01 for this version)
7U1-reserved3-
8 + 4 * NU4-dwrd-The data words

UBX-RXM-RAWX(0x02 0x15)

此消息包含能够生成 RINEX 3 所需的信息多 GNSS 观测文件,当信号被同步后,该消息包含伪距、多普勒、载波相位、锁相和 GNSS 卫星的信号质量信息。
具体的 Payload 信息如下表格:

Byte OffsetNumber FormatScalingNameUnitDescription
0R8-rcvTows接收器本地时间中的每周测量时间与 GPS 时间系统大致对齐。 接收器的本地周时间、周数和闰秒信息可用于将时间转换为其他时间系统。 有关时间系统差异的更多信息,请参见 RINEX 3 格式文档。 对于在 GLONASS only 模式下运行的接收器,无论 GPS 闰秒是否有效,都可以通过从 GPS 时间中减去闰秒字段来确定 UTC 时间。
8U2-weekweeks接收器当地时间中的 GPS 周数
10I1-leapSsGPS 闰秒 (GPS-UTC)。 该字段表示接收器对闰秒偏移量的最佳了解。 recStat 位域中给出了一个标志,以指示闰秒是否已知。
11U1-numMeas-要遵循的测量次数
12X1-recStat-接收器跟踪状态位域
13U1[3]-reserved1-
16 + 32 * NR8-prMesm伪距离测量 [m]。 GLONASS 频率间信道延迟通过内部校准表进行补偿。
24 + 32 * NR8-cpMescycles载波相位测量[周期]。 使用近似值初始化载波相位初始模糊度,使相位幅度接近伪距测量值。 根据 RINEX 规范,时钟复位适用于相位和代码测量。
32 + 32 * NR4-doMesHz多普勒测量值
36 + 32 * NU1-gnssId-GNSS 标识符
37 + 32 * NU1-svId-卫星标识符
38 + 32 * NU1-reserved2-
39 + 32 * NU1-freqId-Only used for GLONASS: This is the frequency slot + 7 (range from 0 to 13)
40 + 32 * NU2-locktimemsCarrier phase locktime counter (maximum 64500ms)
42 + 32 * NU1-cnodBHzCarrier-to-noise density ratio (signal strength) [dB-Hz]
43 + 32 * NX1 0.01 ∗ 2 n 0.01 * 2^n 0.012nprStdevHzEstimated pseudorange measurement standard deviation
44 + 32 * NX10.004cpStdevcyclesEstimated carrier phase measurement standard deviation (note a raw value of 0x0F indicates the value is invalid)
45 + 32 * NX1 0.002 ∗ 2 n 0.002 * 2^n 0.0022ndoStdevHzEstimated Doppler measurement standard deviation.
46 + 32 * NX1-trkStat-Tracking status bitfield
47 + 32 * NU1-reserved3-Reserved(保留字段)

UBX-NAV-PVT (0x01 0x07)

该消息结合了位置、速度和时间解决方案,包括精度数字。
具体的 Payload 信息如下表格:

Byte OffsetNumber FormatScalingNameUnitDescription
0U4-iTowmsGPS 时间信息
4U2-yeary年份信息(UTC)
6U1-monthmonth月份信息,1-12,(UTC)
7U1-dayd每一月的天数,1-31(UTC)
8U1-hourh时,0-23(UTC)
9U1-minmin分钟,0-59(UTC)
10U1-secs秒,0-60(UTC)
11X1-valid-有效性标志
12U4-tAccns时间精度估计
16I4-nanonsFraction of second, range -1e9 … 1e9 (UTC)
20U1-fixType-

GNSSfix Type:
0:no fix
1:dead reckoning only
2: 2D-fix
3: 3D-fix
4: GNSS + dead reckoning combined
5: time only fix

21X1-flags-Fix status flags
22X1-flags2-Additional flags
23U1-numSV-导航解决方案中使用的卫星数量
24I41e-7logdegLongitude(经度)
28I41e-7latdegLatitude(纬度)
32I4-heightmm椭球以上的高度
36I4-hMSLmm高于平均海平面的高度
40U4-hAccmm水平精度估计
44U4-cAccmm垂直精度估计
48I4-velNmm/sNED 向北速度
52I4-velEmm/sNED 向东速度
56I4-velDmm/sNED 下降速度
60I4-gSpeedmm/s地速(2-D)
64I41e-5headMotdegHeading of motion (2-D)
68U4-headAccmm/s速度精度估计
72U41e-5headAccdegHeading accuracy estimate
76U20.01pDOP-Position DOP
78X2-flags3-Additional flags(附加标志)
80U1[4]-reserved1-
84I41e-5headVehdeg车辆航向(二维),仅当设置 headVehValid 时才有效,否则输出置为运动航向
88I21e-2magDecdeg磁偏角。仅支持 ADR 4.10 及更高版本。
90U21e-2magAccdeg磁偏角精度。仅支持 ADR 4.10 及更高版本支持。

UBX-TIM-TP (0x0D 0x01)

该消息包含关于在 TIMEPULSE0 输出处的下一个脉冲的时序信息。 使用此消息时的推荐配置是将测量速率 (UBX-CFG-RATE) 和时间脉冲频率 (UBX-CFG-TP5) 都设置为 1 Hz。
具体的 Payload 信息如下表格:

Byte OffsetNumber FormatScalingNameUnitDescription
0U4-towMSms依据时基的时间脉冲时间
4U4 2 − 32 2^{-32} 232towSubMSmstowMS 的亚毫秒
8I4-qErrps时间脉冲量化误差
12U2-weekweeks根据时基的时间脉冲周数
14X1-flags-标志
15X1-refInfo-时间参考信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UBX 协议报文整理 的相关文章

  • PotPlayer优化与最高画质设置(最强本地播放器)

    一 前言 软件 xff1a PotPlayer 描述 xff1a 被誉为本地视频最好用的播放器 xff01 PotPlayer下载地址参考 xff1a https potplayer org 推荐Potplayer论坛 xff1a http
  • Arduino结构体变量使用

    Arduino结构体变量使用 x1f4dd 示例程序 span class token comment 本文使用arduino nano span span class token comment 声明 B span span class
  • 51单片机自定义串口通讯协议控制流水灯+Proteus仿真

    51单片机自定义串口通讯协议控制流水灯 Proteus仿真 Proteus仿真演示 注意不要使用Proteus 8 Professional 8 13版本串口通信会出错 需要利用虚拟串口工具提前创建2个虚拟串口 Proteus里面AT89C
  • Arduino struct结构体定义和使用方法详解

    Arduino struct结构体定义和使用方法 1 直接使用struct定义 示例 span class token keyword struct span span class token class name People span
  • 锂电池基于DW01组成的过充电、过放、短路保护电路

    锂电池基于DW01组成的过充电 过放 短路保护电路 原理图 该电路主要由锂电池保护专用集成电路 xff24 xff37 xff10 xff11 xff0c 充 放电控制MOSFET xff08 内含两只 xff2e 沟道 xff2d xff
  • STM32F103基于标准库开发串口中断接收数据环形队列例程

    STM32F103基于标准库开发串口中断接收数据环形队列例程 本示例源码来源于野火 STM32库开发实战指南 xff0c 是一个值得学习借鉴的资源 x1f4d1 一个完整的串口数据包通讯协议一般包含 xff1a 帧头 地址信息 数据类型 数
  • 基于STM32CubeIDE HAL库利用基本定时器实现串口接收不定长数据

    基于STM32CubeIDE HAL库利用基本定时器实现串口接收不定长数据 申明 xff1a 本文章仅发表在CSDN网站 xff0c 任何其他网见此内容均为盗链和爬取 xff0c 请多多尊重和支持原创 x1f341 对于文中所提供的相关资源
  • idea重构手法

    idea重构手法 四键齐发 xff1a ctrl 43 alt 43 shift 43 T 修改方法名 xff1a shift 43 F6修改方法参数 xff1a Ctrl 43 F6提取常量 xff1a Ctrl 43 Alt 43 C提
  • Linux下实现http的Get方法

    Linux如何实现http的GET数据方法 下载curl库源码 https curl se download html Linux编译 make拷贝库文件 xff0c 目录 curl 7 83 0 lib libs 下 libcurl so
  • 一篇关于GPS定位写得最详实清晰的文章之一

    一篇关于GPS定位写得最详实清晰的文章之一 介绍篇 过去 xff0c 如果你的女友是个路痴 xff0c 大概会有这样的对话 你在哪儿呢 xff1f 啊 xff1f 我在马路上啊 有什么特征 xff1f 头顶有个月亮 你旁边有什么啊 xff1
  • 基于HAL库STM32串口驱动不定长数据接收

    STM32串口驱动不定长数据接收带环形缓冲区 最新框架代码使用方法源码串口接口文件环形缓冲区接口文件 移植图示 使用涉及4个文件 xff0c UART Port c UART Port h CircularQueue h CircularQ
  • OptiTrack---Motive简单使用导出groundtruth

    文章目录 Motive介绍1 详细介绍 Motive使用1 详细使用2 简单使用导出groundtruth 1 首先安装Motive 2 启动Motive 3 建立body xff0c 进行录制 4 对结果进行保存 Motive介绍 1 详
  • 使用U盘安装Ubuntu20.04

    背景 今天自己鼓捣小电脑 xff0c 卖家发过来的时候已经按要求预装了Ubuntu20 04 xff0c 我想改一下卖家起的用户名 也许是计算机名 xff0c 分不太清 xff0c 结果搞的电脑输入密码却进不了桌面 xff0c 最终决定重装
  • 【ROS基础】rviz打开后如何显示实时2D地图

    1 背景 launch 了一个建图程序 xff0c 并打开了 rviz xff0c rviz 中也 add 了 map xff0c 但是 rviz 中并未出现期望的2D地图 xff0c 让人很是手足无措 2 问题解决 百度了才发现自己使用的
  • RTKlib源码解析:ppp和rtkpost中的周跳检测函数

    文章目录 前言detslp mwdetslp gfdetslp lldetslp dop 欢迎关注个人公众号 xff1a 导航员学习札记 前言 本文解析了RTKlib ppp c中两个周跳检测函数detslp mw和detslp gf xf
  • RTKlib相对定位源码解析:resamb_LAMBDA (整周模糊度求解)

    本文对resamb LAMBDA函数 xff0c 以及其中的ddmat restamb函数进行了解析 由于其中的lambda函数在参考论文中都给出了详细推导和计算步骤 xff0c 因此没有解析 lambda函数参考论文 xff1a 1 P
  • RTKlib PPP代码解析

    文章目录 ppposudstate pppudbias pppcorr measppp res 欢迎关注个人公众号 xff1a 导航员学习札记 我所基于的代码版本是RTKlib 2 4 3的一个拓展版本RTKexplore Demo5 xf
  • Android 动态修改SeekBar滑块和进度条的颜色

    方法一 1 需求 xff1a 需要改变其默认颜色 xff0c 样式 2 滑竿样式 seekbar xml lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt layer lis
  • GNSS定位(SPP、RTK、PPP)位置坐标系

    欢迎关注个人公众号 xff1a 导航员学习札记 文章目录 一 前言二 单点定位三 差分定位四 PPP 一 前言 最近研究不同FTP的基站数据 xff0c 发现它们坐标系都不一致 xff0c 因此研究了下GNSS定位结果的坐标系 参考了一些文
  • detrend去趋势函数的Matlab、Python与C实现

    文章目录 趋势分量对频域分析的影响detrend去趋势函数 xff08 Matlab Python xff09 detrend的C语言实现 趋势分量对频域分析的影响 在对信号做频域分析时 xff0c 如果有趋势项的存在 xff0c 会对分析

随机推荐