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

シナリオ種別のページGitHub で編集ソース:docs/kinds/by-kind/leo-navmsg.md

leo-navmsg(シナリオ種別)

エンジン v0.40.0 のシナリオ種別で、ファミリーは低軌道航法です。助言のみ:研究・エンジニアリング用ツールによる解析出力であり、型式承認を受けた航法装置ではなく、人命安全(safety-of-life)サービスでもありません。ここにあるラベルはすべてエンジンまたは検証マトリクスによるものです;検証マトリクスが別途示さない限り、種別は MODELLED です(ラベルの獲得方法:README の Evidence の節)。

内容#

LEO 航法メッセージ:低軌道(LEO)の測位・航法・時刻衛星の放送エフェメリスと時計。任意の軌道、搬送波、モデルに対応し、名前付きのプリセット(Xona Pulsar、Iridium、Starlink、CentiSpace、代表的な C バンドシステム、ATOMIC ゼロクロックモデル、Celeste IOD)も任意で使えます。内容:補助データ(SVID、データ発行番号、バンド、信号健全性)、同期(週、週内時刻、toc まわりの二次の時計多項式 af0-af2)、四つのモデルのいずれかによるエフェメリス -- Galileo OS SIS ICD の16パラメーターのケプラー要素セット;そのセットに along-track、cross-track、radial の補正多項式を加えたもの;Liu ら 2025 の22パラメーターモデル;時計項のない ECEF 多項式(ATOMIC ゼロクロック)-- およびその他のサービス(Klobuchar の放送セット、実効電離レベルを伴う NeQuick-G ai0-ai2、ICD のうるう秒ロジックによる系統時刻から UTC へのパラメーター)。フィッター:選んだ次数までの帯状 J2-J6 または EGM2008 重力と抗力で積分した真値の軌道と、シード付きの自由または制御された時計;非特異要素に対するケプラー要素セットの Levenberg-Marquardt 当てはめ、続いて線形最小二乗の補正多項式;時計は、ユーザーが加える相対論項を差し引いて当てはめます。解析:fit-interval-trade(軌道高度に対する全球平均の重みを用いた信号空間距離誤差 SISRE を、当てはめ区間と更新周期に対して、軌道のみと時計込みで)、model-comparison(四つのモデル、パラメーター数、符号化ビット数、そして Liu ら の高度での Kshana の当てはめを、公表されている数値と並べて)、midpass-update(ユーザー上空で最も高いパス、各メッセージ切り替えの位置・時計・ユーザー距離のジャンプ、最悪幾何でのジャンプ、連続性しきい値に対する PASS/FAIL)、encode-decode(CRC-24Q を持つ Kshana 独自の文書化されたバイナリフレーム、フィールドごとの半刻み量子化バジェット、破損フレームの検査、Kshana 拡張と明記した RINEX-4 形式のレコードのエクスポートとインポート、そして CSV 表)。VALIDATED:SISRE の重みを公表されている MEO/GEO の表(Montenbruck ら 2018)に対して;Galileo のユーザーアルゴリズムを実際の Galileo 放送エフェメリスについて RTKLIB に対して;CRC-24Q をそのカタログのチェック値と RTCM 1005 の例示フレームに対して。MODELLED:当てはめと SISRE の数値はすべて、Kshana が積分した真値に対する表現誤差です(軌道決定や予測の誤差はありません);Liu ら との比較は異なる軌道を使っています;符号化とテキスト形式は Kshana 独自のものです。

scenarios/leo-navmsg-celeste-iod.tomlの一回の実行は次のように要約されます:LEO 航法メッセージ — 510 km、97.4 deg、重力次数20、モデル kepler-rac SISRE の重み:w_R 0.459、w_AC^2 1/2.53(マスク0 deg) encode-decode:kepler-rac モデル、フレーム152 バイト(ペイロード1156 ビット、エフェメリス+時計891 ビット)、CRC-24Q 0x58ADF2 量子化:最大の位置変化0.52 mm、時計0.09 mm;SISRE 厳密値0.0013 m、量子化後0.0013 m 破損フレームは拒否:true;RINEX 往復4.43e-6 m;CSV 往復0.00e0 m 当てはめ区間のトレードオフ(1800 s にわたる)(使用期間 = 当てはめ区間):kepler16 60 s SISRE 軌道 RMS 0.0003 m 最大0.0015 m 時計込み RMS 0.0006 m kepler16 120 s SISRE 軌道 RMS 0.0003 m 最大0.0015 m 時計込み RMS 0.0007 m kepler16 300 s SISRE 軌道 RMS 0.0036 m 最大0.0141 m 時計込み RMS 0.0037 m kepler16 600 s SISRE 軌道 RMS 0.0293 m 最大0.1023 m 時計込み RMS 0.0293 m kepler16 900 s SISRE 軌道 RMS 0.1073 m 最大0.3812 m 時計込み RMS 0.1075 m kepler-rac 60 s SISRE 軌道 RMS 0.0000 m 最大0.0000 m 時計込み RMS 0.0005 m kepler-rac 120 s SISRE 軌道 RMS 0.0001 m 最大0.0002 m 時計込み RMS 0.0007 m kepler-rac 300 s SISRE 軌道 RMS 0.0005 m 最大0.0021 m 時計込み RMS 0.0012 m kepler-rac 600 s SISRE 軌道 RMS 0.0097 m 最大0.0395 m 時計込み RMS 0.0096 m kepler-rac 900 s SISRE 軌道 RMS 0.0388 m 最大0.1143 m 時計込み RMS 0.0390 m 16パラメーターのケプラー要素セットは、60 s での0.0003 m から900 s での0.1073 m まで悪化します:一周回に二回の調和項を持つ一つのケプラー要素セットでは、LEO 弧の高周波の重力項と抗力を数分を超えて追従できず、その最小二乗残差は窓全体で振動します。ケプラー要素セットが張る次数より高次の along/cross/radial 多項式が残りを吸収し、900 s で0.0388 m になります。

