介绍一款GNSS预处理软件-Anubis

作者:乐于水

全球卫星导航系统发展迅猛,继美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)和欧洲的伽利略卫星导航系统(Galileo)之后,我国北斗三号基本系统已于2018年12月27日完成建设并开始提供全球服务,北斗系统也日益表现出卓越得定位、导航功能。高精度位置信息的获取必然依赖GNSS数据预处理,数据质量检查提供的信息不仅有利于数据后处理,还有益于高质量观测数据的收集、存储。上述多种系统、信号、频率的出现给GNSS数据预处理带来了新的挑战。RINEX3.X格式已经包容了上述提到的所有系统、所有频段的数据。

目前常用的GNSS数据预处理软件有BNC(BKC ntrip client)及TEQC,但只有BNC是开源的,且支持RINEX3.X格式,但其操作相对复杂,且TEQC只能检核GPS和GLONASS双系统数据不支持BDS数据。本文介绍一种新兴GNSS预处理软件Anubis,由捷克国家大地测量、地形与地图制图研究所开发,支持 GPS, GLONASS, BDS, Galileo, QZSS,SBAS各频点数据的质量检核与分析,且支持Rinex3.X格式,具体功能包括数据缺失和小数据块检测、观测值可用频带统计、周跳和钟跳检测、多路径效应影响估计、计算信噪比等,若同时提供导航数据还可以进行标准单点定位、方位角和高度角计算。

Anubis软件免费开源,支持Windows、Linux和MacOS等常见操作系统。类似于TEQC,该软件也在命令行窗口运行。通过预设好的配置文件,Anubis一次可对多个Rinex文件进行并行预处理操作,此举可简化处理流程,提高效率。Anubis的第一版于2013年发布,目前最新版本是Anubis2.2.3。下载网址为

http://www.pecny.cz/sw/anubis/

1 安装配置

1.1 Windows 操作系统

首先从程序的下载页面获取文件名中带有 “win” 字样的适用于 Windows 操作系统的程序文件。例如,下载的文件为:anubis-2.2.3-win-static-64b,下载完成后将该文件重命名为“anubis.exe”。打开“命令提示符”窗口,使用 cd命令进入程序所在目录,执行 anubis 命令即可使用该程序。如果希望在任何目录都能使用该程序,可以考虑将程序所在目录添加到系统的“PATH”环境变量,或直接将anubis.exe 移动至“C:\Windows\System32” 文件夹内。

需要注意的是,如使用 Windows7 或者更早的操作系统,可能会遭遇缺失某些动态链接库(.dll文件)的错误。这种情况下,对于能够连接互联网的计算机,可以为系统安装最新的更新;对于无法连接网络的计算机,可以尝试安装微软 VC++2015 套件,或者将所缺失的 dll 文件放置到 anubis 程序所在的文件夹来解决。

1.2 Linux 操作系统

对于 UNIX/Linux 操作系统,下载文件名中含有 “lin” 字样的程序文件,注意程序的适用环境(32 或 64 位系统)。下载完成后将其重命名为 “anubis”,在终端中进入程序所在目录,使用如下命令为其添加执行权限:$ chmod +x anubis

之后就可以通过命令 anubis 使用程序了,但是每次使用前需要切换工作目录。如果希望在任何目录下都可以使用此程序,可以将其移动到“/usr/bin” 目录下。

2 程序使用

2.1 数据获取

