浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【GNSS】rtklibexplorerによるRTKRCV設定の解説の意訳

rtklibexplorerはRTKLIBについてとても詳しい人のブログです。この記事はこのブログに書かれた次の記事、RTKLIBの設定ガイドの訳になります。この記事で説明されている設定ファイルはrtklibexplorerの作成したRTKLIB派生ライブラリについての設定ファイルですが、大部分はRTKLIBと共通です。RTKLIBそのもののドキュメントには設定に関する説明が少ないので結構あてになります。
Updated guide to the RTKLIB configuration file – rtklibexplorer
 以下が訳になります。もともと自分のメモ用なので欠けなり補完なりがあるでしょうがご容赦ください。

SETTING1

pos1-posmode = static, kinematic, static-start, movingbase, fixed

受信機が静止している場合は, “static”を使用します。
動いている場合は, “kinematic”または”static-start”を使用します。
“static-start”は, 最初の修正が達成されるまで受信機が静止していると仮定し, 次に動的モードに切り替えて, カルマンフィルターが受信機が最初は動いていないという知識を利用できるようにします。
ベースが受信機と同様に移動している場合は”movingbase”を使用できますが, ベースが長距離移動している場合を除き, 必須ではありません。ベースが動いていても, “kinematic”は”movingbase”よりも優れたソリューションを提供することがよくあります。
“movingbase”モードはdynamicsと互換性がないため, 両方を同時に有効にしないでください。baseとroverの残差があるが場合, 固定距離を離して, “movingbase”モードのときに”pos2-baselen”と”pos2-basesig”を設定します。受信機の正確な位置がわかっていて, 残差の分析にのみ関心がある場合は, “fixed”を使用します。

pos1-frequency = l1

単一周波数受信機の場合は”l1″, ローバーがデュアル周波数GPS / GLONASS / Bediouの場合は”l1 + l2″, Galileo E5bが含まれる場合は”l1 + l2 + e5b”。demo05 b33コード以降, ガリレオE5bはL2ソリューションに含まれているため, “l1 + l2″は”l1 + l2 + e5b”と同等です。

pos1-soltype = forward, backward, combined

計算方向。forwardは時系列順、backwardは時系列逆順、combinedは両方向からの計算の合成。

pos1-elmask = 15 (deg)

位置の計算に使用するための最小衛星高度。通常, マルチパスをソリューションに取り込む機会を減らすために, これを10〜15度に設定しますが, この設定はローバー環境に依存します。空が開けているほど, この値を低く設定できます。

pos1-snrmask-r =off, pos1-snrmask-b =off, on

位置の計算に使用するローバー(_r)およびベース(_b)の最小衛星SNR。信号品質をより直接的に測定するため, 標高よりも劣悪な衛星を除去するためのより効果的な基準になる可能性がありますが, 最適値は受信機のタイプとアンテナのタイプによって異なるため, 調整する必要がないように多くの場合, 省略します。

pos1-snrmask_L1 =35,35,35,35,35,35,35,35,35

仰角5度ごとにSNRしきい値を設定します。通常, すべての値を同じままにして, 公称SNRに応じて35〜38 dbの値を選択します。これらの値は, pos1-snrmask_xがonに設定されている場合にのみ使用されます。デュアル周波数を使用している場合は, “pos1-snrmask_L2″も設定する必要があります

pos1-dynamics = on

ローバーダイナミクスを有効にすると, ローバーのカルマンフィルターに速度と加速度の状態が追加されます。”kinematic”および”static-start”の結果は改善されますが, “static”モードにはほとんどまたはまったく効果がありません。リリースコードは, ダイナミクスを有効にすると著しく遅くなりますが, demo5コードは問題ないはずです。ローバーの加速特性に合わせて, “prnaccelh”と”prnaccelv”を適切に設定してください。ローバーダイナミクスは”movingbase”モードと互換性がないため, そのモードを使用する場合はオフにします。

pos1-posopt1 =off, on (Sat PCV)

衛星アンテナの位相中心変動を使用するかどうかを設定します。RTKの場合は”off”のままにしますが, PPPの場合は”on”に設定します。”on”に設定した場合, ファイルパラメータで衛星アンテナPCVファイルを指定する必要があります。

pos1-posopt2 =off, on(Rec PCV)

