介紹一款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