冯胜涛,刘志广,占 伟,朱 爽,宋恵军
(1.中国地震局第一监测中心,天津 300180;2.中国科学技术大学地球与空间科学学院,合肥 230026)
与接收机无关的转换格式(the Receiver Independent Exchange Format,RINEX),最初由伯尔尼大学天文学院为方便转换由不同生产商制造的接收机采集的数据而开发。随着其应用的推广,至今已有三个主要版本发布,各个版本还有不同的子版本,主要有:RINEX Version 1(版本1)于1989年第五届国际大地测量关于卫星定位的研讨会上提出;RINEX Version 2(版本2)于1990年在关于使用GPS精密定位的第二次国际研讨会上提出。与Version 1相比,Version 2 主要增加可以包含由不同卫星系统获得的数据。RINEX Version 2有几个子版本:Version 2.10:对版本2 做了微小改变,主要包括允许使用非整数秒的采样率以及把信号强度作为新的观测量;Version 2.11:主要包含为L2C伪距观测量定义的2 个字符的观测码以及对GEO NAV MESS文件做的一些调整;Version 2.20:主要用于IGS的LEO 试验项目中空载接收机数据的转换而定制的非官方版本。
而RINEX Version 3(版本3)于2007年发布。为了提升文件包含多种类型数据的能力,如使数据文件中包含多个导航卫星系统,而不同系统数据又有不同观测类型的情况,对数据文件的结构做出了较大调整。为了满足多种需要,还将之前版本每行数据记录最多只能有80 个字符长度的限制取消。其数据文件中还可以包含非官方的Version 2.20的空载接收机的数据的相关定义。另外,随着RINEX 格式的推广应用,还有其他类似RINEX 的转换格式文件类型诞生,如:IONEX,ANTEX 等。
接收机生产商一般提供各自数据文件与不同版本的RINEX 格式文件的转换供用户选择。在选用哪种版本的RINEX 格式的问题上,各数据提供者有不同看法,提供的数据结果也有差别。本文详细介绍上述几种常用版本的RINEX 文件格式,总结各版本的优势。结合我国正在建设的全球导航卫星系统-北斗导航卫星系统,就GNSS观测数据的存储格式提出建议。
对于一般RINEX 观测数据文件,国际上推荐的命名惯例为:ssssdddf.yyo,其中:ssss为4 个 字符表示的测站名,ddd为第1条数据记录的年积日,f为UTC时间一天里生成文件的序列号(“0”表示文件里包含当天所有数据),yy为2位整数表示的年份,而o则表示文件为观测数据文件。RINEX 3对于记录时长15分钟的高频数据文件,推荐使用的文件名为:ssssdddhmm.yyo,其中ssss为4字符测站代码或低轨卫星(LEO)接收机或天线的代码,ddd为年积日,h 代表一天中第n个小时的字符(a为00时到01时,b为01时到02时,……,x为23时到24时),mm 为该小时内的起始分钟(取:00,15,30或45),yy为2位数表示的年份,而o则表示文件为观测数据文件。
从SOPAC(Scripps Orbit and Permanent Array Center)网站(http://sopac.ucsd.edu/)可以下载1990年以后的一些测站观测数据文件。其保留的数据文件多使用2.10 或2.11 版本,也有部分Version 2的数据。一般情况下实际使用数据文件很少会用到Version 2之前的版本,以下就RINEX Version 2、2.10、2.11、2.12、Verison 3及3.01版本的观测数据文件的格式逐行进行说明。使用FORTRAN 95/2003标准的程序中读写格式定义为例(为叙述简便以输出为例,输入时情况同输出):
An:表示以n个字符的宽度来输出字符串,如:A2表示输出2个字符宽度的字符串,例如“y2”;
Fn.m:表示以n个字符宽输出浮点数,小数点后占m个字符宽度,如F12.9表示输出浮点数带小数点及负号共有12 位数字,而小数点后有9 位数字,例如-0.123456789;
In[.m]:表示以n个字符宽输出整数,至少输出m位数字(不足以“0”补齐),如I3.3表示以3个字符宽输出3位表示的数字,例如012;(方括号表示可选,In则仅表示输出占n个字符宽的整数即n位整数,不足也不需以“0”补齐)
nX:表示向右跳过n个字符的宽度,如:2X 表示输出位置向右移动2个字符;
Tn:表示输出位置移动到本行第n列,如:T5表示移动到本行第5列开始输出。
RINEX 的每种文件类型都包含有文件头部分和数据部分。文件头位于文件的开头包含整个文件的信息。文件头每行的第61~80个字符为该行的标签。文件头部分除了个别行的位置固定外,其他行出现次序可以自由调整。其中“RINEX VERSION/TYPE”必须位于文件第一行。默认情况“WAVELENGTH FACT L1/2”行要出现在给各个卫星定义波长因子的记录之前。而如果“# OF SATELLITES”行在文件头部分出现的话,其后要紧跟相应的“PRN/# OF OBS”对应行的记录。“END OF HEADER”必须位于文件头的最后。
表1 RINEX Version 2 观测数据文件格式说明
文件头标签(文件头每行61~80个字符) 对该行内容的定义(文件头每行1~60个字符) 读写格式定义(fmt=)))INTERVAL(可选) 以秒为单位的采样间隔 (I6,54X)TIME OF FIRST OBS 第一组观测数据记录时间 (5I6,F12.6,18X)TIME OF LAST OBS(可选) 最后一组观测数据记录时间 (516,F12.6,18X)# OF SATELLITES 文件中记录观测数据的卫星数 (16,54X)PRN/# OF OBS PRN(卫星号)/在“#/TYPES OF OBSERV”记录中标注的每种观测类型的观测数#/TYPES OF OBSERV 文件中的观测类型的数目/观测类型 (I6,9(4X,A2(3X,A1,12,916)END OF HEADER 文件头的最后部分,文件头结束标识 (60X)Version 2数据记录部分格式说明历元开始的记录历元:2位数表示的年,月,日,时,分;小数点后保留7位浮点数表示的秒;历元标识(0:正常,1:前一历元和这个历元间发生电力故障,>1对应事件标识);当前历元记录卫星数/PRN(卫星号)列表(多于12个则需换行);接收机钟差(可选)(5(1XI2),F11.7,2I3,12(A1,I2),F12.9)观测数据分行列出记录到的每颗卫星的观测数据(每行观测数据类型按照头文件给出观测类型的次序)若观测类型数超过5个(80字符)则换行记录这组观测数据失锁指示映射到(1~9)指标标识的信号强度(m(F14.3,211))m 为 头 文 件 里“# /TYPES OF OBSERV”行定义观测类型数目
图1 RINEX Version 2数据示例(示例数据下载自SOPAC网站截取其中部分:http://sopac.ucsd.edu/)
Version 2.10与version 2相比有一些改变,读写RINEX version 2 的 程 序 用 于 处 理2.10 的RINEX 文件时格式定义不做相应改变可能发生错误。现将2.10版格式对照version 2的不同列入表2。
表2 RINEX观测数据文件Version 2.10 较Version 2改变部分格式说明
Version 2.11主要是为了方便的在文件中包含伽利略系统数据和一些新的GPS 观测量,相对2.10在观测数据文件格式上几乎没有什么改变。
Version 2.12较前期版本的改变主要有:相位周偏移,GPS 和GLONASS G1,G2 及北斗系统新的观测码,北斗卫星系统的系统码,伽利略系统导航信息文件,数据记录顺序等因素。现将2.12版格式对照version 2的不同列入表3。
图2 RINEX version 2.10观测数据文件的示例(示例数据下载自SOPAC网站截取其中部分:http://sopac.ucsd.edu/)
表3 RINEX观测数据文件Version 2.12 较Version 2改变部分格式说明
文件头标签(文件头每行61~80个字符) 对该行内容的定义(文件头每行1~60个字符) 读写格式定义(fmt=)RCV CLOCK OFFS APPL(可选)应用实施获取的接收机钟差改正历元、码和相位观测值1:改正;0:未改正(默认); (16)LEAP SECONDS(可选) 自1980年1月6日以来的跳秒数 (16)SYS/PHASE SHIFT相位偏移改正卫星系统码(G/R/E/S/C)载波相位观测码使用的改正值(周)卫星列表(A1,1X,A1,2X,F8.5,2X,12.2,10(1X,A3))若需接行使用“(18X,10(1X,A3))”Version 2.12数据记录部分格式说明历元开始的记录 同Version 2,格式不同(1X,12.2,4(1X12),F11.7,2X,11,13,12(A1,12),F12.9)接 行 用“(32X,12(A1,12))”
Version 3及后续版本相对version 2版本有了较大改变。如version 2 数据记录部分,年份只用2位数字表示,仅在文件头里TIME OF FIRST OBS用4位数字记录年份。而version 3用4位数字表示年份。观测码的改变:version 1和2为2个字符,version 3 为3 个 字 符(增 加 了 信 号 生 成 属 性 码)。观测码的3个字符依次为:
数据类型:有C 代表伪距观测,L 载波相位观测,D 多普勒效应,S信号强度
带宽/频率:1,2,……,8
属性:跟踪模式或信道,如C,Y,I,Q 等。
Version 3也包含了信号强度码。文件头中增加了时区标识、标志类型、信号强度单位、缩放因子、半波长观测量、半周模糊度、相位中心信息等。具体内容及格式见表4。
表4 RINEX观测数据文件Version 3较Version 2改变部分格式说明
文件头标签(文件头每行61~80个字符) 对该行内容的定义(文件头每行1~60个字符) 读写格式定义(fmt=)ANTENNA:ERODIR XYZ(可选)载体上天线零方向三方向矢量(3F14.4)CENTER OF MASS:XYZ(可选) 载体重心(xyz方向,m) (3F14.4)SIGNAL STRENGTH UNIT(可选) 信号强度观测量的单位 (A20,40X)(A1,2X,I3,13(1X,A3))接行用“(6X,13(1X,A2))”INTERVAL(可选) 以秒为单位的采样间隔 (F10.3)TIME OF FIRST OBS 第一组观测数据记录时间 (516,F13.7,5X,A3,9X)TIME OF LAST OBS(可选) 最后一组观测数据记录时间 (516,F13.7,5X,A3,9X)SYS/#/OBS TYPES 卫星系统码/指定卫星系统中不同观测类型数目/观测类型SYS/DCBS APPLIED(可选)卫星系统码(G/R/E/S)应用不同码偏移改正的工程名改正源(A1,1X,A17,1X,A40)RCV CLOCK OFFS APPL(可选)应用实施获取的接收机钟差改正历元、码和相位观测值1:改正;0:未改正(默认); (16)SYS/SCALE FACTOR(可选)SYS/PCVS APPLIED(可选)卫星系统码存储观测量使用前划分因子(1,10,100,1000)涉及观测量类型数目(0或空格表示所有观测类型)观测类型列表卫星系统码应用相位中心变化改正的工程名改正源(A1,1X,14,2X,12,12(1X,A3))观测量类型多于12需接行使用“(10X,12(1X,A3))”(A1,1X,A17,1X,A40)LEAP SECONDS(可选) 跳秒数 (I6)# OF SATELLITES(可选) 文件中记录观测数据的卫星数 (16,54X)PRN/# OF OBS(可选) PRN(卫星号)/在“#/TYPES OF OBSERV”记录中标注的每种观测类型的观测数(3X,A1,12.2,916)如需接行则用“(6X,916)”Version 3数据记录部分格式说明历元开始的记录数据记录标识:>历元:4位数表示的年,2位数的月,日,时,分;小数点后保留7位浮点数表示的秒;历元标识(0:正常,1:前一历元和这个历元间发生电力故障,>1对应特殊事件);当前历元记录卫星数/PRN(卫星号)列表(多于12个则需换行);当天历元有效卫星数接收机钟差(秒,可选)(A1,1X,14,4(1X,12.2),F11.7,2X,11,13,6X,F15.12)观测数据卫星号观测数据,失锁指示,信号强度可选内容历元表示为:2~5时可选事件记录特殊事件卫星数6时,周跳记录(A1,12.2,m (F14.3,211))m 为头文件里“SYS/#/OBV TYPES”行里定义观测类型数目
图3 RINEX Version 3.00观测数据文件[4]
而版本3.01 比3 文件头部分格式改动较小。Version3.01 多 了“SYS/PHASE SHIFTS”行 记录,用于记录相位偏移改正。存储信息包括:卫星系统码,载波相位观测码,使用的改正(周),涉及的卫星数目,卫星列表。该行格为:“(A1,1X,A3,1X,F8.5,2X,12.2,10(1X,A3))”。如果记录的卫星数多于10颗,需接行则用:“(18X,10(1X,A3))”。可选的“LEAP SECONDS”行记录格式改为“(4I6)”。
从RINEX Version 2开始,文件可以包含快速静态测量和动态测量时不止一个测站的观测数据并允许在观测数据部分插入文件头。对于Version 2系列版本的观测数据文件建议循环使用字符串(长度应大于等于80)变量读入每行的信息,根据文件头部分的标识可以获取相应的文件信息,如:RINEX 版本号,测站名称,天线高,观测起止时间,观测数据类型的数目等。在使用GAMIT 数据后处理软件进行精密解算时要求详细的测站信息文件“station.info”。这时使用程序解读RINEX 观测文件中的相关信息可以自动生成该文件。
对于RINEX Version 3及以后版本,可以根据各卫星系统定义的最大观测类型数量加上任意可能的伪观测量。另外,RINEX 文件里目前定义为空格的部分都需要注意,版本更改可能引入新内容。
RINEX 不同版本观测数据文件中包含的信息量不同。一般而言,越是后续版本其内容越丰富。通过不同的格式定义可以解码并获取其中的信息。如果涉及不同版本之间的转换,作者认为应遵循以下两点建议:第一,在有接收机生产商提供的原始数据的情况下,建议使用生产商提供的转换软件重新生成所需版本;第二,如果不得不转换不同版本,则应充分考虑转换后信息丢失或不足的情况。根据本文格式说明可以读取并重新生成其他版本的观测数据文件,但转换后文件头中未定义项会发生丢失而转换前未定义项则转换后无法定义需要提示手动添加。因此,并不建议直接在RINEX 不同版本之间使用程序转换。
RINEX Version 3及以后版本在格式定义上具有明显优势,主要表现在其新添加的内容上。例如:包含了可以生成基于一个或多个频道组合的码观测量和相位观测量;按照不同卫星系统列出的观测量;标石类型信息;提供单独的半波长观测量观测码,记录半波长相位观测量等。这些因素都能有效的拓展观测信息,使相同条件下观测类型数目和观测值数量大大增加。相对只记录单一卫星系统数据的文件,它可以为后续处理提供更好的卫星图形因子(例如:GPS+GLONASS观测相对单一GPS观测在纬度高于55°时可降低PDOP 值约30%,在中纬度地区也能降低PDOP 值15%左右[6]),更精确的整周模糊度解,更好的消除电离层和对流层的影响。从而大大拓展应用卫星定位的覆盖区域,有效提高卫星定位系统的精度和可靠性。另外,其兼容载体上的接收机信息的特性,为动态测量数据的标准化应用提供条件,可以极大的拓展移动载体上高精度定位解算的发展空间,为其更广泛的应用创造条件。可见,RINEX Version 3及后续版本作为全球导航卫星系统的一种转换文件格式反过来可以有效拓展该领域的应用范围。我国的北斗卫星导航系统已于2012年12月27日正式开始向亚太地区提供连续无源定位和导航服务。并在同一天发布了北斗卫星导航系统空间信号接口控制文件,为接收机生产商开发研制接收机提供了必要技术条件。北斗卫星导航系统的应用要结合世界其他卫星导航系统,必然要求使用能兼容各系统的数据文件。实际应用中,各接收机生产商应充分考虑所提供数据格式与各不同版本的RINEX 格式文件的转换。但是,由于RINEX 3及其后续版本拥有之前版本格式所不具备的优越特性及其能有效拓展卫星导航系统的应用范围,建议重视将接收机所采集数据转换为RINEX 3及其后续版本的数据格式。全球导航卫星系统在交通运输,海洋渔业,水文监测,气象测报等方面的应用都涉及移动载体接收卫星导航数据技术。随着其应用的推广,未来必然会对高精度和高可靠性提出更高要求。例如在需要重点监控物品的运输过程,船舶位置监控,紧急救援,渔船出入港管理等方面,自动化和精细化程度的提高必然要求高精度的动态定位测量。这也正是RINEX Version 3 及其后续版本可以充分发挥优势的方面。因此,建议参考使用RINEX Version 3 及其后续版本的文件格式存储北斗卫星导航系统的数据。
RINEX 格式数据编码更加灵活,尤其RINEX Version 3及其后续的3.01版本可广泛兼容GPS、GLONASS、GALILEO、BDS 和SBAS 等不同卫星系统的数据,文件内容也更加丰富。移动载体上的数据记录信息的增加,可以有效拓展导航卫星系统的应用范围,也使RINEX 格式文件应用范围大大拓展。其定义格式演变的经验可以为我们借鉴,应用到我国正在建设的北斗卫星导航系统中。使用更好的数据文件格式,可以为其更灵活、更可靠、更高精度的应用提供支持。
[1] Werner Gurtner.RINEX:The Receiver-Independent Exchange Format[J].GPS World,1994,5(7):48-52.
[2] Gurtner W.RINEX:The Receiver Independent Exchange Format Version 2.10[R].2002.
[3] Gurtner W,L Estey.RINEX:The Receiver Independent Exchange Format Version 2.11[R].2005.
[4] Gurtner W,L Estey.RINEX:The Receiver Independent Exchange Format Version 3.00[R].2007.
[5] 李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005.
[6] Springer T and R Dach.GPS,GLONASS and More[J].GPS World,2010,21(6):48-58.
[7] 杨博,陈阜超,周伟,等.GPS连续站水平位置坐标时间序列插值的一种新方法[J].华北地震科学,2010,28(02):22-27.
[8] 谷守周,秘金钟,党亚民.新一代RINEX 标准格式及其应用[J].全球定位系统,2009,34(03):52-58.
[9] 张风霜,武艳强,韩月萍,等.GPS连续观测站基线与地震危险性分析[J].华北地震科学,2010,28(04):15-23.