1、GAMIT/GLOBK 软件使用手册一 软解介绍GAMIT 软件最初由美国麻省理工学院研制, 后与美国 SCRIPPS 海洋研究所共同开发改进。该软件是世界上最优秀的 GSP 定位和定轨软件之一, 采用精密星历和高精度起算点时, 其解算长基线的相对精度能达到 10-9 量级, 解算短基线的精度能优于 1mm, 特点是运算速度快、版木更新周期短以及在精度许可范围内自动化处理程度高等, 因此应用相当广泛。GAMIT 软件由许多不同功能的模块组成, 这些模块可以独立地运行。按其功能可分成两个部分: 数据准备和数据处理。此外, 该软件还带有功能强大的 shell 程序。目前,比较著名的 GPS 数据处
2、理软件主要有美国麻省理工学院(MIT )和海洋研究所(SIO )联合研制的 GAMIT/GLOBK 软件、瑞士伯尔尼大学研制的 BERNESE 软件、美国喷气推进实验室(JPL )研制的 GIPSY 软件等。GAMIT/GLOBK 和 BERNESE 软件采用相位双差数据作为基本解算数据,GIPSY 软件采用非差相位数据作为基本解算数据,在精度方面,三个软件没有明显的差异,都可得到厘米级的点位坐标精度。相比较而言,GIPSY 软件为美国军方研制的软件,国内只能得到它的执行程序,在国内,它的用户并不多,BERNESE 软件需要购买,它的用户稍微多一点,GAMIT/GLOBK 软件接近于自由软件,
3、在国内拥有大量用户。GLOBK 软件核心思想是卡尔曼滤波(卡尔曼滤波理论是一种对动态系统进行数据处理的有效方法, 它利用观测向量来估计随时间不断变化的状态向量) ,其主要目的是综合处理多元测量数据。GLOBK 的主要输人是经 GAMIT 处理后的 h-file 和近似坐标, 当然,它亦己成功地应用于综合处理其它的 GPS 软件(如 Bernese 和 GIPSY)产生的数据以及其它大地测量和SLR 观测数据。GLOBK 的主要输出有测站坐标的时间序列、测站平均坐标、测站速度和多时段轨道参数,GLOBK 可以有效地检验不同约束条件下的影响 , 因为单时段分析使用了非常宽松的约束条件,所以在 GL
4、OBK 中就可以对任一参数强化约束。GAMIT/GLOBK 和 BERNESE 采用双差作为数据分析的基本观测量,它们的缺陷是不能直接解算钟差参数,只能给出测站的基线结果,除测站坐标参数之外,这些软件还可以解算的参数有:卫星轨道参数、卫星天线偏差、光压参数、地球自转参数、地球质量中心变化、测站对流层延迟参数、电离层改正参数等,这使这些软件的应用从大地测量学已逐渐延伸到地球动力学、卫星动力学、气象学以及地球物理学等领域,并取得了很多成果。GAMIT 软件的运行平台是 UNIX 操作系统,目前,它可在Sun、HP 、IBM/RISC、DEC 、LINUX 等基于 intel 处理器的工作站上运行。
5、软件可处理的最大测站和卫星数目可在编译时设定。它的基本输出文件是 H-文件,可作为 GLOBK 软件的输入文件,进而估计测站坐标与速度、卫星轨道参数和地球定向参数。数据处理前,用户需准备所需要的文件,如测站先验坐标文件(L-文件和 vg-in 文件) 、广播星历文件、观测数据文件以及其他辅助文件等。GAMIT 每个时段观测数据要求的周期最长为 1 个 UTC 天,即从UTC 的 0 点到 24 点(北京时间 8:0024:00) ,原则上不要跨天作业。GAMIT 软件的组成结构见图 1.1,它由不同功能模块组成,主要包括数据准备、生成参考轨道、计算残差和偏导数、周跳检测与修复、最小二乘平差等模
6、块,这些模块即可以单独运行,也可以用批处理命令联在一起运行,最大限度地减少人为操作,提高运算效率。软件的执行程序放在/com、/kf/bin 和/gamit/bin 三个目录下。arclenficanludesmakxorbitsulbinctoxfixdrvlbmakexpsolvcfmrgexaplehimodeltfrGAMIT/GLOBKcomhelpxamkflibrestagamitpseplesbintrackblsumgorhtoglpotglis.bkGen_utilgUpdate_pmughnlrsoutincldesutbakglocmibm图 1.1 GAMIT/GLO
7、BK 软件组成结构图二 批处理实例确认 GAMIT/GLOBK 软件安装成功之后,为了能正确处理数据和绘图,还需要做两件事情。第一,更新表文件。在 ftp 服务器上下载最新的 tables 表文件(ftp:/garner.ucsd.edu/pub/gamit/tables/) ,然后复制到安装目录下的 tables 中,遇到相同文件选择覆盖即可;第二,安装并配置好绘图工具 GMT( The Generic Mapping Tools) 。下面的实例中,处理的数据为 2010 年第 56 到 60 共 5 天的 3 个 IGS 站(BJFS、和WUHN、 KUNM)和 2 个待求站( chdu、
8、pixi)的数据。一、处理前的准备1、在主文件夹内新建 test 项目文件夹,项目内新建 brdc、igs 、rinex 三个文件夹,分别存放当天的广播星历、精密星历和观测值文件。注意:如果文件采用.z 压缩格式,则应当使用 gunzip 命令进行解压;如果解压出的观测值文件仍采用.d 的压缩格式,则应使用 crx2rnx 命令将其转化为.o 的标准 RINEX 格式(sh_crx2rnx -f *.*d 可用于.d 到.o 文件的批量转换) 。2、终端进入 test 项目文件夹内链接 tables,运行:sh_setup -yr 20103、生成 station.info 文件。将 test
9、/tables 下的 station.info 文件拷贝到 rinex 文件夹下,打开并编辑,仅保留以# 或* 开头的前几行,保存并关闭。打开终端并进入 rinex 文件夹,运行sh_upd_stnfo -files *.10o运行成功以后 station.info 文件便存放了此项目内的开始、结束时间,站名和接收机、天线类型等信息。4、建立 lfile.文件。 lfile.是测站的先验坐标文件。打开终端并进入 rinex 文件夹,用批处理的方式生成 lfile.文件可以分为三步:a)提取观测值.o 文件的先验 XYZ 坐标grep POSITION *.10o lfile.rnxb)将.rn
10、x 文件转化为.apr 文件rx2apr lfile.rnx 2010 056c)由.apr 文件生成 lfile.文件gapr_to_l lfile.rnx.apr lfile. 2010 056将 station.info 和 lfile.两个文件拷贝到 test/tables 文件夹,覆盖原文件。5、 sestbl.的配置。 test/tables 下的 sestbl.文件是测段分析策略文件,该文件内部有详细的说明。一般来说采用默认配置即可,通常需要修改的三个地方是:Choiceof Experiment 选择处理方式Choice of Observable 选择观测值类型和模糊度解算U
11、se otl.grid 选择是否使用潮汐文件对于 Choice of Experiment,选择 BASELINE 时将固定轨道并在 GAMIT 处理中和输出 h-文件时忽略轨道参数;选择 RELAX 时将采用松弛解,合并全球 IGS h-文件时需要。要想点位置精度高用 RELAX;若目的是求基线后面平差则用 BASELINE。在此实例中采用默认的BASELINE。对于 Choice of Observable,选择 LC_AUTCLN 为采用宽巷模糊度值并用伪距在 autcln 中解算;对于小于几公里的基线,用 L1 和 L2 独立载波相位观测值(L1,L2_INDEPENDENT )或者仅
12、用 LI(L1_ONLY) ,相比用无电离层组合(LC_HELP)可以减少噪声水平。对于 Use otl.grid,由于这里已在 ftp 上更新 tables,有了最新的 otl.grid 文件,所以这里选择 Y。6、 sittbl.的配置。 test/tables 下的 sittbl.文件对各个测站的先验坐标(或钟差、大气模型等)进行约束。对高精度的已知坐标采取强约束,而对待求点采用松弛约束。如 IGS 站的坐标分量约束在较小的 1 75px,对未知点的约束可以到 510m。7、 sites.defaults 和 process.defaults 的配置。sites.defaults 文件用
13、来控制需要参与解算的测站。在文档末尾可以根据提示编辑,来给定那些不参与解算的测站或是测站的某些天。process.defaults 文件用来控制处理过程中的很多细节,比如 sampling interval, number of epochs, start time for processing,default globk .apr file 等等,根据需求和提示进行编辑。在这里均使用它们的默认值。二、利用 GAMIT 解算基线用终端进入 test 的项目文件夹,输入批处理命令进行解算: sh_gamit -expt test -s 2010 056 060 -noftp -dopt D ao
14、 c x & sh_gamit.log参数说明:-expt:指定四个字符的项目名称-d:指定需要处理的指定日期,例如-d 2010 56 60,指的是处理 2010 年第 56 和 60天。-s:指定需要处理的时间序列,例如-s 2010 56 60,指的是处理 2010 年第 56 到 60 天。-orbit:卫星轨道类型。-yrext:给日目录前添加年前缀,例如 2010_006。-noftp:处理过程中不连接 ftp 下载数据。-copt:数据处理完成后待压缩的文件类型,例如-copt o q m k x。-dopt:数据处理完成后待删除的文件类型,例如-dopt D ao c x。结果
15、文件将存放在名称为年积日的文件夹内,此例中,可供参考的结果文件为:sh_gamit_2010_006.summary 解算总结qtesta.006 解算记录otesta.006 解算记录的简略版,一般关注此文件htesta.10006 协防差矩阵、参数平差值在上述文件中,可根据描述来判断解算结果是否符合相应的需求。其中,基线解算结果(O 文件,即这里的 otesta.006)中的 postfit_nrms 项优于 0.3 左右时最佳;如果大于 1.0,则表示此解存在问题。三、利用 GLOBK 进行平差处理用终端进入 test 的项目文件夹内,运行:sh_glred -expt test -s
16、2010 050 2010 065 -yrext -opt H G E & sh_glred.log参数说明:H:运行 htoglb,把文件转换为二进制文件G:运行 glred,合并文件E:绘图运行成功后,进入 gslon 文件夹,以 psbase 开头的文件即为各个站三维坐标时间序列的图形表示。用终端进入 gsoln 目录下,依次运行:ls/glbf/h*glx test.gdlglred6 globk_comb.prt globk_comb.log test.gdl globk_comb.cmd生成的 globk_comb.org 文件中就包含了解算点的三维坐标和相关参数。至此,利用 GA
17、MIT-GLOBK 解算 GPS 基线并进行平差的实例叙述完毕。三 分布处理实例1. 在桌面上新建一个 test 的文件夹,在 test 中新建 名称为 brdc(广播星历) 、igs(存放精密星历) 、rinex(下载的观测值文件和自己要解算的观测值文件) 。2. 用 doy 在 test 的终端里测试,比如输入:doy 2013 02 01 查看要解算的是GPS 第几周,第几天,以便下载数据用。3. 在终端输入 gftp,下载相关的文件,一定要选对自己解算需要的数据。一般下载*.d.z 文件(比较小,好下载) 。下载完所需要的数据后,要解压 :语句:gunzip*.Z4. 新建一个文件夹,
18、比如:名字为 032,把要解算的测站 o 文件和 n 文件,以及精密星历文件放进来。把 032 和 test 进行如下链接。5. 打开 rinex 文件,输入下面的语句,会产生一个 lfile.rnx 文件: 查看 lfile.rnx 文件中各点的坐标是否正确:不能出现坐标值为 0。6. 输入 rx2apr lfile.rnx 2013 032,会多出来一个名为:lfile.rnx.apr 的文件,接着输入:gapr_l lfile.rnx.apr lfile. “ 2013 032 生成一个用纬度和精度来表示点的坐标的文件(lfile.), 并把它复制到 tables 文件夹。7. 在 ta
19、bles 文件夹中新建一个文件 sitelist,在里面输入参考站点的名称,每行的第一列是空格,从第二行开始输。8. 在 tabie 文件夹启动一个终端,输入:sh_upd_stnfo -l sitelist 。9. 会生成一个 station.info.new 文件,把它给成 station.info 保存后,再输入:sh_upd_stnfo -files /rinex/*13o10. 在 032 文件中查看 station.info 的链接是否正确,然后做一个 l 文件的链接,打开终端输入: ln -s /tables/lfile / 到此准备工作完成。11. 在 032 文件打开终端,输
20、入:makexp 然后按照以下输入。12. 按照提示输入:历元间隔这里是 30s,开始时间,如果从 00 00 开始一天正好是 2880 个历元。13. 接下来按照提示输入:sh_sp3fit -f igs 17255.sp3 o igsf t 利用 sp3 精密星历生成 g 文件(上面已经下载好了) ,并且同时生产 t-和 u-文件14. sh_check_sess sess 32 type gfile -file gigsf3.032检查 g-文件15. makej auto0320.13n jauto3.032 利用导航文件生成 j-文件16. sh_check_sess sess 32
21、 type jfile file jauto3.032检查 j-文件17. makex test.makex.batch 生产 x-文件精密星历3 指的是年的最后一位数字,032 是新建的文件名称下载的导航文件的名称18. fixdrv dtest3.032 生成批处理文件19. csh btest3.bat 执行批处理脚本,得到 q-文件,即解算结果。四 精度评估(1 ) GPS 常用评价站坐标精度的指标是多时段基线重复性和多时段坐标重复性。基线重复性计算模型:(5.1)2112Ni Niiis R上式中 为观测时段, 为基线 s 的重复性统计值, 为第 时段基线 s 的中误差, 为s ii
22、R第 时段基线解算结果, 为总的时段数, 为基线结果的加权平均值。有iNR(5.2)NiiiiR12基线结果的评价还以基线长度与误差的关系来衡量,有两种形式:(5.3)Lbas22(5.4)dcs这里的 a、b 、c、d 四个参数可以根据基线长度和它的重复性统计值 拟合出来。也有以s基线的三个分量分别检验它的重复性的,这三个分量是南北分量 、东西分量 和高程snse分量 。计算公式与基线重复性的公式(5.1)相同,只是用基线分量代替基线长度而已。su坐标分量重复性计算模型也与(5.1)相同,只是用坐标分量和坐标分量中误差代替基线长度和基线长度中误差计算而已。(2 )通过天空图评定精度建立的文件
23、名称如上图:同一个地点在各个的时间段有高残差预示着存在多路径效应。如上图:同一个地点在特定的时间段有高残差预示着存在水波折射。(3 )通过相位与高度角评定精度如上图,错误:整体趋势线在有的高角度离开蓝色线,表明错误引用了天线相位模型,或卫星信号受到了电磁干扰。如上图,正常情况下:红色整体趋势线平顺,在蓝色线上下均匀波动。(4 )查看 qexpta 文件:qexpta.doy-Adjust正常 Adjust 不等于 0,若等于 0,则该测点未参与计算。(5 )通过基线标准差、相关系数评定精度正常 NE 3cm ,则数据质量有问题。(6 )通过 qexpta.doy-nrms 评定精度标准均方根 nrms 解算结果为 0.25 左右;若是 nrms 大于 0.5,表明处理结果是有问题的(例如:周跳没有修复;测站的起算点坐标有问题等) ;若是 nrms 小于 0.5,则认为成功解算,否则需要检查原因,重新处理。