東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU RTK-GPS測位の基礎と プログラミング (9) Basics of RTK-GPS Positioning and Its Programing 東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
内容 パッケージ構成 プログラム構成 共通ヘッダ・共通ルーチン RINEX読み込み 整数最小二乗 RTK測位 後処理基線解析AP
パッケージ構成 rtklib_1.0.tar.gz ./src : ソースプログラム ./test : テストプログラム・データ ./util : ユーティリティ ./doc : 文書 ./gcc : 構築環境GCC ./msc : 構築環境MSC ./icc : 構築環境Intel C+MKL
プログラム構成 rtklib.h : 共通ヘッダ rtkcmn.c : 共通ルーチン readrnx.c : RINEXファイル読み込み lambda.c : 整数最小二乗 geoid.c : ジオイドモデル rtkpos.c : RTK測位 rnx2rtkp.c : RTK測位メイン pos2kml.c : 変換ユーティリティ
共通ヘッダ 定数 共通型 gtime_t : 時刻構造体 obsd_t : 観測データレコード obs_t : 観測データ構造体 eph_t : 航法メッセージレコード nav_t : 航法メッセージ構造体 関数プロトタイプ宣言
共通ルーチン (1) 行列・ベクトル演算 mat(),zeros(),eye() : 行列生成 dot(),norm() : 内積, euclidノルム matmul(), matinv() : 行列積、逆行列 solve() : 線形方程式 lsq() : 最小二乗法 filter() : Kalmanフィルタ更新 matprint() : 行列・ベクトル印刷
共通ルーチン (2) 文字列・時刻操作 str2num() : 文字列→数値 str2time(),time2str() : 時刻→文字列 gpst2time(),time2gpst() : GPST→時刻 gpst2utc(),utc2gpst(): GPST→UTC timeadd() : 時刻加算 timediff() : 時刻差
共通ルーチン (3) 座標変換 ecef2pos() : ECEF→緯度経度高度 pos2ecef() : 緯度経度高度→ECEF ecef2enu() : ECEF→局地座標系 enu2ecef() : 局地座標系→ECEF covenu() : 局地座標系共分散 geoidh() : ジオイド高
共通ルーチン (4) 航法ルーチン eph2pos() : 航法msg→衛星位置 satpos() : 衛星位置・衛星時計計算 geodist() : 幾何学距離計算 ionmodel() : 電離層モデル tropmodel() : 対流圏モデル pntpos() : 単独測位
RINEX読み込み int readrnx(char **files, int n, obs_t *obs, nav_t *nav) files I RINEXファイル n I ファイル数 obs O 観測データ nav O 航法メッセージ
整数最小二乗 int lambda(int n, int m, double *a, double *Q, double *F, double *s) n,m I パラメータ数,Fix解数 a I Float解 Q I Float解共分散 F O Fix解 s O 重み付残差二乗和
RTK測位 void rtkpos(infunc_t input, outfunc_t output, int mode, int nf, double *rb, double elmin, double thres, int opt) input I 入力コールバック output I 出力コールバック mode,nf,rb,elmin,thres,opt I 測位パラメータ
RTK測位 rtkpos() 観測データ入力 単独測位 精密相対測位 整数Ambiguity決定 測位解出力
精密相対測位 共通衛星選択 状態変数時間更新 二重差残差計算 観測誤差共分散計算 Kalmanフィルタ更新
整数Ambiguity決定 2重差バイアス生成 整数最小二乗 Fail 検定 Float解→Fix解計算
後処理基線解析AP rnx2rtkp [option...] file file [...] -h print help -o output output file -p mode mode (0:single,1:dgps,2:static,3:kinematic) -m mask elevation mask angle (deg) -f freq number of frequencies (1:L1,2:L1+L2) -v thres threshold of ratio-test for integer ambiguity validation -i instantaneous integer ambiguity resolution -e output x/y/z-ecef position [latitude/longitude/height] -g output latitude/longitude in the form of ddd mm ss.ss -t output time in the form of yyyy/mm/dd hh:mm:ss.ss -u col columns of time under decimal point -s sep field separator -r x y z reference (base) receiver ecef pos (m)
性能評価 定点測位 電子基準点 : 2004/1/1-12/31(30s) 基線長 : 0.3,3.3,4.3,~33.1km 評価内容 : FIX率、精度 移動体測位 自動車走行 : 42分(1Hz),54分(2Hz) 基線長 : 0.1~3.1km 評価内容 : FIX率、走行軌跡