文章目录
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
依次为:年2020
月04
日06
时00
分00
秒0.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 标识符。