受信機アンテナの位相中心変動を使用するかどうかを設定します。onに設定した場合, filesパラメーターでレシーバーアンテナPCVファイルを指定し, アンテナセクションでベースとローバーのレシーバーアンテナのタイプを指定する必要があります。IGSから入手可能なアンテナファイルには調査グレードのアンテナのみが含まれているため, アンテナがファイルにある場合にのみ使用してください。これは主にz軸の精度に影響を与えるため, 高さを気にする場合に重要になることがあります。両方のアンテナがキャンセルされるため, 両方のアンテナが同じ場合は, これを”off”にしておくことができます。

pos1-posopt5 =off, on(RAIM FDE)

衛星の残差がしきい値を超えると, その衛星は除外されます。これにより, 非常に大きなエラーのある衛星のみが除外されますが, かなりの計算が必要になるため, 通常は無効にします。

pos1-exclsats =

衛星が悪いことがわかっている場合は, ここにリストして衛星をソリューションから除外できます。衛星が悪いと思われる場合, デバッグのためにこれを使用するのはまれです。

pos1-navsys = 7, 15,

一般に情報が多いほど良いので, 私は常にGLONASSとSBAS satsを含めます。M8Tで新しい3.0 u-bloxファームウェアを使用する場合, Galileoも有効にします。

SETTING2

pos2-armode =continuous, fix-and-hold

整数のあいまいさの解決方法。”continuous”モードでは, 修正を利用して位相バイアス状態を調整しないため, 誤った修正の影響を最も受けません。”fix-and-hold”では, 修正からのフィードバックを使用して, あいまいさを追跡します。”fix-and-hold”を使用して, トラッキングゲイン(pos2-varholdamb)を十分に低く調整して, 誤った修正の可能性を最小限に抑えることを好みます。”armode”が”fix-and-hold”に設定されていない場合, pos2-gloarmodeなど, ホールドを参照する以下のオプションは適用されません。

pos2-varholdamb = 0.001, 0.1(m)

demo5コードでは, “fix-and-hold”のトラッキングゲインをこのパラメーターで調整できます。実際にはゲインではなく分散であるため, 値を大きくするとゲインが低くなります。0.001がデフォルト値です。100を超える値はほとんど効果がありません。この値は, ホールド中に生成される疑似測定値の分散として使用され, カルマンフィルターのバイアス状態を整数値に向けてフィードバックするフィードバックを提供します。ほとんどの場合, 0.1から1.0の値は, 誤った修正の追跡を回避しながら, 追跡を支援するのに十分なゲインを提供します。

pos2-gloarmode = on, fix-and-hold, autocal

GLONASS satsの整数あいまいさの解決。レシーバーが同一の場合, 通常は初期設定時にGLONASS satsを整数あいまいさの解決に使用できるため, これを優先設定である”on”に設定できます。レシーバーが異なる場合, または2つのu-blox M8Nレシーバーを使用している場合, ARソリューションにGLONASSサテライトを含める場合は, このパラメーターを”fix-and-hold”に設定してチャネル間バイアスをゼロにする必要があります。この場合, GLONASS satsは, 最初のホールド後に開始されるチャネル間バイアスが調整されるまで, あいまいさの解決に使用されません。”autocal”オプションもありますが, 2.4.3verでこれを機能させることはできませんでした。demo5コードでは, この機能に初期のチャネル間バイアス, 分散, およびキャリブレーションゲインをプリセットする機能を追加しました。次に, 特定のレシーバーペアの既知の値にバイアスを設定し, ゲインを非常に低く設定します。これにより, 機能の自動キャリブレーションの側面が無効になりますが, RTKLIBにはないバイアスを指定するメカニズムが提供されます。”autocal”が使用される場合, GLONASSサテライトが最初の取得に使用されます。”autocal”機能を使用して, 反復アプローチを使用して, ゼロまたは短いベースラインでチャネル間バイアスを決定することもできます。これにより, 機能の自動キャリブレーションの側面が無効になりますが, RTKLIBにはないバイアスを指定するメカニズムが提供されます。”autocal”が使用される場合, GLONASSサテライトが最初の取得に使用されます。”自動”機能を使用して, 反復アプローチを使用して, ゼロまたは短いベースラインでチャネル間バイアスを決定することもできます。これにより, 機能の自動キャリブレーションの側面が無効になりますが, RTKLIBにはないバイアスを指定するメカニズムが提供されます。”autocal”が使用される場合, GLONASSサテライトが最初の取得に使用されます。”自動”機能を使用して, 反復アプローチを使用して, ゼロまたは短いベースラインでチャネル間バイアスを決定することもできます。

