BINEX格式介绍

BINEX是'Binary Exchange'的缩写,是一种用于GNSS数据交换的格式,支持RINEX、IONEX等多种数据。它允许任意两个BINEX文件连接,并具有CRC校验、可扩展性等特点。BINEX记录由同步字节、记录ID、记录长度、记录消息等组成,观测值记录通常使用记录ID 0x7f,子记录ID 0x05。
摘要由CSDN通过智能技术生成

BINEX格式介绍

概述

BINEX是"BINary EXchange"的缩写,是常用的一种数据交换格式,在GNSS研究中用得很多。

BINEX被设计用来封装任意ASCII码形式的交换数据,比如 RINEX、IONEX、SP3、SINEX等。它有一些设计原则:

  • 任意两个BINEX文件必须可以用cat命令连接生成一个新的合法的BINEX文件
  • 每个BINEX文件由一条或多条BINEX记录组成
  • 每条BINEX记录支持子记录
  • 每条记录中的数据有相同的存储顺序(big/little endian)
  • BINEX解释器要能解析混合存储顺序的BINEX文件
  • 每条记录都有CRC校验
  • 若需要,BINEX文件可以从后往前读取
  • BINEX记录中的时间标签必须在公元1980到3000年有效
  • BINEX可扩展
  • BINEX记录没有版本号
结构

BINEX包含两层结构,上层通用的记录结构,底层是具体的记录。
上层通用结构有两种。

结构一

字节数 含义
1 同步字节,包含大小端控制位
1 ~ 4 记录ID
1 ~ 4 记录长度
1 ~ 4 (可选),位反转的记录长度 (只用于增强型CRC)
n 记录消息
1 ~ 16 CRC

结构二

字节数 含义
1 同步字节,包含大小端控制位
1 ~ 4 记录ID
1 ~ 4 记录长度
1 ~ 4 (可选),位反转的记录长度 (只用于增强型CRC)
n 记录消息
1 ~ 16 CRC
1 ~ 4 反向字节数(字节反序)
1 反向同步字节,也包含大小端控制位

对比两种结构可以发现,后一种结构比前一种多了总字节数和反向同步字节两个部分,其目的是方便从后往前读取记录。

同步字节

同步字节是BINEX格式定义好的,如下表所示:

结构 存储顺序 CRC类型 可读方向 同步字节 反向字节
小端 常规 正向 0xc2 = [11000010]
大端 常规 正向 0xe2 = [11100010]
小端 增强 正向 0xc8 = [11001000]
大端 增强 正向 0xe8 = [11101000]
小端 常规 双向 0xd2 = [11010010] 0xb4 = [10110100]
大端 常规 双向 0xf2 = [11110010] 0xb0 = [10110000]
小端 增强 双向 0xd8 = [11011000] 0xe4 = [11100100]
大端 增强 双向 0xf8 = [11111000] 0xe0 = [11100000]

同步字节的编码是字母’B’、‘b’、‘R’、‘r’、‘H’、‘h’、'X’和’x’的ASCII码加上0x80得到的。
观察还可以发现,反向字节是同步字节按位取反然后再反序得到的。

记录ID

记录的ID是一个ubnxi类型的值,ubnxi类型即unsigned BINEX integer,是一个可变长度的类型,为1~4个字节,其规则是若前一个字节的最高位(bit7)为1,则还有下一个字节,否则没有。于是有以下4种情况:

  • 1字节:[0xxxxxxx] 取值范围 0-127
  • 2字节:[1xxxxxxx][0xxxxxxx] 取值范围 128-16383
  • 3字节:[1xxxxxxx][1xxxxxxx][0xxxxxxx] 取值范围 16384-2097151
  • 4字节:[1xxxxxxx][1xxxxxxx][1xxxxxxx][xxxxxxxx] 取值范围 2097152-536870911

记录ID的 (0-127) 被保留作为公共领域的标准,目前已分配的是:

  • 0x00 = 0 站点等的配置数据
  • 0x01 = 1 GNSS导航信息如星历等
  • 0x02 = 2 同0x7f
  • 0x03 = 3 同0x7d
  • 0x04 = 4 同0x7e
  • 0x05 = 5 处理结果,如PVT解算结果
  • 0x7d = 125 接收机内部状态数据
  • 0x7e = 126 辅助站点数据
  • 0x7f = 127 GNSS观测数据

其他ID (128-536870911) 可以被分配给其他组织,如:

  • 0x80 - 0x87 分给了 COSMIC/UCAR
  • 0x88 - 0xa7 分给了 Ashtech Precision Products
  • 0xa8 - 0xaf 分给了 Topcon Positioning Systems
  • 0xb0 - 0xb3 分给了 GPS Solutions, Inc.
  • 0xb4 - 0xb7 分给了 NRCan for IGS Real-Time Working Group GNSS development
  • 0xb8 - 0xbf 分给了 JPL
  • 0xc0 - 0xc3 分给了 CU Boulder
记录长度

记录长度也是一个ubnxi类型的值,表示的是紧跟在记录长度这个值之后的记录消息的长度。

记录消息

其内容格式取决于消息类型。

CRC

分两类:常规型和增强型。按不同记录长度又分不同的校验方式。如下表:

类型 记录长度(字节) CRC码长度 校验方式
常规 0 ~ 127 1 所有字节8位XOR
常规 128 ~ 4095 2 x 16 + x 12 + x 5 + x 0 x^{16} + x^{12} + x^5 + x^0 x16+x12+x5+x0
常规 4096 ~ 1048575 4 x 32
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值