Part.I 文件名介绍

Chap.I 短文件命名

早期的 RINEX 文件采用短文件命名方式,如下:

ssssdddf.yyt

其中

  • ssss:四个字符的测站名
  • ddd:三个字符的年积日
  • f:日内文件序列号。0表示整天的文件;a 表示00-01 时段共一小时的数据;b 表示01-02 时段共一小时的数据;…;x 表示23-24 时段共一小时的数据
  • yy:两个字符的年份标识,比如 2018 年就取 18
  • t:数据类型,观测文件的话一般都是 o

Chap.II 长文件命名

RINEX 3.02 及以后的版本采用长文件的命名方式,其命名规则如下:

SSSSMRCCC_T_YYYYDDDHHMM_DDU_DDU_DD.FFF

其解释如下:

  • 测站标识 SSSSMRCCC = 四个字符的测站名 + 标识编号 + 接收机编号 + ISO-3166-1全球国家名称代码(可参看 Ref.3
  • 数据流种类 T 包括:R 接收机观测数据;S RTCM 实时数据流;U 未知数据
  • 数据开始时间 YYYYDDDHHMM = 四个字符的年-三个字符的年积日-两个字符的时-两个字符的分
  • 数据持续时间 DDU = 两个字符的数字 + 一个字符的单位
  • 数据采样间隔 DDU = 两个字符的数字 + 一个字符的单位
  • 数据类型 DD 一般用到的是 MO 表示多系统数据
  • 数据存储格式 FFF 一般是 rnx 表示 RINEX 格式的数据

下面是官方文件中的介绍

在这里插入图片描述
在这里插入图片描述

Part.II 内容介绍

Chap.I 文件头

文件头里面有很重要的信息,别看它只占整个文件很小的一部分。每一行后面都有简单的解释,看解释也可以理解个大概,下面是一个示例。


需要着重注意的是以SYS / # / OBS TYPES结尾的行,这样的存在决定了后面数据块的存储顺序和释义。

我们取出来GPS的作为示例:

G   18 C1C L1C D1C S1C C1W S1W C2W L2W D2W S2W C2L L2L D2L  SYS / # / OBS TYPES
       S2L C5Q L5Q D5Q S5Q                                  SYS / # / OBS TYPES
  • G:首先是一个字母的系统缩写:
  • 18:18种数据类型
  • 后面18个三字母的数据类型。

数据类型都是由三个字符组成,首先是第一个字符:C伪距;L载波;D多普勒;S信号强度;第二个字符是数字,代表 频数编号;第三个字符表示跟踪模式或通道,比如常用的C C/A码;S LxC(D);L LxC(P);X LxC(D+P);P AS off; W AS on;Y Y码;M M码


修正于 2021 年 12 月 20 日:
对于SYS / # / OBS TYPES的解释中OBS TYPES的理解,它都是由三个字母tba组成,t代表观测值类型,b是以数字表示的波段号,a指的是观测值的属性。关于tba的取值可参看:

项目可取值备注
t(type,观测类型)在这里插入图片描述伪距(m)、相位(cycle)、多普勒(HZ)、信号强度(载噪比 dB·HZ)、与相位有关的电离层延迟、接收机信道数
b(band,波段号)GPS: 125
BDS: 276 12658
GAL: 15786
GLONASS: 1246
QZSS: 125
SBAS: 15
IRNSS: 59
详细可参看
a(attribute,属性)在这里插入图片描述这个主要是根据信道(支路)或码类型划分区别的,目前笔者对这方面还没有清晰的认识,恕不能详细解释

Chap.II 数据块

下面是一个历元的数据块示例:

在这里插入图片描述
第一行指示了此历元时间和卫星数目

> 2020 04 06 00 00  0.0000000  0 43

依次为:年2020040600000.0000000 + 历元标志0 + 当前历元所观测到的卫星数43。关于历元标志,0表示正常,1表示在前一历元和当前历元之间发生了电源故障,>1 表示事件标志。

Sec.I 一行数据的介绍

从第一行往后都是数据,其顺序按照文件头SYS / # / OBS TYPES的顺序,比如

G03  # 因为一行太长不好看,下面分成了几行表示
25220272.687 6 132533432.23606     -3540.362 6        38.018    # C1C L1C D1C S1C
25220272.383 6        36.030    								# C1W S1W
25220273.497 6 103272817.73406     -2758.723 6        36.030    # C2W L2W D2W S2W
25220273.508 6 103272819.73406     -2758.738 6        40.443    # C2L L2L D2L S2L
25220272.195 5  98969783.26705     -2643.876 5        35.952	# C5Q L5Q D5Q S5Q

这一行是G03在当前历元的观测数据,后面的18个数据对应

C1C L1C D1C S1C C1W S1W C2W L2W D2W S2W C2L L2L D2L S2L C5Q L5Q D5Q S5Q

上面一行关于G03的数据解释如下(补于2023-02-28

  • 25220272.687 6:伪距观测值,类型标识为C1C,值为25220272.687 m,LLI 位为空(伪距应该不存在失锁?),信号强度SSI=6
  • 132533432.23606:相位观测值,类型标识为L1C,值为132533432.236 Cycle,LLI 为0,表示连续跟踪或状态未知,信号强度SSI=6
  • -3540.362 6:多普勒观测值,类型标识为D1C,值为-3540.362 Hz,LLI 位为空,信号强度SSI=6
  • 38.018:载噪比,类型标识为S1C,值为38.018 dB-Hz
  • 其他的类似上面的,就不赘述了;一般一个频段都会有这四种数据类型(C-L-D-S=伪距-相位-多普勒-载噪比)。

每一个观测类型的组成包括:观测值 + LLI + 信号强度,也即m(F14.3,I1,I1)。单位的话,伪距是米;相位是整周;多普勒是HZ;SNR与接收机有关(不加特别说明的话,SNR代表载噪比,单位为dB·HZ,虽然‘SNR’一般情况下指代的是信噪比)

Sec.II 失锁标识 LLI

其中 LLI(Loss of Lock Indicator)表示失锁标识符,它的范围为0~7,0或空格表示正常或未知;bit 0置1表示在前一历元与当前历元之间发生了失锁,可能有周跳;bit 1置1表示当前历元卫星的波长因子与之前历元卫星的波长因子 L1/2记录中的定义相反,仅对当前历元有效;bit 2置1表示为反欺骗(AS)下的观测值(可能会受到噪声增加的影响)。其中, bit 0和bit 1仅用于相位。(这段话啥意思呢?第一次看的时候我一脸蒙逼,现在回过头来看,大概晓得了。他说LLI的范围是0~7,化成2进制就是000~111,这不是有3个bit吗)


补充于20220512
在这里插入图片描述

  • 当LLI是0或者空时,说明跟踪连续正常或者状态未知
  • 当第0位置成1时,说明失锁了,有可能发生了周跳
  • 当第1位置成1时,可能发生了半周跳(半周跳是什么东西?),如果软件不能处理半周数据,则应跳过此历元
  • 当第1位置成1时,可能会增大观测噪声(是不是只和Galileo相关?)

Sec.III 信号强度 SSI

信号强度(Signal Strength Indicator,SSI)在RINEX格式中,用1~9表示信号强度,1表示可能的最小信号强度,5表示良好S/N比的阈值,9表示可能的最大信导强度,0或空表示未知或未给出。

SSI与原始的载噪比(sn,单位为dB·HZ)的关系为:
在这里插入图片描述


值得注意的一点是:如果相位观测值的数值超出了固定格式F14.3 所能表示的范围, 则需要将其截短到一个合理的范围内( 如加上或减去 1 0 9 10^9 109) , 并设置LLI 标识符。

Reference

  1. RINEX: The Receiver Independent Exchange Format Version 2.11
  2. The Receiver Independent Exchange Format Version 3.05
  3. ISO-3166-1全球国家名称代码
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