UBX 协议报文整理

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-SFRBX 0xB5 0x62 0x02 0x13 8 + 4*numWords CK_A CK_B
UBX-RXM-RAWX 0xB5 0x62 0x02 0x15 16 + 32*numMeas CK_A CK_B
UBX-NAV-PVT 0xB5 0x62 0x01 0x07 92 CK_A CK_B
UBX-TIM-TP 0xB5 0x62 0x0D 0x01 16 CK_A CK_B

UBX-RXM-SFRBX(0x02 0x13)

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

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

UBX-RXM-RAWX(0x02 0x15)

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

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

UBX-NAV-PVT (0x01 0x07)

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

Byte Offset Number Format Scaling Name Unit Description
0 U4 - iTow ms GPS 时间信息
4 U2 - year y 年份信息(UTC)
6 U1 - month month 月份信息,1-12,(UTC)
7 U1 - day d 每一月的天数,1-31(UTC)
8 U1 - hour h 时,0-23(UTC)
9 U1 - min min 分钟,0-59(UTC)
10 U1 - sec s 秒,0-60(UTC)
11 X1 - valid - 有效性标志
12 U4 - tAcc ns 时间精度估计
16 I4 - nano ns Fraction of second, range -1e9 … 1e9 (UTC)
20 U1 - 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

21 X1 - flags - Fix status flags
22 X1 - flags2 - Additional flags
23 U1 - numSV - 导航解决方案中使用的卫星数量
24 I4 1e-7 log deg Longitude(经度)
28 I4 1e-7 lat deg Latitude(纬度)
32 I4 - height mm 椭球以上的高度
36 I4 - hMSL mm 高于平均海平面的高度
40 U4 - hAcc mm 水平精度估计
44 U4 - cAcc mm 垂直精度估计
48 I4 - velN mm/s NED 向北速度
52 I4 - velE mm/s NED 向东速度
56 I4 - velD mm/s NED 下降速度
60 I4 - gSpeed mm/s 地速(2-D)
64 I4 1e-5 headMot deg Heading of motion (2-D)
68 U4 - headAcc mm/s 速度精度估计
72 U4 1e-5 headAcc deg Heading accuracy estimate
76 U2 0.01 pDOP - Position DOP
78 X2 - flags3 - Additional flags(附加标志)
80 U1[4] - reserved1 -
84 I4 1e-5 headVeh deg 车辆航向(二维),仅当设置 headVehValid 时才有效,否则输出置为运动航向
88 I2 1e-2 magDec deg 磁偏角。仅支持 ADR 4.10 及更高版本。
90 U2 1e-2 magAcc deg 磁偏角精度。仅支持 ADR 4.10 及更高版本支持。

UBX-TIM-TP (0x0D 0x01)

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

Byte Offset Number Format Scaling Name Unit Description
0 U4 - towMS ms 依据时基的时间脉冲时间
4 U4 2 − 32 2^{-32} 232 towSubMS ms towMS 的亚毫秒
8 I4 - qErr ps 时间脉冲量化误差
12 U2 - week weeks 根据时基的时间脉冲周数
14 X1 - flags - 标志
15 X1 - refInfo - 时间参考信息

你可能感兴趣的:(跑通GVINS,c++)