Septentrio接收机二进制的BDS b2b改正数解码

Galileo的HAS和BDS B2b改正数为实时PPP提供了可能,要实现实时PPP解算,必须对对应的数据进行解码。由于没有做过解码的工作,现结合qzsl6tool代码对Septentrio的解码代码进行学习。

1. 二进制枕头的识别和解码

定义一个读取数据的类,通过传递文件名进行数据读取,并通过帧头去提取独立数据帧:

Septentrio接收机二进制的BDS b2b改正数解码_第1张图片

Septentrio接收机二进制的BDS b2b改正数解码_第2张图片 Septentrio接收机二进制的BDS b2b改正数解码_第3张图片

Septentrio接收机二进制的BDS b2b改正数解码_第4张图片

2. 二进制帧体的识别和解码

上述代码读取数据后,将984 symbols的数据存储到nav_bits中,并进一步转换到self.b2b中。

根据北斗ICD的定义,b2b数据帧一共1000 symbols(下图),而代码里处理了984,应该是接收机用自己的数据帧头替换了ICD数据帧中的同步头(Pre) 16 symbols。

Septentrio接收机二进制的BDS b2b改正数解码_第5张图片

而原始的16个字节内容为:0xEB90

Septentrio接收机二进制的BDS b2b改正数解码_第6张图片

帧内容的解码就和博文“Galileo HAS, BDS B2b PPP 数据解码软件及使用”中的说明一致 了。

你可能感兴趣的:(python,开发语言)