入力#

スキーマ(kshana kinds --json)より:

  • 必須フィールド:なし
  • 任意フィールド:name、description、seed、analysis、preset、orbit、clock、message、trade、comparison、midpass

例のscenarios/leo-navmsg-celeste-iod.tomlでは、とりわけ次を設定しています:

フィールド 値 単位
analysis [encode-decode, fit-interval-trade] 記載なし
kind leo-navmsg テキスト
message.csv_schema celeste-iod テキスト
name Celeste IOD メッセージ(ワークショップ用プリセット) テキスト
preset celeste-iod テキスト
seed 15 記載なし
trade.fit_intervals_s [60, 120, 300, 600, 900] s
trade.models [kepler16, kepler-rac] 記載なし
trade.span_s 1800 s
trade.update_fit_interval_s 300 s
trade.update_periods_s [60, 150, 300] s

実行する#

kshana scenarios/leo-navmsg-celeste-iod.toml

5件の同梱シナリオがこの種別を使います;残りはscenarios/にあります。

得られるもの#

その実行のスカラー結果。単位はエンジンが示すとおりです:

結果 値 単位
encode_decode.corrupted_frame_rejected true フラグ
encode_decode.crc24q 0x58ADF2 テキスト
encode_decode.crc24q_check_value_123456789 0xCDE703 テキスト
encode_decode.csv_round_trip_max_pos_m 0 m
encode_decode.csv_schema celeste-iod テキスト
encode_decode.ephemeris_clock_bits 891 bit
encode_decode.frame_bytes 152 byte
encode_decode.model kepler-rac テキスト
encode_decode.payload_bits 1156 bit
encode_decode.quantised_max_clock_m 9.4929e-5 m

結果ラベル(エンジンによるもの):MIXED — VALIDATED の構成要素、MODELLED の結果。SISRE の重みは公表されている MEO/GEO の表(Montenbruck ら 2018)を再現し、Galileo ICD のユーザーアルゴリズムは実際の Galileo 放送エフェメリスについて RTKLIB を再現し、CRC-24Q はそのカタログのチェック値と RTCM 1005 の例示フ

エンジンが scenarios/leo-navmsg-celeste-iod.toml(種別 leo-navmsg)について出力するグラフ

エビデンス#

MODELLED 5 · VALIDATED 6:この種別を挙げる検証マトリクスの行です。

  • VALIDATED leo_navmsg::sisre::sisre_weights:動径方向の重み w_R と、横方向の二乗の重み w_AC^2 を、仰角以上の可視な地球キャップ上に一様に分布するユーザーについて、視線方向の天底角の cos^2 と半分の sin^2 の平均として求めます
  • VALIDATED leo_navmsg::elements::kepler_point:Galileo OS SIS ICD のケプラー要素の評価(ケプラー方程式、二次調和補正、地球固定の昇交点)を、エンジンの RINEX 評価器とは別に記述したもので、引数付きの位置を返します テスト:leo_navmsg_reference.rs。
  • VALIDATED leo_navmsg::codec::crc24q:生成多項式 0x1864CFB、初期値0、反転なし、最終 XOR なし、Kshana の LEO フレームが先行するすべてのバイトにわたって持つ検査値
  • VALIDATED leo-navmsg種別のフィッターとトレードオフ:選んだ次数までの帯状 J2-J6 または EGM2008 重力と抗力で積分した真値の軌道と、シード付きの自由または制御された時計;非特異
  • さらに7件が検証マトリクスにあります。

