基于TEQC的GNSS数据质量可视化表达与分析

2014-08-15 01:39张显云姚黔贵张鹏飞黄安信
测绘通报 2014年4期
关键词:多路径历元基线

张显云,姚黔贵,张鹏飞,黄安信,张 俊

(1. 贵州大学 矿业学院,贵州 贵阳550025; 2. 贵州省非金属矿产资源综合利用重点实验室,贵州 贵阳 550003; 3. 贵州电力建设第二工程公司,贵州 贵阳 550002)

一、引 言

如何对GNSS原始观测值质量作出快速、准确的评价,继而剔除观测质量较差的数据,为基线向量的解算提供较为“干净”的数据源,成为高精度GNSS定位首先需解决的问题。TEQC可用于检核双频接收机的动态和静态数据质量,利用伪距观测值和载波相位观测值的线形组合来进行GNSS数据的误差估计,在快速评定GNSS数据质量方面有着非常大的优势:一方面速度快,没有繁琐的操作步骤,只用几条简单的命令即可;另一方面能对GNSS观测数据进行多角度全方位的质量分析,分别从卫星高度角、方位角、多路径效应、电离层延迟误差、电离层延迟变化率、信噪比等方面反映GNSS观测数据的质量,并可借助第三方软件(如QcView软件)对检核结果进行可视化表达[1-4]。然而,TEQC不具备可视性,交互性差,且可视化分析需借助第三方软件,这些均给实际操作带来不便。此外,TEQC不能禁用单颗卫星部分历元质量不高的观测值,只能禁用全部观测值,这对卫星数较少的情况极为不利。笔者以Visual C#为开发平台,采用Chart控件,开发可视化GNSS数据质量分析与预处理软件,实现对TEQC核心功能的可视化封装,并扩展禁用单颗卫星部分历元观测数据的功能。

二、软件功能模块设计及实现

TEQC能实现GNSS原始数据的格式转换、数据的质量检查与编辑等,鉴于大多数商用随机软件已具备格式转换的动能,本文主要以TEQC的数据编辑和质量检查功能为封装对象,开发基于TEQC的GNSS数据质量分析及预处理软件Chart-QC,其功能模块主要包括:GNSS原始数据质量检查、数据质量检查结果的可视化表达和GNSS数据编辑。限于篇幅,本文仅以多路径误差为例,来阐述软件的实现过程。

1. GNSS原始数据质量检查的实现

TEQC质量检查根据是否使用导航文件,分为qc2lite和qc2full两种检核方式。在缺省状态下,qc2lite方式会生成质量检核摘要文件、电离层延迟误差、电离层延迟变化率、L1和L2载波上P码伪距的多路径效应(包括接收机噪声)、L1和L2载波的信噪比。如使用了导航电文,则采用qc2full方式进行质量检查,它除生成qc2lite方式下的所有文件外,还将产生卫星和接收机天线的位置信息,以及方位角和高度角两个数据文件。

TEQC实质上是一个可执行文件(exe文件),通过设置不同的参数,在DOS环境下可完成TEQC的数据质量检查、数据编辑、单点定位等功能。Chart-QC软件则采用进程Process类调用TEQC命令,对TEQC功能进行封装,后台完成GNSS数据的检查,从而避免了中间诸多的步骤与设置。质量检查部分代码如下[5]

private void QCheck(string filename)