pos2-gainholdamb = 0.01

demo5コードでは, GLONASS衛星のチャネル間バイアスキャリブレーションのゲインをこのパラメーターで調整できます。

pos2-arthres = 3

これは, あいまいさ解決ソリューションに修正を宣言するのに十分な信頼性があるかどうかを判断するために使用されるしきい値です。これは, 2番目に最適なソリューションの残差の2乗と最適なソリューションの比率です。通常, これを常にデフォルト値の3.0のままにして, 他のすべてのパラメーターを調整してこのパラメーターを回避します。大きなAR比は, 低いAR比よりも高い信頼性を示しますが, 2つの間に一定の関係はありません。カルマンフィルター状態の誤差が大きいほど, その解の信頼度は, 特定のAR比に対して低くなります。一般に, カルマンフィルターのエラーは, 最初に収束するときに最大になるため, これが誤った修正を取得する可能性が最も高い時間です。pos2-arthers1を減らすと, これを回避できます。

pos2-arfilter = on

これを”on”に設定すると, 新しいsatsまたはサイクルスリップから回復するsatsが修飾されます。satが最初に追加されたときにAR比が大幅に低下した場合, あいまいさの解決にその使用が遅れます。これを”on”にすると, “arlockcnt”を減らすことができます。これは, 同様の目的を果たしますが, ブラインド遅延カウントがあります。

pos2-arthres1 = 0.004-0.10

整数のあいまいさの解決は, 位置状態の分散がこのしきい値に達するまで遅延されます。これは, カルマンフィルターのバイアス状態が収束する前に誤った修正を避けることを目的としています。eratio1を100より大きい値に設定した場合, または単一のコンスタレーションソリューションを使用している場合は, これを比較的低い値に設定することが特に重要です。ソリューションのAR比が0を超えている場合, この値を増やす必要があります。これは, しきい値にまだ達していないため, あいまいさの解決が無効になっていることを意味するためです。通常は0.004から0.10で十分ですが, 測定値の品質が低い場合は, 最初の修正が過度に遅延したり, 複数のサイクルスリップが発生した後に修正が失われたりしないように, これを増やす必要があります。

pos2-arthres2

周波数スロットごとのメートル単位の相対的なGLONASSハードウェアバイアス。このパラメーターは, pos2-gloarmodeが”autocal”に設定されている場合にのみ使用され, 2つの異なる受信機メーカー間のチャネル間バイアスを指定するために使用されます。一般的なレシーバータイプの適切な値を見つける方法, およびこのパラメーターを反復検索に使用して, 指定されていないレシーバータイプの値を見つける方法については, この投稿を参照してください。このパラメーターは定義されていますが, RTKLIB 2.4.3では使用されていません

pos2-arthres3 = 1e-9,1e-7

GLONASSハードウェアバイアス状態の初期変動。このパラメーターは, pos2-gloarmodeが”autocal”に設定されている場合にのみ使用されます。値が小さいほど, pos2-arthres2で指定された初期値により大きな重みが与えられます。pos2-arthres2が既知のバイアスに設定されている場合は1e-9を使用し, 反復検索には1e-7を使用します。このパラメーターは定義されていますが, RTKLIB 2.4.3では使用されていません

pos2-arthres4 = 0.00001,0.001

GLONASSハードウェアバイアス状態のカルマンフィルタープロセスノイズ。値が小さいほど, pos2-arthres2で指定された初期値により大きな重みが与えられます。pos2-arthres2が既知のバイアスに設定されている場合は0.00001を使用し, 反復検索には0.001を使用します。このパラメーターは定義されていますが, RTKLIB 2.4.3では使用されていません

pos2-arlockcnt = 0, 5

