GPS从入门到放弃(十九) — 精密星历
在目前的GPS系统中,除了卫星播发的广播星历之外,IGS 组织(International GNSS Service)还提供精度更高的卫星星历,我们称之为精密星历。
精密星历可以用于更高精度的定位需求,达到厘米级。当然可能会有相应的延时,实时定位精度可能会差一些。
各大 IGS 分析中心(MIT、SIO、GFZ等)都会生产自己的精密产品如精密星历、精密钟差等,而IGS会对所有分析中心的数据进行汇总加权,得出IGS的数据。
从ftp服务站 ftp://cddis.nasa.gov/gnss/products/ 可以下载 IGS 提供的精密星历数据。此路径下的数据是以GPS周数(GPS Week)为目录名整理放置的。比如想找2020年元旦的精密星历数据,经过计算知道那一天是GPS周第2086周,所以进入2086目录下去下载相应数据。
目前 IGS 精密星历主要分为三种:最终精密星历(IGS Final,标识为 IGS)、快速精密星历(IGS Rapid,标识为 IGR)、以及超快速精密星历(IGS Ultra-Rapid,标识为 IGU)。对应的精密钟差也有这三种。其中超快速精密星历又分为观测的部分和预测的部分。他们的延时、精度等指标如下表所示。在实际工作中,我们可以根据项目对时间及精度的要求,选取不同类型的文件来使用。
名称 | 延时 | 更新率 | 更新时间 | 采样率 | 精度 |
---|---|---|---|---|---|
最终精密星历 | 12~18天 | 每周 | 每周四 | 15min | ~2.5cm |
最终卫星钟差 | 12~18天 | 每周 | 每周四 | 5min | ~75ps |
快速精密星历 | 17~41h | 每天 | at 17:00 UTC | 15min | ~2.5cm |
快速卫星钟差 | 17~41h | 每天 | at 17:00 UTC | 5min | ~75ps |
超快速精密星历(观测部分) | 3~9h | 6h | at 03, 09, 15, 21 UTC | 15min | ~3cm |
超快速卫星钟差(观测部分) | 3~9h | 6h | at 03, 09, 15, 21 UTC | 15min | ~150ps |
超快速精密星历(预测部分) | 实时 | 6h | at 03, 09, 15, 21 UTC | 15min | ~5cm |
超快速卫星钟差(预测部分) | 实时 | 6h | at 03, 09, 15, 21 UTC | 15min | ~3ns |
可参考 http://www.igs.org/products 。
sp3格式
IGS 精密星历采用sp3格式,其文件名的命名规则为:AAAWWWWD.sp3。其中AAA表示类型标识(IGS、IGU、IGR)或者分析中心的缩写(如MIT、SIO、GFZ等),IGS 会综合所有分析中心的产品加权平均得到最终的产品(标识为IGS、IGR、IGU);WWWW 表示GPS周数(GPS Week);D表示周几(范围0~6,0表示周日,1表示周一)。
sp3文件的存储方式为 ASCII 文本文件,内容包括表头信息以及文件体,文件体中每隔15分钟给出卫星的位置,有时还给出卫星的速度。如果需要其他时刻的卫星位置,可以由给出的卫星位置进行插值得到。关于sp3文件的详细说明可以参考官方文档:ftp://igs.org/pub/data/format/sp3c.txt。
与广播星历不一样,精密星历并不是用开普勒参数给出的,而是直接给出卫星在 ITRF框架中的坐标值 ITRF(International Terrestrial Reference Frame 国际地球参考框架)框架是由 IERS(国际地球自转服务)发布的,ITRF 的构成是基于VLBI、LLR、SLR、GPS 和 DORIS 等空间大地测量技术的观测数据,由 IERS中心局分析得到的全球站坐标和速度场。自1988 年起,IERS 已经发布 ITRF88、ITRF89、ITRF90、ITRF9 1、ITRF92、ITRF93、ITRF94、ITRF96、ITRF2000、ITRF2005、ITRF2008、ITRF2014 等全球参考框架。
下面是从igs20863.sp3文件中截取的开头部分,简单介绍一下。
- 第一行有时间,2020年1月1日;后面的 IGS14 表示坐标采用的是 ITRF2014 框架。
- 从第三行和第四行可以看出这里包含了32颗GPS卫星的轨道位置。
- 第23行表示从第24行开始的这一组卫星轨道位置对应的时间,第56行表示从第57行开始的这一组卫星轨道位置对应的时间,可以看到这两个时间差是15分钟,即采样间隔。
- 第24行是第一颗卫星的位置和钟差信息,位置单位为千米,精度到毫米,包含 x、y、z 三个方向;时钟单位为毫秒,精度到皮秒。这一行的后面4个数分别对应的是 x、y、z 三个方向的标准差和钟差的标准差。
- 标准差的值要结合第15行的浮点基准值来算,比如第一颗卫星x方向标准差为12,结合第15行第一个浮点基准值1.25,可以算出第一颗卫星x方向的标准差为1.2512≈14.55191.25^{12} \approx 14.55191.2512≈14.5519,单位为毫米。钟差的标准差算法类似,不过用的是第15行第二个浮点基准值,即下面例子中的1.025。
#cP2020 1 1 0 0 0.00000000 96 ORBIT IGS14 HLM IGS
## 2086 259200.00000000 900.00000000 58849 0.0000000000000
+ 32 G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17
+ G18G19G20G21G22G23G24G25G26G27G28G29G30G31G32 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
++ 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%c G cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%f 1.2500000 1.025000000 0.00000000000 0.000000000000000
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%i 0 0 0 0 0 0 0 0 0
%i 0 0 0 0 0 0 0 0 0
/* FINAL ORBIT COMBINATION FROM WEIGHTED AVERAGE OF:
/* cod emr esa gfz grg jpl mit ngs sio
/* REFERENCED TO IGS TIME (IGST) AND TO WEIGHTED MEAN POLE:
/* PCV:IGS14_2086 OL/AL:FES2004 NONE Y ORB:CMB CLK:CMB
* 2020 1 1 0 0 0.00000000
PG01 9888.347661 -19617.637150 -14892.695413 -247.874423 12 10 5 71
PG02 -21823.783543 13971.156772 -4920.780210 -377.229970 10 9 7 81
PG03 -1601.529966 -16464.253025 -20857.441401 -63.370799 8 7 11 105
PG04 1221.994671 -26086.976634 -4781.101677 -27.923755 12 4 5 109
PG05 -19154.192243 5721.537965 17444.937173 -5.436142 7 8 6 88
PG06 -21150.813850 2402.751626 -15853.420427 -169.653500 9 7 8 106
PG07 -7307.639840 -13757.950583 21767.441209 -182.185020 6 6 5 99
PG08 7039.047666 -21245.446842 14152.046835 -18.646350 8 5 7 94
PG09 -6875.945629 -25134.252934 5050.629544 -121.818618 9 8 4 109
PG10 24015.414289 11544.134960 1555.732288 -193.008701 8 8 8 103
PG11 7282.297820 -25005.780611 -6416.591136 -403.117157 9 8 7 95
PG12 -3612.078652 14754.643360 -22024.819114 167.238453 6 6 5 121
PG13 -12822.251931 14077.120706 18359.989020 -22.958664 7 7 7 85
PG14 15097.782136 719.539797 -21518.284406 -41.480187 8 9 3 98
PG15 -5026.428258 22304.034935 12884.805910 -261.734981 8 6 5 83
PG16 20065.806133 -2268.606859 17288.279253 -108.806027 7 8 6 98
PG17 -13302.574437 -12501.633252 -18888.874080 190.733864 6 5 7 99
PG18 15683.730129 -20086.062189 -7815.214505 999999.999999
PG19 -14744.295897 -4057.283573 -22007.637771 -218.643006 9 7 9 107
PG20 18932.638979 14547.678555 11749.766535 527.763846 11 10 11 93
PG21 10191.957706 12064.511376 22150.584734 -62.423168 10 8 11 69
PG22 7023.579706 -14225.418680 -21077.053685 -780.142685 9 7 9 70
PG23 -1206.975660 -26081.394867 -3218.011480 -145.988210 10 4 6 100
PG24 -10589.076575 20789.036009 -12534.802874 -6.933769 9 7 4 109
PG25 11115.892105 17563.783060 -16907.847503 -16.767205 8 8 6 106
PG26 24809.687134 2652.030547 9387.846884 117.742691 8 10 8 116
PG27 12654.914692 -10785.577586 20515.681941 -167.508526 8 5 8 92
PG28 -22961.626731 -13197.537237 783.057544 747.765166 6 8 6 95
PG29 4498.761624 25678.893062 4992.306129 4.083857 10 10 6 67
PG30 -17217.300944 -5541.835900 19540.416589 -118.767102 6 7 7 87
PG31 22625.699147 -4025.359523 -13738.508642 -13.516273 7 9 7 90
PG32 14835.028318 11206.018688 -18957.170663 172.050190 9 10 5 104
* 2020 1 1 0 15 0.00000000
PG01 11218.886280 -20435.428221 -12620.054414 -247.885427 11 10 5 55
PG02 -21416.153632 13234.932709 -7652.201926 -377.236434 9 9 6 89
PG03 658.942604 -15624.793321 -21537.118493 -63.377346 7 7 10 93
PG04 1551.226922 -25415.284695 -7518.401629 -27.928395 11 5 6 93
PG05 -20891.993883 4906.521003 15635.291423 -5.436689 7 8 5 80
PG06 -19726.065274 1101.751537 -17715.564454 -169.663056 9 6 7 113
... ... ...