実行そのものが検証した行と、マトリクスが各行に示すオラクル(公開ソースはそこに記載されています):

  • MODELLED決定論的、シナリオハッシュ付き、SBOMとクロスプラットフォームのゴールデンゲート。オラクル(ExternalDataset):公式のCycloneDX 1.5 JSON Schema(および有効なSPDX識別子)へのSBOM適合性。これは外部の公開標準であり、依存関係グラフ全体で検証エラーはゼロです。FoMの決定論性とバイト単位の再現性の部分は固定された自己整合性チェックのままであるため、この行はMODELLEDのままです
  • VALIDATED leo_navmsg::sisre::sisre_weights:動径方向の重み w_R と、横方向の二乗の重み w_AC^2 を、cos^2 と半分の sin^2 の平均として、視線方向の天底。オラクル(ExternalDataset):Montenbruck、Steigenberger、Hauschild(2018)が公表している SISRE 重み係数の表、Multi-GNSS signal-in-space range error assessment - Methodology and results、Advances in Space Research 61(12):3020-3038、doi 10.1016/j.asr.2018.03.041:GPS 0.98 と 1/49、GLONASS 0.98 と 1/45、Galileo 0.98 と 1/61、BeiDou MEO 0.98 と 1/54、BeiDou IGSO/GEO 0.99 と 1/126。LEO の軌道半径で評価した同じ平均は、
  • VALIDATED leo_navmsg::elements::kepler_point:Galileo OS SIS ICD のケプラー要素の評価(ケプラー方程式、二次調和補正、地球固定の昇交点)を、別個に記述。オラクル(ExternalDataset):RTKLIB 2.4.2-p13 の eph2pos による ECEF 位置(同じ ICD アルゴリズムの独立した実装)を、2024-09-10 の実際の BKG/IGS 放送レコードについて求めたもので、どちらも出所とともに tests/fixtures/rinex_sp3_interop(NOTICE、rinex_ecef_reference.txt、brdc_multignss_slice.rnx)にコミットされています。これはケプラー要素のユーザーアルゴリズムを検証するものです;その上に加える along/cross/radial 補正は独自の行で扱われ、Liu の項は
  • VALIDATED leo_navmsg::codec::crc24q:生成多項式 0x1864CFB、初期値0、反転なし、最終 XOR なし、Kshana の LEO フレームが先行するすべて。オラクル(ExternalDataset):これらのパラメーターに対する CRC カタログのチェック値(reveng.sourceforge.io の CRC カタログ、CRC-24/LTE-A:幅24、poly 0x864CFB、init 0、check 0xCDE703)で、これは RTCM 10403 と Galileo OS SIS ICD の CRC-24Q パラメーターであり、RTCM 10403 に掲載されているメッセージタイプ1005 の例示フレーム
  • VALIDATED leo-navmsg種別のフィッターとトレードオフ:選んだ次数までの帯状 J2-J6 または EGM2008 重力と抗力で積分した真値の軌道と、シード付きの自由または制御。オラクル(ExternalDataset):真値としての実際の精密科学軌道(TU Graz IfG/ITSG の運用リダクト・ダイナミック軌道、謝辞を付ければ自由に利用可能;SHA-256 値はフィクスチャーの NOTICE に記載)を、20 分と30 分の弧にわたって16パラメーターセットで当てはめ、Liu ら 2025(Remote Sensing 17(16):2894、CC BY 4.0)が同じ衛星と日について公表している統計と比較:along、cross、radial の RMS はいずれも1.5x 以内(実測0.804~1.087)、SISR

制限事項#

実行そのものの報告が、モデル化されていない、または検証されていないとしている内容:

  • SISRE は、メッセージが当てはめられた真値に対するメッセージの表現誤差です;軌道決定誤差と軌道予測誤差はモデル化していません。(結果limitations[0])
  • 真値の軌道は Kshana の数値積分(帯状または EGM2008 重力、静的な指数関数型抗力)であり、実際の衛星の精密軌道ではありません;第三体、太陽放射圧、潮汐はありません。(結果limitations[1])
  • バイナリ形式は、公表されているメッセージ構成要素をもとにした Kshana 独自の文書化された符号化であり、Celeste やその他のシステムのビット配置ではありません(いずれも非公開です)。(結果limitations[2])
  • RINEX 形式のブロックは文書化された Kshana 拡張です;RINEX 4.02 は LEO 航法レコードを定義していません。(結果limitations[3])
  • NeQuick-G の係数は搬送されて実効電離レベルは計算されますが、それを遅延に変換する NeQuick の電子密度積分は実装されていません;Klobuchar の遅延は実装されており、1/f^2 で搬送波に換算しますが、電離圏内を飛ぶ衛星に対する補正はありません。(結果limitations[4])
  • Liu ら 2025 の22パラメーターの項は、論文のユーザーアルゴリズム(式 1-7)と当てはめ戦略(節2.3)に従っています;その SISRE の高度依存の数値は実際の精密軌道を使っているため、Kshana が積分した軌道でのこの比較は MODELLED であり、VALIDATED ではありません(実軌道での比較は tests/leo_navmsg_fit_real_orbit_oracle.rs です)。(結果limitations[5])
  • MIXED — VALIDATED の構成要素、MODELLED の結果。SISRE の重みは公表されている MEO/GEO の表(Montenbruck ら 2018)を再現し、Galileo ICD のユーザーアルゴリズムは実際の Galileo 放送エフェメリスについて RTKLIB を再現し、CRC-24Q はそのカタログのチェック値と RTCM 1005 の例示フレームを再現します。当てはめ、SISRE、連続性、量子化の数値はすべて MODELLED です:メッセージの表現誤差を、次に対して(結果label)
  • MODELLED:当てはめと SISRE の数値はすべて、Kshana が積分した真値に対する表現誤差です(軌道決定や予測の誤差はありません);Liu ら(種別カタログ(kshana kinds --json))

関連項目#