GAMIT中不同卫星星历对GNSS点位 坐标解算的影响
2018-12-20牛洪柳
牛洪柳
(中国铁路设计集团有限公司,天津 300142)
随着GNSS系统的发展、卫星接收设备的改进和定位理论及算法的日臻完善,短距离GNSS静态定位技术已经比较成熟。GNSS随机软件能够利用实时卫星广播星历对获取的GNSS数据进行高精度解算,点位坐标精度可控制在cm级,能够满足大多数工程应用的需求[1]。而在中长基线距,大范围、高精度大型工程及地壳形变监测中,受控于卫星轨道和星差产品的精度,GNSS数据的解算往往需要高精度的数据处理软件,如国际公认的GAMIT/GLOBK软件、GIPSY-OASIS软件和Bernese软件[2]。GAMIT采用双差模型(开放源代码),在GNSS数据解算模型中消除了站钟和星钟的主要误差,其轨道误差对测站的相对位置不敏感,有利于精密定位,且其AUTCLN模块可对周跳进行自动修复[3-4]。采用GAMIT软件解算短基线精度可达1~3 mm,解算长基线的相对精度达10-9。但该软件对GNSS数据进行后处理时,往往需要卫星精密轨道数据(IGS),而IGS最终星历的发布有12~18 d的时延,使其应用时效性受到一定的限制。目前,IGS快速星历(IGR)的发布延迟仅17~41 h,可满足一般工程应用中时间效率的需要,但其对GNSS点位解算的精度需要探讨。
丁克良等[5]分析了快速星历与精密星历对基线解算计算结果的影响,结果表明:对于一般的工程控制网而言,快速星历能够达到与精密星历同样的效果。高旺等[6-7]则利用广播星历和快速星历进行GAMIT基线解算,验证了中长基线的解算结果可以满足常规的工程应用需求。王树东等[8]同样基于GAMIT软件,用快速精密星历和超快速精密星历代替最终精密星历,对实测的CORS站数据进行基线解算,结果表明:在特殊情况下,采用快速和超快速星历代替最终精密星历进行基线解算可行。李文浩等[9]指出,在时效性要求较高的情况下,在南极地区可以使用快速星历或超快速精密星历代替精密星历进行高精度的GPS基线解算。牟春霖[10]基于GAMIT基线解算模块,分别利用快速星历和超快速星历对某高速铁路框架控制网数据进行基线解算,并将解算结果与最终星历产品的解算结果进行对比,结果表明:超快速星历解算结果的误差略大于快速星历,但平面误差均为mm级,可满足高速铁路框架控制网的精度要求;而超快速星历产品相较于快速星历产品时延更短,更能满足高速铁路框架控制网对于时效性的要求。郭敏[11]则利用GAMIT-TRACK模块解算动态GPS数据,研究结果表明:测站坐标、天顶延迟、钟差等的数据精度与精密星历的类型几乎无关。但上述研究往往停留在基线解算的层面,没有讨论不同卫星星历对于点位坐标解算精度的影响。以下利用IGS提供的快速星历(IGR)和最终星历(IGS),对不同基线距的GNSS网(20~1 000 km)进行点位坐标解算,以对比不同卫星星历数据对GNSS网点坐标解算精度的影响。
1 GAMIT数据解算
在解算高精度静态GNSS数据时,GAMIT采用同步相位观测值组成基线网,通过对基线网进行解算得到基线向量,进而通过固定参考站对基线向量进行平差,获取GNSS点的精确坐标值[12]。当前,国际IGS网络连续运行测站超过400个,且免费向全球各地用户提供数据,这为在实际应用中开展GNSS点位组网提供了数据保障。GMIAT软件由Fortran语言和C-shell脚本混合编写,且软件的运行基于UNIX平台,没有窗口界面,给从事测绘地理信息的专业人员带来了一定的困难。以下给出利用GAMIT进行高精度GNSS数据解算的流程,并介绍了利用GLOBK模块对基线网进行平差时的一些注意事项,以期对从事高精度GNSS数据处理的技术人员提供借鉴。
(1)数据准备
GNSS观测文件、GNSS观测天线文件、GNSS测站坐标文件、星历文件和共用表等。
GNSS观测文件包含rinex文件、导航N文件以及星历文件,可以利用GAMIT软件包中提供的sh_get_rinex、sh_get_nav和sh_get_orbits命令获得相应数据。
共用表格文件是指在多天、多网数据处理中的共用文件,包含日月星历、章动、极移、地球自转及其它一些参数设置文件,其中日月星历、章动、极移、地球自转需要依据处理日期随时更新。
与测站相关的文件包括station.info文件、lfile.文件、sittbl.文件。station.info文件记录各测站的站点、站点名称、开始观测时问、结束观测时间、天线高、天线量测方法、接收机类型、软硬件版本号、天线类型等信息;lfile.文件记录各测站的近似坐标;sittbl.文件记录各测站的精度控制指标。
数据处理过程控制文件是指sestbl.文件。这个文件包括了基线解算模型的选择、观测值类型的选择、参数估计、大气参数估计等重要设置。准备该文件时,要根据实际需求来对参数进行选择。
(2)数据批处理
GAMIT提供了两种数据处理方式。对于初级用户,建议采用分布式的处理步骤,有利于发现数据处理过程中的问题。对于从事高精度GNSS数据处理的专业人员来说,批处理方式不仅能够提高工作效率,而且保证了数据处理参数的一致性。
使用sh_setup命令可自动获取共用表文件(将上述准备好的文件进行相应的更新即可)。建议在数据准备时即运行该命令,并在原有的共用表基础上进行修改,从而保证共用表文件格式正确。
使用sh_gamit命令进行批处理,选择适合当前任务的各个参数,如卫星星历的类型等。GAMIT采用组网方式解算GNSS数据,建议同步环中同步观测的GNSS点位数量不超过50个,以减少计算时间。
(3)基线网解算结果评估
GAMIT数据处理结果有O文件、Q文件和H文件,其中O文件和Q文件用于做单天的结果分析。O文件中均方根残差nrms的大小是衡量单天解质量的重要指标之一,比较理想的数值应在0.25左右(如果nrms的值小于0.5,说明基线解算结果可用,否则,需要查找原因并重新解算)。对于批处理结果,可直接检查单天解的summary文件,确保所有测站参与了网络的解算,且GNSS模糊度固定率达到80%以上。
(4)基线网平差
在GAMIT中,采用整网平差时往往需要选择IGS测站作为参考点,对于区域子网,IGS测站数以3~10为宜。如果解算的是多天GNSS数据,首先需要检查区域子网数据的时间序列,以确保点位坐标的稳定性;而对于工程应用,往往子网观测时长较短,可直接在cmd文件中(globk.cmd、glorg.cmd)设置稳定参考站,运行globk命令进行整网平差。在用户进行cmd文件控制参数的设置时,建议采用原有的默认参数。需要注意的是:对不同模式误差(噪声)的控制会对多天解造成影响,而对于单天解则影响很小。
GAMIT整网平差后,需对平差结果进行查看。最直接的标准即解算得到的参考站坐标与先验值之间的调整量,较好的平差结果中参考站的残差均值接近0,残差RMS值在mm级。如果有部分参考站的坐标解算值与先验值之间残差较大,则需要改变参考框架。
2 实验及结果
为探讨GAMIT软件中不同卫星星历对测站坐标解算精度的影响,选取了位于美国西海岸的CORS观测网(www.ngs.noaa.gov)2017年100~102 d的观测数据。这些数据可方便地获取,且点位坐标已知,可对解算结果进行定量对比。根据实验的需求,选取不同基线距的GNSS点构成同步观测网络(见图1)。共设计了6组实验,以探讨在GAMIT软件中,不同卫星星历对不同基线距GNSS网络点位坐标解算精度的影响,实验设计方案见表1。
图1 GNSS点位分布
实验基线距/km星历GNSS测站实验一26~78IGSP558 P560 P554 SKYB P560实验二68~230IGSP567 P521 CRU1 CNPP P560实验三210~1010IGSP468 P254 SCIP P001 P560实验四26~78IGRP558 P560 P554 SKYB P560实验五68~230IGRP567 P521 CRU1 CNPP P560实验六210~1010IGRP468 P254 SCIP P001 P560
对于每一组实验,均采用上述的数据处理步骤和策略。首先准备基线解算所需文件,如观测文件、星历文件、坐标文件和天线文件等,并对GAMIT中的表(tables)进行更新;随后采用sh_gamit批处理方式进行单天解算,并检查单天解的summary文件,确保基线解算正确。在完成上述基线解算过程后,将基线平差所需的cmd文件(globk.cmd和glorg.cmd)复制到与单天解平行的文件目录下,并修改控制文件中的稳定参考站,最后运行globk命令进行基线网的平差。为对结果进行定量比较,在上述实验中,均以P560点作为坐标未知点进行网平差,其他参与解算的点作为参考站;最终得到P560的点位坐标结果,并与其精确坐标进行对比,获取点位坐标的解算误差。
实验结果见图2和表2。从实验结果可以看出,利用IGS提供的最终精密卫星星历解算得到的点位误差随着基线距的增加而增大,但水平向均保持在5 mm以内;垂向精度较水平向稍差,短基线网(20~100 km)和中长基线网(60~200 km)的误差保持在1 cm以内,长基线GNSS网(200~1 000 km)的垂向误差超过2 cm。值得注意的是,尽管GNSS点的基线距不超过100 km(实验一),解算得到的点位(P560)坐标仍然具有近2 mm的误差,其原因为:该CORS网的精确坐标是在全球基准下利用坐标长时间序列解算获得,而此次实验仅解算了该GNSS点的单天坐标,且构建的GNSS网为局部网络[13-14]。上述结果表明,GAMIT在高精度GNSS数据解算中具有mm级的精度,且对不同基线距的测站分布并不敏感,不仅能够满足cm级的一般工程需要,而且能够满足绝大多数高精度大型工程和地壳形变监测的mm级精度要求。在特定的工程条件下,即便是仅有少量的非同步观测控制点,依然可以利用IGS提供的全球连续运行观测站进行高精度点位坐标解算。
图2 点位误差统计
表2 实验结果mm
采用IGS提供的快速卫星星历进行坐标解算,短基线GNSS网(20~100 km)水平向坐标误差在5 mm以内,与利用精密星历解算得到的结果相当,这是由于观测数据在解算时组成双差观测值,消除掉了大部分的共模误差[15],如对流层、电离层的影响等。中长基线GNSS网(60~200 km)的水平向坐标误差在1 cm以内,垂向相对较差,误差超过了1.5 cm;对于长基线GNSS网(200~1 000 km),利用快速卫星星历解算得到的点位坐标误差在水平向超过了1 cm,垂向误差超过3 cm,表明其对精密工程网点位坐标解算的影响不可忽略[16-17]。
上述实验仅基于待定点(P560)周围均匀分布的4~5个已知点位来进行解算,如果增加已知框架点的个数,点位解算的精度虽然会有一定程度的提高,但其误差变化的趋势不会改变[18-19]。对于中国大陆来说,尽管IGS连续运行站分布相对稀疏,但随着中国大陆构造环境监测网络260个连续站在2010年的正式运行以及各省市密集的CORS网络的建立,能够满足短基线GNSS网或中长基线GNSS网的构建,采用快速卫星星历(IGR)解算得到的GNSS点位坐标将能够满足cm级的工程精度要求。
随着GAMIT/GLOBK10.7版本的发布(http://geoweb.mit.edu/gg/),GAMIT提供了Linux和Windows平台下的安装版本,进一步为用户提供了便利。同时,GAMIT/GLOBK程序自10.5版本开始,逐步加入了对其他各大GNSS系统(如北斗、Galileo)的支持;随着GAMIT/GLOBK10.61版本的发布,该程序已经能够支持北斗观测数据的解算,并且附带的共用表文件也包含了多个GNSS系统的信息,这为今后开展基于北斗导航系统的工程测量控制应用提供了基础。
3 结论
对采用GAMIT/GLOBK解算高精度GNSS数据的一般性流程做了简要的介绍,并利用IGS提供的精密卫星星历(IGS)和快速卫星星历(IGR),对不同基线距的GNSS网(20~1 000 km)进行了坐标解算,探讨了不同卫星星历对不同基线距GNSS网点位坐标解算的影响。结果表明,采用IGS最终卫星星历解算得到的点位水平向误差均保持在5 mm以内,且随着基线距的增加变化不大;采用快速卫星星历解算得到的点位坐标水平向误差随着基线距的增加而增大(1~3 cm),但短基线GNSS网点位的误差对于卫星星历(IGS和IGR)并不敏感,点位坐标解算水平向精度在1 cm以内;而长基线GNSS网的点位坐标解算水平向精度超过1 cm。在实际工程应用中,应综合考虑时间效率及精度要求,选择最佳的GNSS数据后处理方式。