TEQC软件是由UNAVCO研制的为地学研究GPS监测站数据管理服务的公开免费软件,主要功能有:格式转换(不同的二进制观测文件转换成标准的RINEX格式文件)、数据编辑(数据的分解、切割和组合)和质量检核(对RINEX格式文件进行质量检查)。
TEQC运行站DOS和LINUX环境下。
TEQC软件总结
1 TEQC介绍篇
目前,市场上测量型GPS接收机种类繁多,包括Leica、Trimble、Ashtech、Javad等多个品牌。各个厂商都制定了针对自己产品的数据存储格式,虽然各厂家都提供工具(如Trimble的Dat2rin)将各自的格式转换为通用的RINEX格式(Receiver INdependent EXchange format,即与接收机无关的交换格式),但其使用较繁琐,要求操作人员对各个软件都比较熟悉,也不容易实现批处理,而这一功能对海量GPS数据管理自主运行系统来说尤为重要。由UNAVCO Facility 开发研制的TEQC(Translation,Editing,and Quality Checking)软件。该名称来源于其具有的各项功能:转换(Translating)、编辑(Editing)、质量检查(Quality Check)。TEQC已成为多个IGS(Internal GNSS Service)数据中心的质量核检工具,能够及时发现数据问题。现在被广泛应用在城市、大型工程控制网的GPS数据预处理,有助于对观测误差的分析,特别是提高测量成果的精度。
TEQC ( Translation、Editing、and Quality Checking) 是功能强大且简单易用的GPS/GLONASS 数据预处理软件,主要功能有格式转换、编辑和质量检核。其中,格式转换可将许多不同厂家的GPS 接收机观测(二进制) 文件转换为RINEX 文件,也可以在RINEX 文件的不同格式之间转换;编辑功能可用于RINEX 文件字头块部分,也可进行数据文件的任意切割与合并、观测值类型的删减、卫星系统的选择及特定卫星的禁用;质量检核可以用于检查双聘GPS接收机动态和静态数据的质量,反映出GPS 数据的可用性、电离层延迟、多路径影响、接收机周跳、卫星信号信噪比等信息,并实现了可视化。
TEQC的前身QC(Quality Check)程序是用Fortran编写的,移植性较差,后来UNAVCO用C语言重写了全部代码,目前仅免费提供可执行程序[2]。TEQC是一个命令行工具,能够运行在多种操作系统上,包括Unix、Linux、MacOS以及Windows的DOS等,其运行语法为:
teqc {options} [file1 [file2 [...]]]
TEQC 软件的官方网站是:http://facility.unavco.org/software/teqc/teqc.html。
TEQC 软件最新的版本是:2008-02-15;最新的官方正式版本是:2002-03-14。
2 TEQC功能篇
TEQC 软件主要包含以下三个模块:(1)数据格式转换模块(Translate);(2)RINEX数据编辑模块(Edit);(3)数据质量检核模块(Quality Check)。三个模块是相互独立,互不影响的,既可以单独使用其中一个模块,又可以组合使用。由于TEQC软件是基于DOS界面的程序软件,故以命令行参数的形式来运行。其命令格式非常有规律,基本格式为:teqc {option} [file1] [file2] [file3]…。option是TEQC的控制参数,file为待处理的文件名或处理结果保存文件名。
2.1 T(ranslation):原始二进制文件数据格式转换,得到RINEX 文件
该模块功能主要是对不同型号接收机采集的不同类型原始数据转换为标准的RINEX格式文件。常见的GPS数据存储格式一般有三种:观测数据(OBServation data,简写OBS,为接收机记录的伪距、相位观测值)、导航数据(NAVavigation data,简写NAV,记录卫星实时发布的广播星历)和气象数据(METerological data,简写MET,记录气象仪器观测的温、压、湿度状况)。目前各类数据都以RINEX格式存储。
RINEX最早在1989年提出,经历了1.0和2.0版,后来又对2.0进行了修改,形成了2.10、2.11和2.20。2.11中包含了对L2C的支持,并增加了Galileo的代码。当前广泛使用的是RINEX 2.10。RINEX文件的命名规则为ssssdddf.yyt。其中ssss为台站名;ddd为年积日(Day of Year);f为文件在当天中的序列号,如果为0则表示全天,小时文件以a-x字母表示;yy是年;t是数据类型(o表示观测数据,n表示导航数据,m表示气象数据)。需要注意的是,RINEX采用世界协调时(UTC)时间,要与当地时间区别开。RINEX为ASCII文本文件,常以ZIP格式进行压缩(后缀名为“.Z”),以便于存储和传输。
目前IGS数据中心已采用Hatanaka RINEX格式来存储所有GPS观测数据,是一种“压缩”RINEX格式,其文件名类型字母为d(不是o),能够压缩25-30%的大小,从而降低了网络传输负荷和存储空间。日本国土地理院的Yuki Hatanaka提供工具软件crx2rnx / rnx2crx (ftp://terras.gsi.go.jp/software/,IGSMAIL-5611)可以在Hatanaka RINEX和标准RINEX格式之间转换。
在TEQC20060801 的说明书中,列出了可以解码的接收机类型:
-aoa or -jpl specifies a Rogue/TurboRogue/TurboStar receiver
-ash specifies an Ashtech receiver
-cmc for a Canadian Marconi Corporation receiver
-rock for a Rockwell receiver
-ti specifies a Texas Instruments receiver
-tr specifies a Trimble receiver
-leica specifies a Leica receiver
-motorola specifies a Motorola receiver
-leica for Leica
-topcon for Topcon
-javad for Javad
-nct for Navcom Technology
-ublox for u-box
-motorola for Motorola
二进制文件格式转换的命令为:(以TRIMBLE 的*.DAT 文件为例)
teqc -tr do -week **** + nav result.**n +met result.**m source.dat >
result.**o
其中:
-tr:表示接收机类型是Trimble;
do:是-tr 的参数,表示是下载(Download)的文件,o 表示用户所感兴趣的是o 文件
(标准输出);
-week ****:是GPS 周;可以用GPS 周表示,也可以用YYYY:MM:DD 表示,也
可用YYYY:DOY;其中,“:”符号可以用“/”表示;
+ nav result.**n:表示用户也希望输出N 文件;
+ met result.**m:表示用户也希望输出M 文件,但需要提供MET 文件;
source.dat:是标准输入文件;
> result.**o:是标准输出文件。
另外,还可以定制输出观测值类型及顺序:
teqc -tr d -O.obs L1+L2+ca+P2+P1 foobar.dat > foobar.97o
2.2 E(dit):数据编辑;RINEX 格式的文件头信息和记录信息编辑、格式修整、分割、整合
该模块主要功能有以下几个方面:(1)RINEX文件字头块部分编辑;(2)RINEX文件的分割;(3)RINEX文件的合并,(4)卫星系统的选择及特定卫星的禁用。
? 修改现有RINEX文件的头信息
利用TEQC可以方便地修改RINEX文件的元数据(或叫头信息),针对不同类型的数据(观测、导航、气象)可以使用相应的参数。以“-O.”开头的是观测相关的选项,包括接收机、天线、台站、时间等信息;以“-N.”开头的是导航数据相关的选项,与电离层、时间等参数有关;以“-M.”开头的是与气象数据有关的选项,涉及时间和台站信息等。主要的控制参数参见下表。
参数 类别 |
参数 前缀 |
参数名称 |
用途 |
观测 数据 |
-O. |
r[un_by] |
程序运行者 |
o[perator] |
测站数据操作员 |
||
ag[ency] |
测站组织 |
||
mo[nument] |
测站名称 |
||
int[erval,sec] |
指定原始数据的采样间隔 |
||
st[art] |
指定数据记录的起始时间 |
||
dec[imate] |
指定输出文件的采样间隔 |
当转换工具不能识别原始数据的头信息(如站名、接收机和天线型号),或这些信息需要指定或修改时,利用TEQC可以方便完成。例如要更改RINEX文件中的台站名可使用命令:
Teqc-O.mo BJFS bjfs0010.07o > /result/bjfs0010.07o
利用TEQC还可以进行数据重采样,例如将1 Hz的观测数据重采样成30 s间隔的文件:
Teqc-O.dec 30 bjfs0010.07o > /30s/bjfs0010.07o
? GPS/GLONASS 卫星数据的分隔
部分接收机可以同时记录GPS 和GLONASS 的数据。分隔两个星座数据的命令为:
teqc –R source.**o > GPS.**o
teqc –G source.**o > GLONASS.**o
? RINEX 格式验证及标准化
命令为:
teqc source.**o
teqc source.**o > result.**o
使用+v(verify) 选项验证RINEX 格式版本的优点:
不输出标准格式,执行速度快;
输入文件为多个时,防止文件整合;
执行后,输出验证信息;
命令为:
teqc +v source.**o
teqc +v source1.**o source2.**o source3.**o
验证同类型多个文件的格式时,后面文件的时间标示要在前面文件的后面,否则给出提示:
E:\TEQC>teqc +v test.03o temp.txt
teqc: test.03o readable as RINEX V.2.10 format
teqc: failure to read " 03 11 24 6 0 45.0000000 0 8G 1G 2G
3G27G13G15G16G31" on line 20 of "temp.txt"
(current epoch preceeds last epoch) ... exiting
? 文件头的编辑和提取
? 单个信息的编辑
命令为:
teqc –O.mo monument source.**o >result.**o
将source.**o 文件中的点名改为monument,输出文件为result.**o
O 文件头部分常用的设置有:
–O.rn: 点名
–O.mn: 测站编号
-O.at: 天线类型
-O.an: 天线编号
-O.rt: 接收机类型
//注意:IGS 标准约定:接收机类型共20 位,格式为:“仪器公司名+space+模型名”
eg:“TPS HIPER-GD”。而TEQC 命令行中是不能连续出现非参数选项,则修改接收机类型时要加引号:
teqc –O.rt “TPS HIPER-GD” source.**o > result.**o
-O.int: 采样率间隔
+O.c: 追加注释行记录
? 关于配置选项config
命令:
teqc +config source.**o
显示TEQC 可以修改的选项,且已经被修改过的选项;
teqc ++config source.**o
显示TEQC 所有可以被修改的选项。
? 配置文件的生成
命令:
teqc ++config source.**o > my_obs_config
将source.**o 内所有可编辑的选项设置输出到文件my_obs_config 中;
? 配置文件的编辑
直接在my_obs_config 文件中进行编辑,具体选项说明见说明书;
? 配置文件的引导
命令:
teqc –config my_obs_config source1.**o > result1.**o
将编辑过的配置文件my_obs_config 里面的各项设置选项移植到source1.**o 中,输出文件为result1.**o;这项功能适合于多个文件的批量转换。
? 某些config 没有列出来的特殊功能
采样率的重新设置
命令:
teqc –O.dec[imate] 1[s] source.**o > interval.**o
重新设置采样历元时刻,以00s 或30s 开头,1s 为采样率,重新编排O 文件。要求:source.**o 文件的采样率要小于interval.**o 文件的采样率;
静态、动态测量模式转换
命令:
teqc -O.mov 1 source.**o > kinematic.**o
? 关于优先级的问题
对于命令行,左边参数的优先级大于右边;
对于文件配置,上面参数的优先级大于下面;
? 记录文件的窗口化和切割(windowing and cutting)[Section 8 9 13]
记录文件O 文件的切割,就是从原始文件中去掉你不感兴趣的,或者只保留你感兴趣的时间段数据。主要有8 种模式:
[start] [end] (user supplies nothing except target files)
[start] delta (dir == +) e.g. +dh 7 for 7 hours from the start
delta [end] (dir == -) e.g. -dm 60 for 60 minutes from the end
start [end]
[start] end
start end
start delta (dir == + or -)
delta end (dir == + or -)
teqc –st 200601010000 +dh/+dm *[hour/minute] –dh/-dm *[hour/minute] –e
200612120000 source.**o>result.**o (概括的表达式 注意各个部分相互的搭配便于记忆)
举例说明:对于一个O 文件source.06o,观测时间从2006-01-01 的00:00 到24:00,
teqc source.06o > result.06o
起止时间是默认的,只提供标准输入文件,最后得到的result.06o 从00:00 到24:00;
teqc +dh 1 source.06o > result.06o
开始时间默认,从开始时间往后1 小时的数据,最后得到的result.06o 从00:00到01:00;
teqc -dh 1 source.06o > result.06o
结束时间默认,从结束时间往前1 小时的数据,最后得到的result.06o 从23:00到24:00;
teqc -st 20060101010000 source.06o > result.06o
结束时间默认,开始时间为01:00,最后得到的result.06o 从01:00 到24:00;
teqc -e 20060101230000 source.06o > result.06o
开始时间默认,结束时间为23:00,最后得到的result.06o 从00:00 到23:00;
teqc -st 20060101010000 -e 20060101230000 source.06o > result.06o
开始时间为01:00,结束时间为23:00,最后得到的result.06o 从01:00 到23:
00;
teqc -st 20060101010000 +dh 1 source.06o > result.06o
开始时间为01:00,往后推1小时,最后得到的result.06o 从01:00 到02:00;
teqc +dh 1 -e 20060101230000 source.06o > result.06o
结束时间为23:00,往前推1小时,最后得到的result.06o 从22:00 到23:00;
除了上面提到的8 种模式,还有一个开窗模式(windowing),就是在一个完整的O文件里去掉一部分。
命令为:
teqc -hole hole.file source.06o > result.06o
其中,hole.file 是一个配置文件,格式为:
[YY]YY MM dd hh mm ss.[sss] [YY]YY MM dd hh mm ss.[sss]
前面为时间头,后面为时间为。最后得到的result.06o 是不报告该时间段数据的文件。
? 卫星禁用及高度角的设置和观测值类型设置
禁用卫星。命令为:
teqc –G# source.**o > result.**o
在对对流层和电离层进行延迟分析或者为了保证数据的质量时,需要控制卫星的高度角。命令为:
teqc –set_mask # source.**o > result.**o
对于各种观测值类型,依据个人的需要进行观测值类型的定制。命令为:
teqc –O.obs [P1+P2+L1+L2+ca] source.**o > result.**o
? 文件的联接(splice)(Section 14)
将2 个或多个时间上连续的O 文件联接成1 个单独的文件。要求O 文件按观测时间顺序排列(time-sequential),且没有重复历元。
命令为:
teqc source1.**o source2.**o source3.**o …… > result.**o
2.3 QC(quality check):质量检查
该模块是TEQC的核心,主要是利用伪距观测值和载波相位观测值的线性组合对静态或动态双频GPS和GLONASS数据进行检核。
质量检核有2 种模式:lite 模式和full 模式。
? lite 模式需要的文件是:O 文件。
命令为:
teqc +qc source.**o
生成的文件有7 个:*.**S, *.iod, *.ion, *.mp1, *.mp2, *.sn1, *.sn2。
? full 模式需要的文件是:O 文件和N 文件。
命令为:
teqc +qc source.**o
生成的文件有9 个:*.**S, *.iod, *.ion, *.mp1, *.mp2, *.sn1, *.sn2, *.azi, *.ele。
**.ion L1-L2 电离层延迟;
**.iod 电离层延迟的变化率;
**.mp1/**.mp2 L1 上的C/A 码或P 码多路径观测误差和L2 上的P 码多路径观测误差;
**.sn1/**.sn2 L1/L2 观测值的信噪比;
**.ele 卫星的高度角;
**.azi 卫星的方位角。
分析结果文件是S 文件。其中,S 文件分为短报告和长报告两块。短报告给出了一个卫星绘制图,以及一个summary 列表。长报告给出的是系统设置参数的情况和具体的分析内容。
需要同时查看生成短报告时的命令:
teqc +qc +sym source.**o
在S文件中,可以查看数据的采集时间长度、数据采样率、观测期间多路径影响(MP1、MP2)、周跳、信噪比、观测能力等。参数包括:
1)理论历元数与实际历元数
理论历元数可通过实际跟踪到的卫星数目及观测时间长度来计算,需要相应的导航星历文件。
观测数据文件后缀名 |
导航星历文件后缀名 |
*.YYo |
*.YYn |
*.YYO |
*.YYN |
*.obs |
*.nav |
*.OBS |
*.NAV |
2)每周跳(Slip)观测历元数
用TEQC对高度角大于100的卫星的数据进行统计,用每天的观测历元数除以当天的周跳数。总周跳数为MP1、MP2和IOD周跳数之和。对于周跳较多的接收机,一般可将截至高度角设为150,再计算单日平均每周跳观测数,以确定是否周跳多发生在200角以下。如若不然,则可能是其它因素(如电离层等)造成的。
3)伪距和多路径噪声统计
MP1是P1(或C1)、L1、L2的线性组合,MP2是P2、L1和L2的线性组合。使用TEQC可给出MP1和MP2的值,这些值可以很好地反映接收机噪声和多路径效应。TEQC会生成的*.mp1; *.mp2两个多路径效应统计文件。低高度角的卫星易受多路径效应的影响。
4)L1和L2的信噪比。
TEQC以db-Hz为单位输出信噪比(Signal-to-Noise Ratio,即SNR)值(*.sn1;*.sn2文件)。通过分析随高度角变化的信噪比,可以确定接收机对低高度角卫星信号的追踪能力。
5)电离层延迟微分周跳
电离层延迟微分(Ionospheric Delay Derivative,即IOD)用来监测相位模糊度中的突然变化。如果IOD变化速率大于400cm/min,一般认为存在相位周跳。
? TEQC对GPS数据分析的原理
TEQC中的质量检核部分对GPS/GLONASS伪距和相位观测量,以线性组合的方式分析L1、L2的多路径效应,电离层对L1载波的相位影响,电离层延迟的变化,L1、L2的信噪比以及接收机的钟漂和周跳等。
在其结果摘要文件(*.00s)中,列出了历元、观测值统计、观测失锁统计、观测值删除统计以及比较重要的结果参数MP1、MP2、o/slps值。其中MP1、MP2分别表示L1、L2载波上的多路径效应对伪距和相位影响的综合指标,o/slps表示观测值和周跳比,能直接反映出数据的周跳情况。
(1)
(2)
其中 、 分别是双频伪距观测值, 、 为相位观测值。观测值和周跳比以另外一种形式CSR来表示:
(3)
结果文件*.ion、*.iod分别是观测时段的电离层延迟与变率,*.sn1、*.sn2分别是L1、L2信噪比。
(4)
其中 、 是波长,L1、L2是双频载波相位观测值, 、 是整周模糊度, 、 是双频载波相位观测值的多路径效应, 是L1、L2的频率的平方比( )。
GPS观测站点的观测环境、观测数据的质量反映在MP1、MP2、CSR值上。
? TEQC批检查方法(请找博主)
3 TEQC基本语法篇
? 标准输入、输出和错误
标准输入一般使用缺省设置,即前面不加任何flag;或者是跟在“<”之后。
默认情况下,屏幕输出是标准输出stdout 和标准错误stderr;但两者都可以使用文件输出,命令为:
teqc [commands] > out.txt 2 > err.txt
? 基本语法
“—”:表示输入文件或者关闭某些选项;
“+”:表示输出文件或者打开某些选项;
“<”:表示输入文件;
“>”:表示输出文件;
4 DOS技巧篇
修改dir:doskey ls=dir
退出根目录:cd\
进入硬盘:g:
进入子目录:cd 11
重复利用命令:利用键盘上下键