整数のあいまいさの解決に使用する前に, サイクルスリップから新しいsatまたはsatの回復を遅延させるサンプルの数。AR比率の破損が, まだ収束する時間がなかったsatを含めることを回避します。”arfilter”と組み合わせて使用します。単位は時間単位ではなくサンプル単位であるため, ローバー測定のサンプルレートを変更する場合は調整する必要があります。通常, 疑わしい観測にフラグを立てるのに非常に優れているu-bloxレシーバーではこれをゼロに設定しますが, 他のレシーバーでは少なくとも5に設定します。demo5 RTKLIBコードを使用しない場合は, “arfilter”機能がサポートされていないため, これを高く設定します。

pos2-minfixsats = 4

修正を取得するために必要なsatsの最小数。特に頻繁なサイクルスリップの期間中に, 非常に少数の衛星からの誤った修正を回避するために使用されます。

pos2-minholdsats = 5

整数のあいまいさの結果を保持するために必要なsatsの最小数。非常に少数の衛星からの誤保留を回避するために使用されます。特に, 頻繁なサイクルスリップの期間中に使用されます。

pos2-mindropsats = 10

各エポックのあいまいさの解決から単一の衛星を除外できるようにするために必要なsatsの最小数。各エポックで, 異なる衛星が除外されます。衛星を除外すると, AR比が大幅に改善される場合, その衛星はARに使用される衛星のリストから削除されます。

pos2-rcvstds = on, off

この機能を有効にすると, 受信機によって報告された測定値の標準偏差に基づいて, 生の擬似距離と位相測定値の観測値の測定値の差異が調整されます。この機能は現在, u-bloxレシーバーでのみサポートされています。分散の調整は, stats-errphaseelパラメーターに基づいた衛星高度の調整に追加されます。通常, これをオフにするとより良い結果が得られます。

pos2-arelmask = 15

機能的にはデフォルトのゼロと変わりません。”elmask”より小さい標高はあいまいさの解決に使用されないため, 混乱を避けるために変更しました。

pos2-arminfix = 20-100(5-20 * sample rate)

あいまいさを保持するために必要な連続修正サンプルの数。これを増やすことは, おそらく誤った保留を減らす最も効果的な方法ですが, 最初の保留までの時間と保留を再取得する時間も増加します。あいまいさの追跡ゲインが減少し(つまり, pos2-varholdambが増加するにつれて), 観測数が増加するにつれて, arminfixを減少させることができます。ローバー測定のサンプルレートが変更された場合も, この値を調整する必要があることに注意してください。

pos2-elmaskhold = 15

機能的には, デフォルトのゼロと違いはありません。”elmask”より小さい標高はあいまいさの解決結果を保持するために使用されないため, 混乱を避けるために変更しました。

pos2-aroutcnt = 100(20 * sample rate)

あいまいさがリセットされる, 連続して欠落しているサンプルの数。繰り返しますが, ローバー測定のサンプルレートが変更された場合, この値を調整する必要があります。

pos2-maxage = 100

ローバー測定と基本測定(差の年齢)間の最大遅延(秒単位)。これは通常, 不正な無線リンクから測定値が欠落しているために発生します。最初の修正と保留の後にドロップアウトが発生すると仮定して, この値がかなり大きくなった場合でも, まだ良い結果が得られることが多いため, デフォルトから増やしました。

pos2-rejionno = 1000, 0.2

適合前の残差がメートル単位のこの値より大きい場合, 測定値を拒否します。RTKLIBは外れ値の測定をうまく処理できないことがわかったので, これを効果的に無効にするのに十分な大きさに設定しました。
通常, 外れ値のフラグ付けが得意でない非u-bloxレシーバーでは, 外れ値を処理するためにこれをデフォルトの30以下に戻す必要がある場合がありますが, これは他の問題を引き起こす可能性があるため, トレードオフです, 特にカルマンフィルターの初期収束で。

バージョンb33以降のdemo5コードでは, 外れ値の拒否が改善されました。外れ値測定の処理が改善されたことに加えて, この数値をコードおよび位相測定に適用する方法が変更されました。以前は, この値はコードと位相の両方の測定値を調整せずに適用されていました。新しいバージョンでは, この値は調整されずに位相測定値に適用されますが, コード測定値の比率が乗算されます。これにより, 位相測定に適した値に設定できます。通常は0.2に設定します。これは, フラグのないサイクルスリップをキャッチして拒否するのに非常に役立ちます。

OUTPUT:

out-solformat = enu, llh, xyz

