機械翻訳であり、ネイティブスピーカーによる確認は行われていません。英語版が基準です。

受信機の信頼性と海事GitHub で編集ソース:docs/MACHINE-INPUTS.md

マシン入力とセンサー入力(0.38)

他の受信機、ソルバー、センサーを receiver-trust 種別に取り込むためのリーダーです。いずれも読み取り専用です:バイト列またはテキストに対する純粋関数で、UBX、RINEX、Android、NMEA の各リーダーが返すものと同じタイムラインを返し、壊れたレコードは失敗とせずに読み飛ばして数えます。ここにあるものはすべて MODELLED です:形式は公開ドキュメントから読み取ったものであり、明記したもの以外には、外部のオラクルと照合して確認された結果はありません。

助言用ソフトウェア。型式承認を受けた航法装置ではありません。船舶の安全な航行の責任は引き続き運用者にあります。

`kshana imu-fit` が静止した IMU ログから読み取る内容。エンジン v0.40.0 の、作成したログ(100 Hz で 20,000 サンプル、200 s)に対する実際の実行によるもの:加速度計の速度ランダムウォーク q_va = 4.02e-06、ジャイロの角度ランダムウォーク q_arw = 9e-08、バイアス不安定性 0.00296、そして初期のアラン偏差の傾き(-0.51 と -0.49。白色雑音が支配的な場合は約 -0.5)。横の表は、このコマンドが出力する TOML です。推定器は合成ログでのみ検査しています。助言のみ:研究・エンジニアリング用ツールによる解析出力であり、型式承認を受けた航法装置ではなく、人命安全(safety-of-life)サービスでもありません。`kshana imu-fit` が静止した IMU ログから読み取る内容。エンジン v0.40.0 の、作成したログ(100 Hz で 20,000 サンプル、200 s)に対する実際の実行によるもの:加速度計の速度ランダムウォーク q_va = 4.02e-06、ジャイロの角度ランダムウォーク q_arw = 9e-08、バイアス不安定性 0.00296、そして初期のアラン偏差の傾き(-0.51 と -0.49。白色雑音が支配的な場合は約 -0.5)。横の表は、このコマンドが出力する TOML です。推定器は合成ログでのみ検査しています。助言のみ:研究・エンジニアリング用ツールによる解析出力であり、型式承認を受けた航法装置ではなく、人命安全(safety-of-life)サービスでもありません。

RTKLIB .pos(format = "rtklib-pos")#

RTKLIB の rnx2rtkp と RTKPOST が書き出す解ファイル。読み取る内容:時刻(暦 yyyy/mm/dd hh:mm:ss.sss、または GPS 週と週内秒)、位置(度単位の緯経度と高さ、または測地座標に変換した ECEF X/Y/Z)、衛星数。列見出しにある時刻系(GPST、UTC、JST)は、ラベルに引き継がれます。度分秒のファイルは拒否されます。% で始まる行はヘッダー行です。

NovAtel OEM7(format = "novatel")#