{

Process myprocess=new Process():∥定义进程Process类对象

string path=Application.Startup Path;

path=path.Remove(path.LastIndexOf("\"));

path=path.Remove(path.LastIndexOf("\"));

path=path+"\"+"teqe.exe";∥TEQC路径及TEQC命令

myprocess.StartInfo.filename=path;∥可执行程序文件名

myprocess.StartInfo.Argument="+qc"+""+filenme;∥TEQC参数设置

myprocess.StartInfo.CreateNoWindow=true;∥不显示DOS窗口

myprocess.StartInfo.UseShellExecute=false;∥不使用系统外壳程序启动

try

{

myprocess.Start();∥启动进程

myprocess.WaitForExit();∥等待检查执行结果

}

catch(Exception ex)

{

MessageBox.Show("执行失败,"+"失败的原因:"+ex.ToString());

}

finally

{

myprocess.Close();∥关闭进程

myprocess.Dispose;∥释放系统资源

}

}

代码中质量检查参数是按qc2lite方式进行设置的,经验证知:只要导航文件与观测值文件位于同一目录下,质量检查同样按qc2full方式进行。

Chart-QC软件界面如图1所示。

图1 Chart-QC软件界面

2. 数据质量检核结果的可视化表达

数据检核的目的是为了评价观测值文件的质量,以便对其进行编辑,删除质量不高的部分观测值。为了便捷、直观地分析观测值的质量,需将各种检核结果文件绘制成图像。Chart-QC软件采用微软Chart控件来实现对分析结果的可视化表达。下面以多路径效应检核文件为例,阐述Chart控件图像绘制的实现过程。

(1) 多路径效应文件结构解析

在绘制图像前,首先需对文件结构进行了解,以便对文件进行读取。多路径效应文件结构如图2所示。

图2 多路径效应文件结构图

多路径效应文件与其他检核结果文件结构相同,文件头部分含义一样。图2中,“SVS”表示卫星及编号;“T_SAMP”表示采样间隔,以秒为单位,本例中为5 s;“START_TIME_MJD”表示观测值文件中第一个观测记录的时刻,为修正的儒略日期;卫星标识“9 01 07 08 11 17 19 20 28 32”中,第一个数字“9”表示观测并记录了9颗卫星,其余数字表示记录的卫星编号,一般只有在观测卫星或总的观测卫星数发生变化时,文件中才会重新标识此信息;卫星标识下一行为多路径效应,一颗卫星一个历元对应一个值。

(2)多路径效应的可视化表达

为直观表达观测值质量,需对卫星各历元的多路径效应、信噪比、卫星高度角和方位角、电离层误差进行读取,并计算对应的历元时刻。鉴于每个观测值文件中记录每颗卫星的检测结果均包括以上元素,历元时刻可根据卫星是否记录进行推算。因此,可定义一个卫星类(Satellite类),并采用索引的方式,获取类中相关字段的值。Satellite类结构如下[6]

class Satellite

{

public float Mp1;∥P1 多路径效应

public float Mp2;∥P2 多路径效应

.........................................................

public static Int32[] SatNo:∥观测卫星编号

∥构造函数

public Satellite(float a,float b,float c,float d,float e,float f,float g,float h,float t)

{

Mp1=a;

Mp2=b;

.........................................................

}

∥类索引

public float this [int index]

{

get

{

switch(index)

{

case 0:return Mp1;

case 1:return Mp2;

.....................................................

default:

throw new IndexOutOfRangeException("下标越界!");

}

}

set

{

switch(index)

{

cass 0:Mp1=value;break;

cass 1:Mp2=value;break;

......................................................

default

throw new IndexOutOfRangeException("下标越界!");

}

}

}

}

为方便获取各卫星的相关信息,并顾及每颗卫星可能包含若干历元的信息、且历元间可能不连续,主程序采用List类定义了32个satellite数组

List[]satellite=new List [32];

∥实例化32个Satellite类对象

for(int i=0;i<32;i++)

{

satellite[i]=new List();

}

satellite 数组中每个元素均为List类的实例,每个数组又以Satellite类实例对象为元素,从而可采用List类中的Add方法,以卫星编号为索引,实现对记录卫星检核结果文件中各个历元相关信息的读取,并采用类索引获取所需信息,关键代码如下

Satellite G=new Satellite(b,c,0,0,0,0,0,0,time);∥创建对象G

satellite[(Satellite.SatNo[k]-1)].Add(G);∥将对象G添加到第SatNo[k]个List数组中

在读取完一个文件后,便可利用类索引获得所需元素,并利用chart控件绘制图形,代码如下

for(int i=0;i

{

series1.Points.AddXY (satellite [j] [i] [8], satellite

[j] [i] [0]);

series2.Points.AddXY (satellite [j] [i] [8], satellite

[j] [i] [1]);

}

代码中,j为卫星编号;satellite [j].Count为该卫星的历元数;satellite [j] [i] [0]为卫星j第i个历元的L1多路径效应;satellite [j] [i] [1]为卫星j第i个历元的L2多路径效应;satellite [j] [i] [8]为卫星j第i个历元对应的历元时刻。

3. GNSS观测数据的编辑

对检核结果文件可视化表达后,便可直观地对观测值文件进行质量分析,从而对质量较差的数据进行编辑。数据的编辑包括RINEX文件的切割与合并、卫星的选择和禁用、高度角的设置等,同样可通过调用TEQC命令来实现。如要禁用某颗GPS卫星全部观测值,可设置TEQC参数为

teqc - G# 输入文件> 输出文件

其中,参数“G”表示GPS卫星;“#”表示卫星编号。

然而,TEQC对卫星的禁用是禁用该卫星的全部观测数据,这对观测条件不好、卫星较少时的情况非常不利。Chart-QC软件在分析RINEX文件结构的基础上,结合可视化图形,实现了对单颗卫星部分观测值进行禁用的功能,在改善原始观测值质量的同时,提高了观测数据的利用率。基本思路为:

1) 判断多路径误差大小。

2) 获取异常多路径误差对应的历元。

3) 删除RINEX文件中对应历元的卫星标识及观测值。

4) 保存RINEX文件。

4. 数据的保存

数据编辑完成后,还需将编辑后的数据进行存盘。Chart-QC提供3种保存方式,即替换存盘、更改路径存盘、改名存盘。

三、软件性能整体测试

采用某GPS控制网29个观测值文件对Chart-QC软件的功效进行测试,主要是对电离层跳变严重、多路径效应较大、卫星失锁频繁的观测值进行编辑。可以禁用单颗卫星观测值,也可禁用观测文件某连续时间段内的所有卫星观测值,或者禁用单颗卫星部分历元观测值,需具体情况具体分析。

将原始观测值数据与经Chart-QC软件编辑后的观测值数据间的多路径效应、观测值总数与发生周跳观测值个数之比进行对比分析,部分结果见表1。

表1 GNSS数据编辑前后质量比对

对结果进行分析可知,预处理后数据的观测质量相对于原始数据质量有了大幅度的提高。首先,从有效率指标来看,数据文件中有效率有的减小了,有的增大了,但整体上有效率普遍保持不变;其次,从多路径误差来看,mp1值普遍减小,其中减小值最小为5.3%、最大为33.3%;mp2值同样普遍减小,减小值最小为17.7%、最大为46.9%;最后,从观测值总数与发生周跳观测值个数之比(o/slps)来看,o/slps值普遍增大,且增幅很大。显然,Chart-QC软件实现了GPS观测数据预处理的目的。

为进一步评价Chart-QC软件在GNSS数据质量分析与编辑方面的功效,在保持相同的高度角、采样间隔、电离层模型等基线处理参数设置的情况下,采用GPS数据处理软件对所有基线按两种方案进行一次性处理。

方案1:对原始GPS观测值文件进行基线解算。

方案2:对经Chart-QC软件编辑后的观测值文件进行基线解算。

基线质量的绝对质量指标是判定基线质量合格与否的重要参数,包括独立环闭合差和复测基线长度较差[7-10]。此处主要以这两个指标来评价Chart-QC的功效。根据文献[6],独立环闭合差限差为

复测基线长度较差限差为

式(1)、式(2)中,σ为基线测量精度;其余符号含义可参见文献[6]。σ可按下式进行计算

由于编辑前后的文件均由相同的GPS接收机进行施测,且同名基线弦长一致,故基线测量精度σ相同,继而复测基线长度较差之限差也相同;此外,同名独立环基线边数相同,且为相同的基线,故独立环闭合差限差也相同。因此,将编辑前后文件进行基线处理所得独立环闭合差、复测基线长度较差之绝对值进行比较,其中的较小者,更容易满足限差要求,数据质量自然较高。于是,为宏观评价上述指标值的大小,将方案2结果之绝对值减方案1结果之绝对值,结果如图3和图4所示。

图3 异步环及分量闭合差绝对值之差

图4 复测基线长度较差之差

由图3、图4可以看出,独立环分量闭合差及环闭合差、复测基线长度较差之绝对值之差大都小于0,也即方案2结果之绝对值大都小于方案1结果之绝对值,说明经由Chart-QC软件编辑后的数据整体质量有所改善,从而说明了基于TEQC的Chart-QC软件能对GNSS观测数据的质量进行检查、并能根据可视化分析结果优化观测值质量。差值等于0是因某些原始观测数据质量本身较高,没有对其进行编辑处理所致。

四、结束语

在分析TEQC软件优缺点的基础上,结合Visual

C#面向对象程序设计的方法,对TEQC进行了基于Windows界面的可视化封装,采用Chart控件实现了质量检核结果的可视化表达,实现了GNSS观测数据预处理过程的简洁化。程序运行及处理结果表明:Chart-QC操作简单、界面友好;质量检核结果可视化图形美观、易于分析;能在检查与分析观测值质量的基础上,对观测数据进行编辑,继而改善基线质量,为网平差提供质量较好的观测值,从而有利于提高定位精度,从而也验证了TEQC软件自身在数据分析与编辑方面的功效。

参考文献:

[1] 赵红强,郭际明,李宗华,等.绘图工具QCVIEW在GPS数据预处理中的应用[J].测绘通报,2008(11):44-46.

[2] UNAVCO Facility. TEQC-Tutorial [EB/OL].2007-06-20[2013-01-05]. http:∥facility. unavco.org/software/teqc/tutorial.html.

[3] 廖文兵,余红举,王斌,等.TEQC软件的应用与数据分析[J].地理空间信息,2012,10(4):76-78.

[4] 王建军,吴北平,冯健.TEQC和QCVIEW32在GPS观测数据预处理中的应用[J].工程地球物理学报,2010,7(5):634-638.

[5] 杨宏伟,李晶.C#程序员开发手册[M].北京:科学出版社,2006:612-619.

[6] 梁斌玉.叩响C#之门[M].北京:电子工业出版社,2009:137-162.

[7] 张勤,李家权.GPS 测量原理及应用[M].北京:科学出版社,2005:171-172.

[8] 李征航,黄劲松.GPS测量与数据处理[M].2版. 武汉:武汉大学出版社,2010:282-286.

[9] 中华人民共和国国家质量监督检验检疫总局.GB/T 18314—2009全球定位系统(GPS)测量规范[S].北京:中国标准出版社,2009.

[10] 魏二虎,王中平,龚真春,等.TEQC软件用于GPS控制网数据质量检测的研究[J].测绘通报,2008(9):6-9.

猜你喜欢
多路径历元基线
附加历元间约束的滑动窗单频实时精密单点定位算法
多路径效应对GPS多普勒测速的影响
多路径助推肉牛产业稳定发展
航天技术与甚长基线阵的结合探索
历元间载波相位差分的GPS/BDS精密单点测速算法
一种SINS/超短基线组合定位系统安装误差标定算法
基于5.8G射频的多路径识别技术应用探讨
一种改进的干涉仪测向基线设计方法
Clinical observation of Huatan Huoxue Formula in treating coronary heart disease with hyperlipidemia
Mechanism of sex hormone level in biological clock disorder induced acne and analysis of TCM Pathogenesis