私は通常, ローバーとベースの相対的な距離に興味があるので, これを”enu”に設定します。絶対位置に関心がある場合は, これを”llh”に設定しますが, “ant2″設定で正確なベース位置を設定してください。正確なz軸測定が必要な場合は, この設定に注意してください。ローバーが一定の高度にある場合, llh形式のみが一定のz高さを提供します。”Enu”と”xyz”はデカルト座標であるため, z軸は地球の曲率ではなく平面に沿っています。これは, 基地局がローバーからより遠くにある場合, 曲率が距離とともに増加するため, 特に大きなエラーにつながる可能性があります。

out-outhead = on

ソリューションに機能的な違いはなく, 結果ファイルに詳細情報を出力するだけです。

out-outopt = on

ソリューションに機能的な違いはなく, 結果ファイルに詳細情報を出力するだけです。

out-outstat =residual

ソリューションに機能的な違いはなく, 残差をファイルに出力するだけです。残差は, ソリューションの問題をデバッグするのに非常に役立ちます。また, 残差ファイルがソリューションファイルと同じフォルダーにある限り, RTKPLOTでプロットできます。

stats-eratio1 = 300; stats-eratio2 = 300

擬似距離測定値と搬送波位相測定値の標準偏差の比率。低価格の受信機には大きな値が適していますが, ノイズの多い擬似距離測定値が少ないため, デフォルトの値100はより高価な受信機に適していることがよくあります。値を大きくすると, カルマンフィルターの収束が速くなり, 最初の修正が速くなりますが, 誤った修正の可能性も高くなります。この値を増やす場合は, カルマンフィルターが収束する前に修正を見つけられないように, pos2-arthres1を十分に低く設定する必要があります。この値を大きくすると, 擬似範囲平滑化アルゴリズムの時定数が増加するのと同様の効果があり, 低周波数成分を維持しながら, 擬似距離測定でより高い周波数をより多く除去できると思います。

stats-prnaccelh = 3.0

受信機のdynamicsが”on”になっている場合, この値を使用して, 水平成分のローバー受信機の加速度の標準偏差を設定します。この値には, 低周波数だけでなく, すべての周波数での加速度が含まれている必要があります。ローバーアンテナ全体の動きだけでなく, ローバーアンテナの動きを特徴付ける必要があるため, 思ったよりも大きくなる可能性があります。それには, ローバー全体のより明白な剛体加速度だけでなく, 振動, 道路の隆起などからの加速度も含まれます。この値を大きな値に設定してソリューションを実行し, RTKPLOTを使用してソリューションファイルの加速度値を調べることで推定できます。

stats-prnaccelv = 1.0

多くのアプリケーションでは意図的な加速度はすべて水平成分にあるため, 水平加速度に関するコメントは垂直加速度成分にさらに適用されます。この値は, 剛体ローバーの予想ではなく, 実際のGPS測定データから導出するのが最善です。これらの値を過小評価するよりも, 過大評価する方が適切です。

ant2-postype = rinexhead, llh, single

これは, 基地局アンテナの位置です。ベースとローバー間の相対距離のみに関心がある場合, この値は特に正確である必要はありません。後処理には, 通常, RINEXファイルヘッダーからおおよそのベースステーションの場所を使用します。ソリューションの絶対位置が必要な場合は, ベースステーションの位置がより正確である必要があります。これは, その位置にエラーがあると, ローバーの位置エラーが増えるためです。絶対位置が必要な場合は, 最初に近くの基準局に対して基地局データを処理して正確な位置を取得し, “llh”または”xyz”オプションを使用してその位置を指定します。リアルタイム処理では, データから単一のソリューションを使用して基地局の位置の大まかな推定値を取得する”single”オプションを使用します。

ant2-maxaveep = 1

“postype”が”single”に設定されている場合, 基地局の位置を決定するために平均化されるサンプルの数を指定します。これを1に設定すると, カルマンフィルターが収束し始めた後に基地局の位置が変化しないようになります。後処理のほとんどの場合, ベースステーションの場所はRINEXファイルヘッダーから取得されるため, この設定は使用しません。ただし, RTCMファイルを使用している場合は, 後処理にもこれが必要になる場合があります。

MISC

misc-timeinterp = off, on

基地局の観測値を補間します。基地局の観測サンプル時間が5秒を超える場合, 通常, これを”on”に設定します。

  • この記事いいね! (0)