ASCII(#BESTPOSA,...*crc)とバイナリ(AA 44 12 ヘッダー)のログを、自由に混在させて読めます。レイアウトは公開の OEM7 ドキュメント(docs.novatel.com)に従います:メッセージヘッダー、32 ビットの CRC、三つのログのフィールド表。CRC が一致しないレコードは読み飛ばして数えます。

ログ ID 使用する項目
BESTPOS 42 解のステータス(SOL_COMPUTED のみが測位解を与える)、緯度、経度、平均海面からの高さにジオイド高を加えたもの(測位解の高さは楕円体高)、使用衛星数
RANGE 43 信号ごとの C/No(dB-Hz)。システムは追尾ステータスのビット 16-18、信号タイプはビット 21-25 から
RXSTATUS 93 受信機ステータスのビット 15(ジャマー検出)は、エポックの self_report になります(ジャミングは 2、なしは 1。RXSTATUS にスプーフィングのフラグはありません)。これは receiver-self-report によって Kshana の警報と比較されます。補助の 1 ジャマービット(RF1-RF6)は NovatelRead.status で返されます

CRC ルーチンは、ドキュメントが自身の BESTPOSA の例について示す CRC と照合して検査しました(引用であり、転載ではありません)。テストには自作の行を使います。読み取らないもの:省略形の ASCII、その他のログ。ジャマーのフラグは受信機自身の報告であり、Kshana の判断ではありません。Kshana の監視との一致は、外部の参照と照合して確認したことにはなりません。

GNSS-SDR(format = "gnss-sdr")#

integrations/gnss-sdr/README.md を参照してください。GNSS-SDR の NMEA と RINEX の出力は、すでに nmea と rinex で読み取れます。Monitor と PVT-monitor の UDP ストリーム(Protocol Buffers)は、relay.py で JSON Lines に中継され、gnss-sdr で読み取れます。

IMU([log.imu])#

format = "csv":列を名前で示すヘッダー行に続き、一行につき一サンプル。列(順不同、名前は大文字小文字を区別しない):t_s は受信機ログのクロックでの秒、gx、gy、gz は rad/s 単位の角速度、ax、ay、az は m/s² 単位の比力。format = "euroc":EuRoC MAV の imu0 data.csv レイアウト(#timestamp [ns]、w_RS_S_x/y/z [rad s^-1]、a_RS_S_x/y/z [m s^-2])。最初のサンプルは t_s = 0 です。解析できない行と、時刻が増加しない行は読み飛ばされます。ジャイロの方位の使い方は RECEIVER-TRUST.md を参照してください。

IMU をハイブリッドとフュージョンのシナリオに取り込む(kshana imu-fit)#

hybrid と fusion(17 状態の UKF)のシナリオはシミュレーションです:測定した時系列ではなく、センサーのノイズパラメーター([accel_quantum]、[accel_classical]:bias、q_va、gyro_bias、q_arw、bias_instability)を受け取ります。imu-fit は静止した IMU ログからそれらのパラメーターを読み取るため、実際に持っているセンサーでシナリオを実行できます:

kshana imu-fit still.csv --format csv --axis x --expected-mean 0 --id bench-imu      # prints the TOML table
kshana imu-fit still.csv --axis z --expected-mean 9.80665 --json                     # whole report

方法:積分した信号のオーバーラッピング・アラン偏差(allan::overlapping_adev_curve):q_va = (sigma(tau0) sqrt(tau0))^2、z ジャイロについても同様(q_arw)、bias と gyro_bias は平均値とし、bias_instability は、曲線がその後上昇に転じる場合の曲線の最小値とします。q_aa は当てはめません(下限よりはるかに長いログが必要です)。レポートには、ログのレートと期間、各チャンネルの初期のアラン偏差の傾き(白色雑音が支配的な場合は約 -0.5)が含まれます。静止していないログ、短すぎるログ(2000 サンプル未満)、不均一にサンプリングされたログは、拒否されるか、傾きが警告するパラメーターを与えます。表の出所には、ログの SHA-256 が示されます。MODELLED:推定器は、係数が既知の合成白色雑音ログで検査したものであり(10 % 以内で復元)、外部のオラクルと照合したものではありません。CLI、Python(imu_fit)、WebAssembly(imu_fit)、MCP(fit_imu_log)、プラグイン(/kshana-fit-imu)で利用できます。

RTCM 3 MSM4 と MSM7(format = "rtcm3")#

RTCM 3 フレームのバイトストリーム(基準局または受信機の観測出力)。読み取る内容:MSM4 と MSM7 のメッセージ(GPS 1074/1077、GLONASS 1084/1087、Galileo 1094/1097、SBAS 1104/1107、QZSS 1114/1117、BeiDou 1124/1127、NavIC 1134/1137):エポックと、各信号セルの搬送波対雑音比(MSM4:6 ビット、dB-Hz。MSM7:10 ビット、1/16 dB-Hz)で、これは C/N0 の監視が必要とするものです。疑似距離と位相のフィールドは読み飛ばし、使用しないため、RTCM が信頼度の監視に与えるのは C/N0 のみです。MSM には位置は含まれません。CRC-24Q が不正なフレームは読み飛ばして数えます。

レイアウトの出どころ。RTCM 規格(有料の文書であり、参照していません)からではなく、オープンソースのデコーダー pyrtcm 1.2.0(BSD 3-Clause)から得ています。そのライセンスと通知は NOTICE にあります(2026 年十月18 日の所有者の決定:「オープンなデコーダーを使う」)。pyrtcm は、その表が RTCM 10403.3 に従っていると述べています。Kshana は pyrtcm のライセンスのもとで公開された表に依拠しており、規格についての主張は行いません。時刻:MSM は週を持たないため、ラベルは GPS TOW <s> と読みます。GLONASS のエポック(モスクワ時間)は、GPS-UTC = 18 s(2017-01-01 以降の値)で GPS 時刻に変換されます。

照合した対象:CRC-24Q のカタログのチェック値(123456789 は 0xCDE703 を与える)と、開発中に一度限り行った、同じ自作フレームに対する pyrtcm 自身のデコーダー(同じ C/N0)。フィクスチャは自作です。実際の受信機からの取得データはないため、リーダーは、実際のデータを一つ読むまでは MODELLED です。