1. 观测值文件
观测值文件命名方法两种:
- 短文件名
- 长文件名
采用命名规范的好处:不需要打开文件查看内容,就可以知道是什么文件、从哪里采集、采集时间等。
短文件名(RINEX v.2 命名规则,传统 8.3 格式):
格式形如:ssssdddf.yyo(GFZ)
- ssss:4 字符长度的测站代码(如
hktl) - ddd:年积日(Day of Year,001–366)
- f:文件时段或序列号(全天文件为
0,按小时为a–x分段) - yy:年份后两位(如
26代表 2026 年) - o:文件类型标识符,代表观测值文件(Observation)
长文件名(RINEX v.3 命名规则):
字段从左到右依次为:Name / S / Start Time / Period / Data Freq. / Content / Format / Compression:
- Name:9 字符 — 定义站点(site)、测站(station)与国家代码(country code)
- S:1 字符 — 定义数据源(data source)
- Start Time:11 字符 — 定义起始时间
YYYYDDDHHMM - Period:3 字符 — 定义(名义上的)文件周期(file period)
- Data Freq.:3 字符 — 定义数据频率(data frequency)
- Content:2 字符 — 定义内容类型(content type)
- Format:3 字符 — 定义文件格式(file format)
- Compression:2–3 字符 — 定义压缩方法(compression method)
提问:观测值文件各个字段说明(以真实数据为例)
以 IGS 上海天文台(SHAO)一份真实观测数据为例,拆解两类命名:
① 短文件名:shao1370.09o
| 片段 | 含义 | 本例 |
|---|---|---|
| shao | 4 字符测站代码 | SHAO 上海天文站 |
| 137 | 年积日(Day of Year) | 当年第 137 天(约 5 月中) |
| 0 | 文件时段/序列号(0=全天,a–x=逐小时) | 全天文件 |
| 09 | 年份后两位 | 2009 年 |
| o | 文件类型(o=观测值) | 观测值文件 |
② 长文件名:SHAO00CHN_R_20091370000_01D_30S_MO.rnx
| 字段 | 含义 | 本例 |
|---|---|---|
| SHAO00CHN | Name:站名(4)+序号(00)+国家(3字母) | 上海/00/CHN |
| R | S:数据源(R=接收机/地面) | 地面接收机 |
| 20091370000 | Start Time:YYYY+DDD+HH+MM | 2009年/第137天/00时/00分 |
| 01D | Period:文件周期 | 1 天 |
| 30S | Data Freq.:采样频率 | 30 秒 |
| MO | Content:内容类型(MO=混合观测) | 多系统混合观测 |
| rnx | Format:文件格式 | RINEX |
注:短文件名标准写法为
ssssdddf.yyt(t 为类型字母)。教材中ssssdddff.yyo的第二个 f 为笔误/特定教材记法,实际仅一个时段位。
③ 观测值文件(.rnx / .09o 本体)内部核心字段 除文件名外,RINEX 观测文件头与数据体也由固定字段构成:
- 文件头:RINEX VERSION/TYPE、MARKER NAME、OBSERVER/AGENCY、APPROX POSITION XYZ(近似坐标)、ANTENNA DELTA H/E/N(天线高偏量)、SYS/#/OBS TYPES(各系统观测类型,如 C1C/L1C/S1C)、TIME OF FIRST OBS(首个观测历元)等;
- 数据体:每个历元一行历元记录(GPS 周+周内秒 或 年月日时分秒 + 历元标志)+ 各卫星对应的观测值列(伪距 C、载波 L、多普勒 D、信噪比 S)。
提问:文件"内部"字段简要说明(RINEX 观测文件 O 文件结构)
RINEX 观测文件由文件头(Header) + 数据体(Data Records) 两部分组成,每行固定 80 字符,后 60 字符为字段标签。
① 文件头(Header)主要字段
| 字段标签 | 含义 |
|---|---|
| RINEX VERSION / TYPE | 版本号(如 3.04)+ 文件类型(O=观测值)+ 卫星系统(G/R/E/C…) |
| PGM / RUN BY / DATE | 生成程序 + 运行机构 + 生成日期 |
| MARKER NAME | 测站标记名(对应短文件名前 4 字符) |
| OBSERVER / AGENCY | 观测者 + 所属机构 |
| REC # / TYPE / VERS | 接收机编号 / 型号 / 固件版本 |
| ANT # / TYPE | 天线编号 / 型号 |
| APPROX POSITION XYZ | 测站近似 WGS-84 坐标(X,Y,Z),解算初值 |
| ANTENNA: DELTA H/E/N | 天线高 H(相对标记点)+ 东/北偏心 E/N |
| SYS / # / OBS TYPES | 各系统观测类型与数量,如 G 4 C1C L1C S1C S2C |
| TIME OF FIRST OBS | 首个观测历元(年 月 日 时 分 秒) |
| INTERVAL | 采样间隔(秒,可选) |
| LEAP SECONDS | 跳秒数(可选) |
| END OF HEADER | 文件头结束标志(必须) |
② 数据体(Data Records)结构
- 历元头行(以
>开头,RINEX 3):> GPS周 周内秒 历元间隔 卫星数 历元标志 [钟差偏移]- 历元标志:0=正常,1=失锁,>1=其他事件;
- 卫星观测行:对每颗卫星,按文件头声明的顺序列出各观测值
- 卫星 PRN(如 G01/R03/C12/E05);
- 观测值:伪距 C、载波 L、多普勒 D、信噪比 S;
- 每个值后常带 LLI(失锁标志)与 SSI(信号强度指标)。
简化示例(数据体片段)
> 2026 184 0 0 30 8 0
G01 23456789.123 123456.789 45 46
G02 23456790.456 123457.012 44 45
(含义:2026 年第 184 天、0 时 0 分、间隔 30 秒、本历元 8 颗星;G01 的伪距/载波/信噪比依次为 23456789.123 / 123456.789 / 45 / 46)
2. 广播星历文件
广播星历文件即 导航文件(Navigation Message / N 文件),是接收机从卫星信号中解调出的导航电文,记录卫星轨道与钟差参数,供用户解算卫星瞬时位置(呼应第一章"地面段监测星历→主控→上行→用户")。RINEX 中对应:v.2 为 ssssdddf.yyn(n=导航),v.3 为 ..._MO.rnx 中的导航内容。
提问:广播星历文件(导航文件)内部字段简要说明
广播星历文件同样由文件头 + 数据体构成,每行 80 字符。
① 文件头(Header)主要字段
| 字段标签 | 含义 |
|---|---|
| RINEX VERSION / TYPE | 版本号(如 3.04)+ 文件类型(N=导航/广播星历)+ 卫星系统(G/R/E/C…) |
| PGM / RUN BY / DATE | 生成程序 + 运行机构 + 生成日期 |
| LEAP SECONDS | 累计跳秒数(UTC 与 GPS 时差,定位解算必须) |
| IONOSPHERIC CORR | 电离层改正模型参数(如 GPS Klobuchar α/β 8 个系数,可选) |
| TIME SYSTEM CORR | 时间系统改正(GPS→UTC / 其他系统,可选) |
| END OF HEADER | 文件头结束标志 |
② 数据体(每颗卫星一段"星历块")
每个卫星的星历块包含三部分:标识行 + 时钟参数行 + 轨道参数块。以 GPS(RINEX v3)为例:
-
标识行:卫星 PRN + 参考历元(年 月 日 时 分 秒,即星历参考时刻 toe 的钟面时间)
-
钟差参数:
af0(钟偏)、af1(钟漂)、af2(钟漂率),用于计算卫星钟差δt = af0 + af1·(t−toe) + af2·(t−toe)² -
轨道参数(广播星历核心 16 项):
参数 名称 作用 √A 长半轴平方根 求半长轴 A,得轨道周期 e 偏心率 轨道椭圆程度 i0 参考时刻倾角 轨道面相对赤道倾角 Ω0 升交点赤经 轨道面在赤道上的定向 ω 近地点幅角 轨道椭圆定向 M0 参考时刻平近点角 卫星初始相位 Δn 平均运动差 修正理论角速度 Ω̇ 升交点赤经变化率 轨道面进动 i̇ 倾角变化率 倾角漂移 Cuc/Cus 纬度幅角调和项 摄动修正(余弦/正弦) Crc/Crs 轨道半径调和项 摄动修正(余弦/正弦) Cic/Cis 倾角调和项 摄动修正(余弦/正弦) toe 星历参考时间 星历有效基准时刻 IODE / IODC 星历/时钟数据龄期 判断星历是否更新 codes / health 码标志 / 卫星健康 可用性
简化示意(GPS 广播星历块)
G01 2026 07 01 00 00 00
af0=1.234567E-04 af1=-1.2E-12 af2=0.0
√A=5.1537E+03 e=5.3E-03 i0=0.97... Ω0=1.23... ω=...
Δn=4.3E-09 Ω̇=-8.0E-09 i̇=2.0E-10
Cuc/Cus/Crc/Crs/Cic/Cis=...
toe=3.456E+05 IODE=76 health=0
含义:PRN=G01 的卫星,在 toe 参考时刻的钟差由 af0/af1/af2 描述,轨道由 Kepler 六根数 + 摄动调和项 + 变化率完整定义;用户用这些参数即可算出任意时刻的卫星空间位置(呼应第 4 节伪距方程里的卫星坐标来源)。
注:不同系统(BDS/GALILEO/GLONASS)字段略有差异(如 BDS 含 α/β 整周模糊度相关、GALILEO 含更多钟差项),但"钟差参数 + 轨道参数 + 参考时间 + 健康/数据龄期"的骨架一致。GLONASS 采用 PZ-90 地心系与"地心直角坐标 + 速度"表示法,与 GPS Kepler 根数不同。
要点补充(接收机视角):单个接收机实时收到的广播星历,只包含当前可见范围内卫星的星历块,而非全星座——卫星从地平线升起后才开始接收其导航电文,所以可见星越多、可参与定位的卫星越多(呼应第 4 节"至少需 4 颗可见星")。
3. 精密星历和精密钟差
精密星历与精密钟差是 IGS 等机构对事后解算的轨道与钟差产品,精度远高于卫星广播星历(cm 级 vs m 级),是 PPP/精密单点定位、科学研究、IGS 参考框架维持的核心输入。
关键特性:
- 按天发布:一天一份产品,两天之间存在不连续性(跨天衔接处轨道与钟差跳变),影响定位精度。
- 采样间隔:通常 15 min(标准 SP3),快速产品 5 min;课程举例中提到 5 min 数据在 23:55–次日 0:00 间形成数据断层,定位精度明显变差——这是"跨天不连续"的具体表现。
- 时效性:著名 IGS 综合精密星历需 1–2 周后才能获得(事后精化),不能满足实时 PPP;实时精密星历(IGS-RT/SSR)则另成体系。
- 配套提供:精密钟差产品(通常 30 s 或 5 min)需与精密星历配套使用,否则轨道精度再高,钟差对不上也无意义。
精密星历产品格式(NGS 提出,IGS 沿用):
| 格式 | 类型 | 内容 | 备注 |
|---|---|---|---|
| SP1 | ASCII | 卫星三维位置(km)+ 三维速度(km/s) | 早期格式 |
| ECF1 | 二进制 | 同 SP1 | 紧凑 |
| SP2 | ASCII | 仅三维位置 | 速度由数值微分得,存储量减半 |
| ECF2 | 二进制 | 同 SP2 | |
| SP3 | ASCII | 三维位置 + 卫星钟差改正 | 当前最常用标准格式 |
| ECF3 | 二进制 | 同 SP3 |
观测瞬间卫星位置的求法——内插 精密星历只给出离散节点(15 min 一格),用户求任意时刻 t 的位置需用内插法,其中 Lagrange(拉格朗日)多项式内插最常用(速度快、易编程)。
拉格朗日插值公式(3-29):已知 n+1 个节点 (x₀, y₀), …, (xₙ, yₙ),对插值区间内任意 x:
阶数与精度的经验结论(Remondi 研究): 对 GPS 卫星,若要精确至 10⁻⁸,用 30 min 历元间隔 + 9 阶内插即可保证精度;间隔更密时阶数可相应降低。
与广播星历的对比(呼应四·2):
| 维度 | 广播星历 | 精密星历 |
|---|---|---|
| 来源 | 卫星自身下行 | 地面跟踪网 + 后处理 |
| 时效 | 实时 | 事后 1–2 周(或实时但需另配 RT 产品) |
| 精度 | 米级轨道 + 纳秒级钟差 | cm 级轨道 + 优于 ns 级钟差 |
| 采样 | 频繁下发 | 15 min(标准)或 5 min(快速) |
| 用途 | 实时单点/差分 | PPP、科学研究、框架维持 |
| 跨天 | 连续 | 不连续(衔接处精度变差) |
4. 观测值分析
软件:RTKPLOT
RTKPLOT 是开源 GNSS 处理软件包 RTKLIB(Tomoji Takasu)自带的观测数据可视化工具,用于将 RINEX 观测/导航文件以图形方式呈现,便于快速检查数据质量、卫星可见性与信号状况。
主要功能(观测值分析常用视图):
- Sky Plot(天空图):以测站为原点,按方位角/高度角绘制各卫星轨迹,直观看遮挡与可见星分布;
- Time Series(时间序列):绘制伪距、载波相位、信噪比(SNR/C/N₀)等随时间的曲线,检查信号中断、周跳;
- Number of Satellites / DOP:可见卫星数与精度因子(GDOP/PDOP/HDOP/VDOP)随时间变化;
- Residuals(残差):定位/平滑后的观测残差,用于评估解算质量;
- 支持单系统/多系统(G/R/E/C)分别或叠加显示。
用途定位:在正式解算前,先用 RTKPLOT 排查原始观测——多路径、遮挡、信号弱、钟跳等问题,避免在坏数据上做定位(呼应四·1 观测值文件、四·2 星历文件的质量保障)。