采用IGS数据进行处理。IGS数据获取网站有CDDIS(ftp://cddis.gsfc.nasa.gov)、SOPAC(ftp://garner.ucsd.edu/)、IGN(ftp://igs.ensg.ign.fr/)。另国内可访问武汉大学IGS数据中心(ftp://igs.gnsswhu.cn/、http://www.igs.gnsswhu.cn/)。

本次采用BJFS站2019年1月12日RINEX观测数据和导航数据,2.2.3版本Anubis。

2.2 Anubis参数

输入anubis –h显示Anubis可接收参数各项。如图

介绍一款GNSS预处理软件-Anubis的图1

参数释义:

· -x <xml>:输入的配置文件;

· -l <log>:输出的日志文件;

· -v <int>;日志文件详细度;

· -X:输出默认的配置文件;

· -V:显示程序的版本信息;

· -h -help:显示帮助信息。

配置文件以 XML格式编写。其中-l <log>项较少用到,因为程序在运行时都会自动生成log日志文件。日志文件详细度也可在配置文件中进行设置。

详细命令如anubis -x <xml> -l <log> -v <int> -X -V –h

实际解算操作可直接:anubis -x BJFS012.xml

2.3 配置文件

使用下面的命令可以输出一个包含默认项的配置文件:

anubis -X2> anubis_defaults.xml(注意此处-X为大写的X)

配置文件设置一般在默认配置文件基础上进行修改。下面以配置文件为范例进行讲解。

程序的参数配置放在配置文件的 config 元素中,该元素包含以下子项:

· gen:全局配置项,包含采样间隔、卫星系统、站点等;

· qc:数据质量分析检查的配置项;

· input:输入文件配置,包括观测文件与星历文件;

· output:输出文件配置,包括输出数据、质量分析结果、操作日志等。

· gnss:卫星系统配置项,如对卫星和观测量、频段等的筛选;

· rec:接收机描述项,如站点名称、编号,接受机型号和天线型号,以及年代变化。

对于和 GNSS 卫星系统相关的配置,使用卫星系统的 3 个字符简称,它们的对应关系为:

· GPS:GPS;

· GLONASS:GLO;

· Galileo:GAL;

· BeiDou:BDS;

· SBAS:SBS;

· QZSS:QZS

2.3.1 全局配置项gen

包含的子元素有:

· beg:开始处理的时刻;

· end:结束处理的时刻;

· int:数据的采样间隔;

· sys:要处理的卫星系统;

· rec:要处理的站点列表。

示例如下:

<gen>

   <beg>"2019-01-12 00:00:00" </beg>

   <end>"2019-01-12 23:59:59" </end>

   <sys>  GPS GAL GLO BDS -QZS -SBS </sys>

   <rec> GOPEWTZR POTS                </rec>

  <int>30</int>

 </gen>

在上例中,将要处理的时间间隔设置为 2019 年 01月 12 日 0 点 0 分 0 秒至 23 点 59 分 59 秒,数据的采样间隔为 30 秒,要处理的观测站的列表为 GOPE、 WTZR 和POTS;并指定了要处理的和不要处理的卫星系统,不处理的卫星系统前添加“-”号作为标记。

2.3.2 质量检查配置项qc 

属性有:

· sec_sum:总结报告信息的详细度;

· sec_hdr:观测信息检查报告的详细度;

· sec_obs:观测量统计报告的详细度;

· sec_est:定位解算(SPP)报告的详细度;

· sec_gap:观测值跳变报告的详细度;

· sec_bnd:观测频段统计报告的详细度;

· sec_pre:周跳和失锁等预处理报告的详细度;

· sec_ele:卫星方位角和高度角报告的详细度;

· sec_mpx:多路径效应影响报告的详细度;

· sec_snr:信噪比统计报告的详细度;

· sec_sat:卫星信息报告的详细度;

· int_stp:预处理时的数据取样间隔;

· int_gap:探测观测跳变时的阈值;

· int_pcs:探测观测缺失时的阈值;

· col_sat:与卫星相关的报告的列数;

· mpx_nep:探测多路径系统误差时使用的历元数;

· mpx_lim:探测多路径误差时使用的阈值;

· pos_kin:接收机是否为运动状态。

· pos_int: int positioning interval

· pos_cut:positioningelevation angle cut-off (degrees)

· ele_cut:设置的截至高度角;

· sat_rec:bool expected satellite (all | receivertracking)

· use_health:enum using method of satellite healhy status (position|statistics|all)

· dV_lim:double   vertical limit position

· dH_lim:double   horizontal limit position

· dG_lim:doubel   GDOP limitposition

在以上的属性中,以“sec”作为前缀的项,其取值范围为 0 到 9。以“int”作为前缀的项,以秒作为单位,截至高度角以度作为单位。而 pos_kin 的取值范围只有 true 或 false。

示例如下

 <qc

  sec_sum="1"

  sec_hdr="1"

  sec_obs="1"

  sec_est="1"

  sec_gap="1"

  sec_bnd="1"

  sec_pre="1"

  sec_ele="1"

  sec_mpx="1"

  sec_snr="1"

  sec_sat="1"

  int_stp="900"

  int_gap="600"

  int_pcs="1800"

  col_sat="35"

  mpx_nep="15"

  mpx_lim="5"

  pos_kin="0"

  pos_int="900"

  pos_cut="5"

  ele_cut="10"

  sat_rec="0"

  use_health="3"

  dV_lim="5"

  dH_lim="5"

  dG_lim="6"

 />

2.3.3 输入数据配置项input 

其中的元素有:

·  rinexo:输入的 RINEX 观测数据文件,多个文件使用空白分隔;

· rinexn:输入的 RINEX 广播星历文件,多个文件使用空白分隔(GPS导航电文文件);

· sp3:输入的精密星历文件,多个文件使用空白分隔。示例如下:

<inputs>

    <rinexo>

    rinex/bjfs0120.19o

    rinex/wuhn0120.19o

    </rinexo>

    <rinexn>brdc/brdm0120.19n </rinexn>

    <sp3> igs/igs20356.sp3</sp3>

</inputs>

2.3.4 输出数据配置项output 

其中的元素有:

· xtr:文本格式的处理报告文件,较繁复,后续报告内容的可视化以xtr文件为基础;

· xml:XML 格式的处理报告文件,较简洁;

· log:处理日志文件,文本格式。

<outputs append="0" verb="0" >

<xtr>$(rec)20190112.xtr </xtr>

<xml>$(rec)20190112.xml </xml>

</outputs>

Anubis 将为每个输入的观测数据输出一个报告文件。示例在配置报告文件的输出路径时,使用了 $(rec) 这个变量,它代表输入的观测数据的测站名。默认配置文件中<flt>元素不适用。

2.3.5 卫星系统配置项GNSS

卫星系统配置项可以对每个卫星系统做单独的设置,通常用于过滤卫星、频段和观测类型等。其中的卫星系统名采用上述提到的 3 个字符的简写方式。每个卫星系统可设置如下参数:

· sat:要处理的卫星编号(默认为所有卫星);

· type:要处理的观测类型(默认为所有类型);

· band:要处理的频段(默认为所有频段);

· attr:要处理的观测值属性(默认为所有属性)。

其中的 attr 项目针对 RINEX 3 标准。在 RINEX 3 中,观测类型由以前的 2 个字符改为 3 个字符。新增的第 3 个字符表示观测值属性,该属性与产生观测值的接收机通道有关。

一个对 GLONASS 系统的示例配置如下:

<glo>

<sat> R01R02 R04 </sat>

<type> C LD S P </type>

<band> 1 23 </band>

<attr> A BC D I L M N P Q S W X Y Z</attr>

</glo>

2.3.6 接收机描述项rec

该项可选填,对于IGS站点可填写站点名、编号,以及历年天线和接受型号变化,具体信息可从ftp://ftp.igs.org/pub/station/log/网站获取。

3 可视化

官方提供了配套的绘图工具, 包括Perl与python两版, 该工具通过读取xtr 文件即可输出分析结果图像。在Windows环境下亲试以python方式进行可视化。

官网提供python可视化化源码文件,下载地址:http://www.westernexplorers.us/GNSSplotters/anubisplot.py

运行环境要求安装python2.x并安装numpy 1.5和matplotlib1.3第三方库。实测运行环境(python2.7+ numpy 1.16+matplotlib 1.5)。numpy和matplotlib通过pip安装(pipinstall  numpy==1.16)。

可视化命令:

python  anubisplot.py    +skyplot  BJFS20190112.xtr

介绍一款GNSS预处理软件-Anubis的图2

python  anubisplot.py    +azelplot   BJFS20190112.xtr

介绍一款GNSS预处理软件-Anubis的图3

python  anubisplot.py    +timeelplot    BJFS20190112.xtr

介绍一款GNSS预处理软件-Anubis的图4

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP