検証ステータス
許容差について。以下で「確認済み」とは、シミュレーションされた統計量が参照となる関係式と一致することを、強制されるゲートの範囲内で較正試験が検証していることを指し、アラン偏差とノイズバジェットの関係式では、現在は相対誤差 20〜25%(シード平均)です。観測された一致の中央値は、はるかに小さい(数パーセント)ことが多いものの、保証される限界は中央値ではなくゲートです。「~2%」のような数値が現れる場合、それは典型的な観測であり、強制される許容差ではありません。主張と現実を参照してください。
格上げの規則#
機械で検査される検証マトリクス(src/verification.rs)の行が VALIDATED となるのは、Kshana から独立したオラクルが、ゲートの中で実行される試験において、比較を実行する前に定めた許容差の範囲内で実装と一致する場合に限られます。この節は、この規則が書かれている唯一の場所です。マトリクス、行ごとの説明文、リリースノートは、この節に従います。
認められるオラクルの種類#
| 種類 | 該当するもの | すでにマトリクスにある例 |
|---|---|---|
| 測定値 | その行が主張する量について実際に測定されたデータ:モデルの出力ではなく、物理世界の観測。 | 実際のセシウム時計の記録のうち、ホールドアウトされた三分の二。アーカイブされた月レーザー測距の標準点。BIPM(国際度量衡局)の Circular T の UTC(k) 系列。SRTM(Shuttle Radar Topography Mission)の地形タイル。 |
| ライブラリ | 同じ入力に対して一意に定義される量を計算する、独立したサードパーティのライブラリまたはツール。ライブラリがその領域の計算自体を実装している場合に限ります。ライブラリ同士の一致が本物の検査となるのは、その量に正しい答えが一つしかないからです。 | allantools、Orekit、ANISE、RTKLIB、gnss_lib_py、lamberthub、pymcdm、scikit-learn、SciPy の統計分布。 |
| リファレンス | 公表された参照ベクトル、表、または検証例:標準規格、機関、参考文献が、実装を照合できるように掲載している数値。 | SOFA/ERFA(Standards of Fundamental Astronomy)のベクトル、AIAA(American Institute of Aeronautics and Astronautics)の SGP4 検証ベクトル、ITU-R(国際電気通信連合 無線通信部門)の検証例、Working Group C の ARAIM の実例、JPL(Jet Propulsion Laboratory)の Horizons。 |
境界事例は、さらに二つの基準で判断します。どちらもリリース 0.30 で採用されました。
- P1、公表された実例の値。行が実装しているのと同じ閉形式から計算された、公表された実例の値は、その公表物が Kshana から独立しており、比較が明記された許容差を固定している場合、公表された参照ベクトルとして数えられます。値は公表物に数値として印刷されていなければならず(グラフから読み取った値は、読み取りの不確かさが明記された許容差の内側にある場合に限り数えられます)、試験は、公表物の入力から Kshana に計算させなければなりません。定数を、それがコピーされた文書と比較するのは、転記の確認であって、P1 ではありません。
- P2、独立した数値ライブラリ。numpy や LAPACK(Linear Algebra PACKage)のような独立した数値ライブラリが、明記された入力に対して一意に定義される線形代数の量を再計算する場合、独立したライブラリとして数えられます。ライブラリは、フィクスチャとともにコミットされた入力に対して、分解、逆行列、求解、または最小二乗のステップを自身のアルゴリズムで実行しなければなりません。そのとき確認済みの主張となるのは、それらの入力に対する線形代数であり、代表的なシナリオの物理量ではありません。numpy の演算でスカラーの閉形式を再評価するスクリプトは、私たち自身による二つ目の実装であり、P2 ではありません。
すべての種類に適用される条件:オラクルは、このプロジェクトが書いたり、実行したり、公表したりしたものではないこと(したがって、このリポジトリ自身の論文シリーズは、これから独立していません)。許容差は試験の中にあり、最初の比較の前に固定されていたこと。公開データが存在しないときにスキップするデータ依存の試験は、スキップするときにその旨を示すこと。
該当しないもの#
- 私たち自身による二つ目の実装:このクレート内の二つ目のコード経路(
ReferenceImpl)、または同じ閉形式を再評価する、このリポジトリ内のスクリプト。 - 私たち自身の以前の出力との一致:ゴールデン、回帰の固定値、スナップショット、またはこのプロジェクト自身の論文の表。
- 引用元の定数の転記:係数、プリセット、データシートの数値、パラメーターシートを、それらがコピーされた文書と照合すること。
- 設計上の選択:割当、重み付け、しきい値、警報限界、または代表的なシナリオ。選択には外部の真値がありません。
- 内部の恒等式:数値積分とその解析形との比較、往復、逆変換、性質または単調性の試験。
- 実際のホストに対する統合の実行(
IntegrationRun):プラグインを実際の Signal K サーバーや OpenCPN に読み込む、あるいは実際のゲートの出力を TCP の消費側に渡し、ホストが入力を受け入れて期待される状態を示すことを確認するものです。これが示すのは、配管が動作することです。ホストは、統合が運ぶどの値のオラクルでもないため、照らし合わせるべき外部のものはなく、そのような行(海事統合の行)は MODELLED であり、VALIDATED ではありません。IntegrationRunは独自のオラクルの種類で、MODELLED の行にのみ認められます。VALIDATED の行がそれを持つとsrc/verification.rsのintegration_run_only_on_modelled_rowsが失敗し、validated_rows_require_an_external_oracleはすでに、すべての VALIDATED の行がExternalDatasetであることを要求しています。 - 実際の入力に対する妥当性の確認:実データを入力としてのみ使い、外部の値との比較ではなく、規模についての検証を行うもの。
- 比較を見たあとで選んだ許容差。
規則の強制方法#
すべての VALIDATED の行は、src/verification.rs の validated_oracle_basis() で、どの種類に基づくか(Measured、Library、Reference、P1、P2 のいずれか)、独立した出典(その行自身のオラクルの記述から引用)、比較を担う試験を一つ宣言します。表の隣にある単体試験は、VALIDATED の行が宣言されていない場合や二重に宣言されている場合、宣言が VALIDATED でない行を指している場合、宣言された出典がその行のオラクルの記述が指すものではない場合や Kshana 自身である場合、宣言された試験がその行の引用するものではない場合、または P2 の行が独立した数値ライブラリを指していない場合に、失敗します。tests/verification_rows_declare_an_oracle_basis.rs はさらに、宣言された試験が、無視されていない実在の #[test] としてディスク上に存在することを要求します。機械に検査できないのは、名指しされた試験が宣言された出典に対して比較しているかどうかです。これは人間による読解のままです。種類ごとの件数はここには記入しません。表が出典です。
規則に照らして再検討された既存の VALIDATED の行#
この規則は、今後の格上げだけでなく、既存の行にも適用されました。
- 0.30 の検証研究が挙げた P1 の行(いずれも裏付けあり):一方向リンクバジェット(JPL Pub 82-76 の Galileo X バンド設計管理表を、項目から再構成し、自由空間損失で 4.6e-3 dB の範囲)。任意の測距信号に対する帯域制限の閉形式(メインローブ電力 90.3 パーセントと、公表されているコヒーレントな early-late ジッター)。低軌道の航法衛星の最大ドップラー(公表されている Xona Pulsar X1 と Iridium の数値)。LEO または MEO の軌道から静止ユーザーが見る最大ドップラー(Pulsar の論文の表 1、20 個の値)。地上の受信機が LEO の航法衛星に対して扱わなければならないドップラー(飛行した軌道からの、同じ公表された数値)。どの公表物も Kshana から独立し、数値を印刷しており、試験は許容差を明記しています。
- 再検討で見つかった、P1 に基づくその他の行(いずれも裏付けあり):測距コードの設計トレードオフ(公表されている −23.9 dB の Gold 相互相関)。月の座標時(Ashby と Patla 2024。DE440 に対する月の速度の相互確認は Library の検査)。閉形式の L バンド信号の電力スペクトル密度(Kaplan と Hegarty の Q 値)。周波数帯ごとの一次の電離圏遅延(IS-GPS-200 の群遅延比)。全球平均の信号空間距離誤差の重み(Montenbruck、Steigenberger、Hauschild 2018 の表)。
- 研究が挙げた P2 の行(いずれも裏付けあり):フィッシャー情報と Cramér–Rao の可観測性(numpy の
eigh/inv)。月のデータムの識別可能性。結合した月の座標系と時刻系のゲージ。自律的な自由ネットワークの故障可観測性パイプライン(numpy/SciPy の SVD、特異値分解)。いずれも、一意に定義される線形代数の量を、コミットされた入力に対して、Kshana の Jacobi 固有値ソルバーとは異なるアルゴリズムで再計算します。 - 再検討で見つかった、P2 に基づくその他の行(いずれも裏付けあり):MCDA(多基準意思決定分析)の優先度の導出(AHP、階層分析法の固有ベクトルを SciPy/LAPACK で計算。同時に再現される Random Index の表は転記であり、数えません)。クロックのホールドオーバーのコースティング分散(Van Loan の拡大行列に対する SciPy の
expm)。月の座標系の実現(numpy の SVD による Umeyama 解法)。CRPA(制御受信パターンアンテナ)のビームフォーミング(LAPACK の複素求解)。月の ARAIM の保護レベルのカーネル(RTKLIB の LU 逆行列と SciPy の分位点)。プロバイダー間での月の座標系/力学の一貫性(公表されている三つの天体暦に対する numpy の SVD による最小二乗フィット)。 - 最初のパスで指摘され、0.30 の実行のラウンド 2 で裏付けを取り直したもの。三つの行が、書かれた規則では裏付けられないと指摘されました。それぞれ現在は、フィクスチャが取得される前に事前登録された比較に基づいているため、指摘されている行はありません。
validated_oracle_basis()の隣にある単体試験が、その(現在は空の)リストを固定しています。- インテグリティ(RAIM/ARAIM/SBAS)。引用された試験は、かつては実際の IGS(International GNSS Service)のジオメトリに対する妥当性しか検証していませんでした。この行は現在、三つのライブラリのオラクルに基づいています。ARAIM 2 について、Airborne Design Document v4.2 の ARAIM 複数仮説解分離を Stanford MAAST と照合(270 の実際のケース、VPL の最悪の差は 0.05 m に対して 2.2e-3 m)。スナップショット RAIM の検出と除外を RTKLIB の
raim_fdeと照合(2016 件中 2016 件の判定が同一)、スロープ保護レベル付き。そして、実際の WAAS 放送に対する SBAS DO-229E の L1 保護レベルを Stanford MAAST と照合(2868 の組が 1.6e-5 m の範囲内)。この行は、均一シグマの関数raim::araim_raimとraim::araim_dual_raimは ADD の仕様どおりではなく、二周波数の L5 SBAS の比較は所見であると明記しています。 - JPL Standish のケプラー要素による、太陽系全体の惑星位置。公称誤差の二倍という事後的な基準は、事前登録された基準に置き換えられました。惑星と成分ごとに RMS が Explanatory Supplement の表 8.10.1 の値以下であること。JPL Horizons DE441 を相手とし、地球の分割と ICRF の回転も対象に含みます。
- 太陽系の天体間の光行時間。光行時間のソルバーは現在、DE441 の位置に対する Horizons の光行時間と 1e-6 秒以内で比較されます。これは、位置の基準を引き継がない、事前登録された基準です。
- インテグリティ(RAIM/ARAIM/SBAS)。引用された試験は、かつては実際の IGS(International GNSS Service)のジオメトリに対する妥当性しか検証していませんでした。この行は現在、三つのライブラリのオラクルに基づいています。ARAIM 2 について、Airborne Design Document v4.2 の ARAIM 複数仮説解分離を Stanford MAAST と照合(270 の実際のケース、VPL の最悪の差は 0.05 m に対して 2.2e-3 m)。スナップショット RAIM の検出と除外を RTKLIB の
- 二つの方針によって格上げ可能になる MODELLED の行(0.30 の行ごとの実行を通じてのみ。この文章によってではありません):P1 の下では、TDOA/FDOA(到達時間差と到達周波数差)の発信源位置推定の限界、相対論的なクロックレートと座標系の結合、ITU-T(電気通信標準化部門)の同期マスク(勧告が数値として印刷しているマスク値に限る。転記された折れ点を自身と照合したものは数えません)、そして 5G 非地上系ネットワークの測位の限界(公表された実例の数値が見つかった場合に限る)。P2 の下では、コモンモードのインテグリティ盲点、スカラーの MHSS(複数仮説解分離)によるタイミング保護レベル、GLS(一般化最小二乗)の白色化。二つのタイミングインテグリティのベンチマーク行(スタンフォード図の分類器とインテグリティカバレッジの採点器)は規則ベースの分類であり、線形代数ではないため、P2 は適用できません。独立したツールが必要ですが、見つかった唯一のもの(gLAB)は非商用ライセンスです。
- 以前の拒否との一貫性。打ち上げウィンドウの行の Vallado の確認は、その試験が印刷された実例を計算するのであれば、現在は P1 の下で適格となります。0.30 の計画では、代わりに Orekit を通じて格上げします。クロッククラスごとの月の時刻の交差表は MODELLED のままです。それが再現する表は、このプロジェクト自身の論文に由来しており、独立していないためです。
| ノイズ項 | ステータス | エビデンス |
|---|---|---|
| アラン推定器の整合(ADEV/MDEV/TDEV/OHDEV(ADEV:アラン偏差、MDEV:修正アラン偏差、OHDEV:オーバーラッピング・アダマール偏差)) | validated |
NIST(National Institute of Standards and Technology)SP(Special Publication)1065(Riley, Handbook of Frequency Stability Analysis, 2008)に対する、一次資料による二つの検査で、どちらも相対許容差 1e-4 です。(1)tests/allan_reference.rs:オーバーラッピング ADEV、修正 ADEV、時間偏差、オーバーラッピング・アダマール推定器が、標準的な 10 点の NBS14 データセット(SP 1065 の表 29/30、p. 107)の tau = 1、2 における偏差を再現します。一致は実際には約 1e-6 です(例:τ = 2 のオーバーラッピング ADEV(OADEV):85.952868 対 85.95287)。(2)tests/allan_nist_sp1065_1000point.rs:同じ四つの推定器が、SP 1065 §12.4 の 1000 点のデータセット(表 31、p. 108)を、平均化係数 1 / 10 / 100 で再現します。このデータセットは SP 1065 の LCG(式 73)からコード内で再生成されるため、外部に依存せず、フィクスチャもありません。同じデータと表 31 の数値は、aewallin/allantools(tests/nbs14)の回帰ターゲットでもあり、ここではサードパーティのコードなしで再現されます。これは、後述のノイズの較正の行とは別に、推定器の数学を参照に対して固定します。 |
| 実際に測定されたハードウェアに対するアラン推定器の整合 | validated |
tests/cs5071a_reference.rs:オーバーラッピング・アラン推定器とオーバーラッピング・アダマール推定器が、水素メーザーに対して測定された、実際の 5071A セシウム一次標準(τ₀ = 1 秒の位相サンプル 556,990 個。1 PPS(毎秒一パルス)を 53230A カウンターに入力、2014 年二月。A. Wallin が収集し、allantools とともに配布)に対する Stable32 の参照偏差を再現します。十進のτ全体の階段(16 個の平均化係数、τ = 1 秒 … 4×10⁴ 秒)にわたって確認され、十分にサンプリングされた係数は相対ゲート 1e-3(観測された一致は実際には ≤ 3e-5、例:OADEV(1 s) 3.317111e-10 対 Stable32 の 3.3171e-10)、長いτの疎な係数は Stable32 が印刷する 1‑σ の信頼帯の内側に収まることを要求します。これは、上記の合成 NBS14 との整合を、測定されたクロックによる確認で補完するものです。生の位相ファイルはサードパーティのデータで再配布ライセンスがないため git の対象外にしており、scripts/fetch_cs5071a.sh がそれを再現し、ファイルが存在しない場合は試験がスキップの通知を出力します(CI(継続的インテグレーション)は成功のままです)。コミットされているのは公開されている Stable32 の参照数値のみ(tests/fixtures/cs5071a/)で、サードパーティのコードは使っていません。 |
| 標準的な Stable32 の PHASE.DAT に対するアラン推定器の整合 | validated |
tests/phasedat_reference.rs:オーバーラッピング・アラン推定器、修正アラン推定器、時間偏差推定器が、PHASE.DAT に対する Stable32 の参照偏差を再現します。PHASE.DAT は Stable32 とともに配布される 1001 点の系列で、独立したツール(例:allantools)が標準の回帰ターゲットとして使います。平均化係数の階段の全体(139 個の係数)にわたり、相対ゲート 1e-3(観測は ≤ 5e-5)です。上記の測定されたセシウムの確認と並ぶ、二つ目の独立した実際の参照系列です。PHASE.DAT は商用ツール Stable32 に同梱されているため、生の系列は git の対象外にしており、scripts/fetch_phasedat.sh がそれを再現し、ファイルが存在しない場合は試験が成功のままスキップします(CI は成功のままです)。コミットされているのは公開されている Stable32 の参照数値のみ(tests/fixtures/phasedat/)で、サードパーティのコードは使っていません。 |
| 実際に測定された曲線に対する光時計の安定度 | validated |
tests/optical_clock_adev_reference.rs:クロックノイズのパラメーター反転(quantum_trade::qparams_from_adev_curve)が、Norcia らが公表した ⁸⁸Sr 光格子時計の σ_y(τ)、Science 366:93(2019)を再現します(Zenodo 10.5281/zenodo.3382347、CC-BY-4.0(Creative Commons Attribution 4.0)。曲線は tests/fixtures/optical_clock_adev/ にベンダリング)。回復された白色周波数の係数 √q_wf ≈ 4.33e-16 は、論文の ≈4.7e-16/√τ の短期安定度と一致し(曲線全体で RMS(二乗平均平方根)約 10%)、フィットは非ゼロの測定された下限(q_rw > 0)を検出します。これは、測定された ADEV からノイズパラメーターへの反転を、実際の光時計に対して固定するものです。それに基づくしきい値までのホールドオーバーの利点は、MODELLED のままです。 |
| 実際の ESA(欧州宇宙機関)OPS-SAT テレメトリに対する異常検出の ROC(受信者動作特性)AUC(曲線下面積) | validated(ラベルの再現) |
tests/opssat_ad_reference.rs:OPSSAT-AD データセット(Ruszczak ら 2025、Zenodo 10.5281/zenodo.12588359、CC BY 4.0)、すなわち真の異常ラベルを持つ実際の OPS-SAT のハウスキーピングセグメントにおいて、Kshana の Mann–Whitney ROC AUC(impairment_eval::auc)は、ホールドアウトされたテスト分割(529 セグメント、113 件の異常)で、scikit-learn の roc_auc_score を < 1e-9 の範囲で再現します。使用した決定論的なスコアは二つで、透明性の高い単一特徴量の検出器(セグメントのピーク数、AUC ≈ 0.851)と、正常な訓練セグメントに当てはめた 8 特徴量の対角マハラノビススコア(AUC ≈ 0.556)です。eval_stats::bootstrap_auc_ci は、下限が偶然水準を上回る形で、その点推定を挟み込みます。これは、実際の ESA データに対する AUC の計算と、透明性の高い検出器のラベルとの分離を、外部の参照に照らして確認するものです。OPSSAT-AD の論文で公表されている最良の指標(教師あり FCNN(全結合ニューラルネットワーク)、F1 ≈ 0.95)を再現するものではなく、それには彼らの訓練済みモデルが必要です。CC-BY のデータはベンダリングされており(tests/fixtures/opssat/、外部に依存しません)、オラクルは generate_opssat_oracle.py で再生成されます。 |
| 重力場の関数の合成(重力支援 / GNSS 非依存(GNSS:全球測位衛星システム)の航法マップ) | validated |
tests/icgem_gravity_reference.rs:球面調和関数による重力関数のカーネル(gravity_sh::gravity_magnitude / gravity_disturbance_mgal)、すなわち重力支援の航法装置が照合する「マップリーダー」は、GRS80(Geodetic Reference System 1980)の標準重力(Moritz 1980、IAG 採用(IAG:国際測地学協会))に照らして外部の参照と照合して確認されています。公表されている偶数次の帯球調和係数 J₂…J₈ から GRS80 の標準重力場を構成し、楕円体上で重力(引力 + 遠心力)を合成すると、閉形式の Somigliana の標準重力と、公表されている赤道/極の値 γ_e = 9.7803267715 / γ_p = 9.8321863685 m/s² を、すべての緯度で相対 3.5e-12(ゲート 1e-9)の範囲で再現します。同じカーネルが、代表的な実際の ICGEM(International Centre for Global Earth Models)地球モデル EGM2008(Earth Gravitational Model 2008)(NGA(National Geospatial-Intelligence Agency)がパブリックドメインとして ICGEM 経由で提供。from_gfc リーダーは tests/agency_lro.rs の GRAIL(Gravity Recovery and Interior Laboratory)月重力場でも検証されています)を読み込み、物理的に妥当な範囲の重力擾乱マップ(d/o 70 で RMS ≈ 26 mGal、最大 ≈ 89 mGal)を生成します。合成コードの正しさを確認するものです。重力支援による航法測位の精度は MODELLED のままです(地上真値を伴う、プラットフォーム搭載重力計の公開の軌跡はありません)。 |
| ノイズの種類別の edf(信頼区間) | validated |
src/allan.rs:各オーバーラッピング ADEV 点の χ² の信頼帯は、ノイズの種類ごとの有効自由度(白色およびフリッカーの位相変調、白色およびフリッカーの周波数変調、ランダムウォーク周波数変調(WPM/FPM/WFM/FFM/RWFM)についての NIST SP 1065 の表 5 の閉形式。Stable32 の簡易セット)を使い、記録のべき乗則の種類は、その MDEV の両対数での傾きから特定されます。独立した三つの検査があります。(a)五つの公式は、N=64、m=4 での手計算の値を 1e-12 の範囲で再現します。(b)モンテカルロの白色 FM(FM:周波数変調)のアンサンブル(4,000 個の記録)が、推定器の実際のカイ二乗 edf = 2·mean²/Var(σ²) を測定し、それが公式と 20% の範囲で一致します(保守的な非オーバーラップの個数を大きく上回ります)。(c)tests/allan_nist_sp1065_1000point.rs は、1000 点のデータセットの m=10(白色 FM)における、印刷された SP 1065 の表 32(p. 109)の edf = 146.177 を 5e-3 の範囲で、また表の 95% 信頼限界(8.223942e-2 / 1.035201e-1)を <0.2% の範囲で再現します(わずかな残差は、Wilson-Hilferty の χ² 近似と NIST の厳密な χ² との差です)。エクスポートされる ADEV 曲線は、τ ごとに、特定されたノイズの種類、edf、95% の帯を持ちます。 |
| 白色 FM(短期) | validated |
tests/calibration.rs:シミュレーションされたオーバーラッピング ADEV は、公表されている sigma_y(1 s) を再現します。通常は数パーセントの範囲内で、強制されるゲートは 20%(CSAC と光格子の目標値)です。また、白色 FM の曲線 sigma_y(tau)=sigma_y(1s)/sqrt(tau) を、tau = 1、10、100 秒にわたって 25% のゲートの範囲内で再現します(CSAC(チップスケール原子時計)のデータシートの 3e-10 / 1e-10 / 3e-11 と一致)。 |
| ランダムウォーク FM(長期) | validated |
tests/calibration.rs:シミュレーションされた ADEV は、sigma_y^2(tau)=q_rw*tau/3(Riley NIST SP 1065)と約 20%(シード平均)の範囲で一致します。 |
| エージング/線形ドリフト | modeled + 較正で除去 |
決定論的です。ホールドオーバー推定器は二次予測器でオフセットとエージングを除去するため、残差は確率的な限界になります。src/estimator.rs / src/models.rs でテストしています。 |
| カルマン推定器 + インテグリティ境界 | validated |
src/kalman.rs:二状態(位相、周波数)のフィルターで、正確な van Loan プロセスノイズが真値モデルと一致します。コースティングは解析的なホールドオーバー分散 q_wf*T + q_rw*T^3/3 を 1e-9 の範囲で再現します。共分散の更新はジョセフ安定化形式 P⁺ = (I−KH)P(I−KH)ᵀ + KRKᵀ であり、極端な R=1e-26 / Q≈1e-30 の比のもとでも 500 回の予測/更新ステップを通じて半正定値性を保ち(コレスキー分解で確認)、条件の良い場合には素朴な形式と 1e-9 の範囲で一致します。実行レイヤーは、インテグリティを、停止区間のサンプルのうち3シグマ保護境界内に収まった割合として報告します(src/run.rs)。 |
| フィルターの自己整合性(NIS(正規化イノベーション二乗)/NEES(正規化推定誤差二乗)) | validated(モデル) |
src/filter_health.rs:モンテカルロによる整合性評価です(Bar-Shalom §5.4)。整合フィルターのプール済み NIS → 1 と NEES → 2 は、いずれも 95% の χ² 帯域内に収まります(NIS 帯域はプールした白色イノベーション数を使い、NEES 帯域は推定誤差が時間的に相関するため独立な実行数を使います)。Q/R ミスマッチ掃引テストでは、モニターが consistent=true を報告するのは単位チューニングのときだけで、×0.1/×0.5/×2/×10 の誤チューニングでは consistent=false を報告し、NIS は導出どおり ≈1/q_factor でスケールすることを確認します。クロックの結果 JSON(JavaScript Object Notation)とプレイグラウンドのカードに filter_health として表示されます。χ² 帯域には Wilson–Hilferty 分位点を使っています(detection::chi2_inv_cdf、表で確認済み)。 |
| 双方向時刻比較モデル | validated(モデル) |
src/timetransfer.rs:相反的な共通モード遅延は (m_AB - m_BA)/2 の推定値の中で正確に相殺され(手計算による導出、厳密)、二つの片方向測定は 1/sqrt(2) に平均化されます(シード平均)。非相反の差分遅延は有色の白色FM + ランダムウォークFM過程であり、そのアラン偏差は sigma_y^2(tau) = q_rw*tau/3 に従います(シード平均、~20%、リンク自身の step() による)。パラメーター(リンクごとの sigma_j、q_rw)は代表的な TWSTFT/光学(TWSTFT:衛星双方向時刻周波数比較)の値であり、特定の端末に合わせたものではありません。 |
| セキュリティ(スプーフィング検出スコア) | validated(モデル) |
src/security.rs:モニターの1シグマ下限 sqrt(r/m + q_wf*tau + q_rw*tau^3/3)、それにより得られる k シグマの最小検出可能オフセット、および [0,1] のスコアは、手計算で導出し、ユニットテストを行っています。モデル(イノベーション/RAIM型(RAIM:受信機自律インテグリティ監視)のクロック支援検出)は妥当ですが、パラメーター(監視窓 tau、検出係数 k、測定ノイズ r)は代表値であり、特定の受信機に合わせたものではありません。 |
| スプーフィング攻撃の検出 | validated(モデル) |
src/spoof.rs:偽の時刻を徐々に増やすスプーフィングは、そのオフセットが時計の検出境界を超えた時点で検出されます。検出時刻は手計算で導出した start + bound/rate と一グリッドステップ以内で一致し、境界が仕様を超える時計では、スプーフィングが検出されないまま閾値に達します。セキュリティスコアと同じ representative-parameters の注意事項が当てはまります。 |
| フリッカーFM(フロア) | modeled(既定ではオフ) |
対数間隔のオルンシュタイン・ウーレンベック(OU)過程の和として合成し、設定可能な平坦なADEVフロアに合わせて較正しています。src/models.rs は、フロアが平均化時間にわたって平坦であり、設定したレベルにあることを検証します(シード平均)。flicker_floor により時計ごとに有効化します。引用した参照シナリオではオフにしています。CSAC はデータシートの範囲(1〜1000 s)にわたって白色FMが支配的であり、光時計の系統的フロア(~5e-17)は精度の値で表しているためです。 |
| モンテカルロアンサンブル統計 | validated(集計) |
src/ensemble.rs:runs 個の再現可能な実現にわたる、最近傍順位のパーセンタイルと平均です。単一の実行ではばらつきが潰れ、時刻ステップごとの帯域は p05 <= p50 <= p95 の順序になり、再実行はビット単位で同一になります。これは、すでに検証済みの単一実行に対する統計的な集計であり、新しい物理モデルではありません。 |
| 時計 | sigma_y(1 s) | 出典 |
|---|---|---|
| csac-sa45s (CSAC) | 3.0e-10 | Microchip SA65 / SA.45s データシート |
| optical-sr-lattice (Sr 格子) | 1.0e-15 | ストロンチウム光格子時計、宇宙向けの目標値、arXiv:1503.08457 |
状況:白色FMとランダムウォークFMは検証済み、エージングはモデル化して較正で除去、フリッカーFMはモデル化して検証済み(引用したシナリオでは既定でオフ)。
成熟度:光時計の値は、地上のハードウェアにおける宇宙向けの目標値であり、ストロンチウム光時計はこれまでに飛行したことがありません。実験室の Sr 時計は 4.8e-17 に達しています(Oelker ら 2019、Nature Photonics)。CSAC の値は、実際に展開されている商用部品のものです。
関係式:Riley、NIST SP 1065、式 67 -- 白色FM sigma_y^2(tau)=h0/(2 tau)、ランダムウォークFM sigma_y^2(tau)=(2 pi^2/3) h_-2 tau。拡散係数 q_rw の周波数ウィーナー過程では、これは q_rw*tau/3 に等しくなります。
パック 2 — 慣性推測航法(量子慣性計測装置)#
| 項目 | ステータス | エビデンス |
|---|---|---|
| 定常/残留バイアス -> 位置 | validated |
位置誤差 = 0.5bT^2 系(Groves AESS(航空宇宙・電子システム学会)チュートリアル)。手計算で導出した離散テストは src/inertial/mod.rs にあります。 |
| 速度ランダムウォーク(白色加速度) | validated |
src/inertial/mod.rs:シミュレーションした位置誤差の SD(標準偏差)は、sigma_x(T)=sqrt(S_a*T^3/3)(Groves 式54)と、観測値で~12% の範囲で一致します(シード平均、強制ゲート 20%)。 |
| 冷却原子干渉計(CAI)加速度計の物理(第一原理) | validated(モデル) |
src/inertial/quantum_imu.rs:三パルスのマッハ・ツェンダー型冷却原子干渉計です。教科書的な幾何と照らして手計算で確認しています。Rb-87 の k_eff = 4pi/lambda ~ 1.611e7 rad/m、1 g における Phi = k_eff*a*T^2 ~ 1.580e4 rad、T = 10 ms、sigma_Phi = 1/(C*sqrt(N)) = 2e-3 rad(C = 0.5、N = 1e6 のとき)の射影ノイズ、ショットごとの sigma_a ~ 1.24e-6 m/s^2、1/T^2 と 1/sqrt(N) のスケーリング則、指数関数的なコントラスト減衰です。q_va() は、従来型の AccelModel が使う白色加速度の PSD(パワースペクトル密度)を導出します。適用範囲の正直な説明:ここでは量子射影ノイズのフロアのみ(~0.09 ug/sqrtHz)であり、実際の振動に制限される装置(1〜50 ug/sqrtHz)をはるかに下回ります。振動テンソル、コリオリ、光シフトによる系統誤差はまだモデル化していません(QUANTUM.md を参照)。 |
| ジャイロバイアス + 角度ランダムウォーク(ARW)-> 傾き -> 重力の結合 | modeled(既定ではオフ) |
残留ジャイロバイアスと ARW が姿勢誤差を生み、傾きが重力(g*theta)を水平方向の比力誤差に結合します。src/inertial/mod.rs は、純バイアスによる三次の位置増加を厳密に、ARW による姿勢増加をウィーナー過程として検証します(シード平均)。gyro_bias と q_arw によりセンサーごとに有効化します。引用した加速度計のみのシナリオではオフです。 |
| バイアス不安定性(1/f フリッカーフロア) | modeled(既定ではオフ) |
src/inertial/mod.rs:1/f フリッカー過程(時計について検証したものと同じ OU 合成)で、その平坦なアラン偏差フロアはバイアス不安定性係数の位置にあります。ゼロは何も起こさず、ゼロでないフロアは軌道を変え、どちらも再現可能です。bias_instability によりセンサーごとに有効化します。 |
| 加速度ランダムウォーク(レートランダムウォーク) | validated |
src/inertial/mod.rs:バイアスは Var(bias_rw(T)) = q_aa*T のウィーナー過程であり、シード平均で~20% の範囲まで確認しています。q_aa によりセンサーごとに有効化します。 |
| NaveGo によるクロスバリデーション(IMU(慣性計測装置)ノイズ係数) | validated |
tests/navego_imu_crossval.rs:NaveGo(R. Gonzalez、オープンソースの INS/GNSS(INS:慣性航法装置)ツールボックス、github.com/rodralez/NaveGo)との外部クロスチェックです。NaveGo の navego_example_allan.m の合成ラウンドトリップを、その公開されている Microstrain 3DM-GX3-35 の参照プロファイル上で再現します。NaveGo の1-σ レベルの白色センサーノイズで、当方の(NBS14/Stable32 で検証済みの)オーバーラップ ADEV 推定器を駆動すると、速度および角度のランダムウォーク(VRW、ARW)係数(ADEV(1 s) = σ·√dt)を < 5% の範囲(実測~0.4%)で回復し、白色ノイズの分岐は −1/2 の傾きになります。当方のアラン解析パイプラインと NaveGo の VRW/ARW の定義が一致することを確認しています。記録済みの 40 MB の STIM300 .mat ログは取り込んでいません(バイナリ形式が未対応のため)。 |
| スケールファクター、より細かい交差軸項 | この1-DOF(一自由度)パックではnot modeled |
従来の単軸パックには、スケールファクター誤差も交差結合誤差もありません。三軸ストラップダウンライブラリと gnss-ins パックは、スケールファクター、ミスアライメント、g 感度、量子化、レートランプをモデル化しています(src/inertial/imu_errors.rs、下記の主張の表を参照)。 |
| センサー | バイアス安定度 | ノイズのルート PSD | 出典 |
|---|---|---|---|
| cold-atom-quat(量子) | 5.88e-7 m/s^2(60 ng、24 h) | 22 ug/sqrtHz = 2.16e-4 (m/s^2)/sqrtHz | Templier ら 2022、Science Advances(arXiv:2209.13209) |
| nav-grade-quartz(従来型) | 1.57e-3 m/s^2(~160 ug) | ~20 ug/sqrtHz = 1.96e-4 (m/s^2)/sqrtHz | Honeywell QA-2000 / Groves AESS チュートリアル |
正直な位置づけ:冷却原子の利点は長期のバイアス安定度(~2600倍低い)であり、これは 0.5bT^2 を通じて、長時間の GNSS 停止区間では支配的になります。短期ノイズは同程度です(量子は~22、従来型は~20 ug/sqrtHz)。量子センサーが勝つのはマラソンであって、短距離走ではありません。成熟度:冷却原子加速度計は実験室/初期段階にあり(JRC122785)、航法グレードの水晶は実用化されています。
パック 3 — 時刻比較(光と無線周波数(RF)、光衛星間リンク)#
| 項目 | ステータス | エビデンス |
|---|---|---|
| 白色タイミングジッター -> 同期の精密度 | validated |
src/timetransfer.rs:シミュレーションした同期 RMS はリンクジッター sigma_j を再現し、標本平均は sigma/sqrt(N) として <20% の範囲で平均化されます(シード平均)。 |
| タイミング -> 片方向測距 | validated |
range = c * dt、c=299792458 m/s、1 ps = 0.299792458 mm(厳密、手計算で導出したテスト)。 |
| フリッカー/TDEV フロア、双方向相反性の残差 | modelled |
src/twstft_budget.rs(time-transfer-budget の種別):双方向系列に対する、フリッカー位相ノイズ(Kasdin–Walter、平坦な TDEV)、日周の非相反性、および一定の相反性残差です。白色ジッターの timetransfer パックは変更ありません。 |
| リンク | 単一サンプルのジッター | 型 | 出典 |
|---|---|---|---|
| optical-isl | 1 ps(1e-12 s) | 軌道上で見込める目標値 | 光衛星間リンク、ピコ秒の同期目標。実験室の O-TWTFT(TWTFT:双方向時刻周波数比較)は ~1 fs(Giorgetta 2013 / Deschenes 2016) |
| twstft-rf | 0.5 ns(5e-10 s) | 単一セッションでの実測値 | BIPM/PTB/NIST(BIPM:国際度量衡局、PTB:ドイツ物理工学研究所、ドイツの国家計量機関)の TWSTFT |
正直な位置づけ:光学の値は、ピコ秒レベルの軌道上同期の目標であり(飛行実績はありません)、地上の光学実験室のフロアは ~1 fs(はるかに優れています)。十分に設計されたマイクロ波リンク(ACES(宇宙原子時計アンサンブル)のマイクロ波リンク(MWL)、~0.3 ps)は光学に匹敵し得るため、「RF = 0.5 ns」というベースラインは、特に通常の TWSTFT を指します。測距への変換は片方向です(range = cdt)。双方向/往復ではこれが半分になります(range = cdt/2)。
パック 4 — ハイブリッド融合(総仕上げ)#
パック 1(時計)、パック 2(慣性)、パック 3(時刻比較)を、一つの PNT(測位・航法・時刻)スイートに組み合わせます。このスイートは、タイミング(< タイミング仕様)と位置(< 位置仕様)の両方を範囲内に保つ必要があり、pnt_holdover_s はどちらかが逸脱するまでの時間です。オプションの光衛星間リンク(ISL)による時刻比較は、停止区間中に時計を再同期します(時刻支援のみ。時刻比較が与えるのは時刻であって位置ではないため、位置は再同期されません)。
| 観点 | ステータス | エビデンス |
|---|---|---|
| 複合 PNT スコアリング(タイミングと位置) | validated |
src/hybrid.rs 手計算で導出した score_hybrid テスト(pnt_holdover = タイミングと位置のうち先に逸脱した方)。 |
| ハイブリッドパックのインテグリティ + セキュリティ | validated |
src/hybrid.rs:カルマンタイミング推定器を真値に合わせて制御し(公称)、光再同期のたびに再アンカーします。インテグリティは保護境界の包含率(境界にはリンクジッターのフロアを含む)、セキュリティはスプーフィング検出スコアです。リンク支援の場合を含め、両方のスイートでテストしています。 |
| 結合融合推定器 | validated(モデル) |
src/fusion/mod.rs:単一の結合カルマンフィルター([phase, freq] ⊕ [pos, vel])がナビゲーターとなり、GNSS で制御され(ゼロでない初期共分散からオフセットを学習)、時刻比較で支援されます。結合共分散は結合インテグリティを与え、ノイズが整合したセンサーでは両方のスイートで信頼できる(≥0.9)ことがテストされています。このパックは位置と時刻を別々に観測するため、最適なフィルターはブロック対角になります。拡張状態による定数バイアス推定と動的な相互支援は今後の課題です。 |
| 結合した時計+位置フィルター(ブロック間共分散) | validated(モデル) |
src/fusion/coupled.rs CoupledPntFilter:単一の積層 [pos, vel, phase, freq] カルマンフィルター(ジョセフ形式の更新)で、その疑似距離測定 ρ = g·pos + c·phase + noise が位置ブロックと時計ブロックを結合します。テスト:共有の疑似距離は P[pos,phase] をゼロでない値にします(分離したフィルターでは厳密に 0 のままです)。二つの異なる幾何により、単一の距離では分離できない、注入した位置オフセットと時計オフセットを同時に分解できます。時計のみの測位解は、相互共分散を通じて位置を鋭くします(結合がもたらす利点であり、分離したフィルターにはできません)。モンテカルロの NEES は χ²(4) と整合しています(Bar-Shalom §5.4、実行数に基づく帯域)。1-DOF(パックの次元数)です。実行可能なパックにはまだ組み込まれておらず、3次元8状態への拡張は今後の課題です。 |
| 検証済みサブモデルの合成 | 継承 | 時計/慣性/時刻比較の各項は、それぞれのパックで検証済みです。 |
疎結合 GNSS/INS(gnss-ins パック) |
validated(モデル) |
src/fusion/{gnss_ins_ekf,closed_loop,pack}.rs:15状態の誤差状態 EKF(δp、δv、ψ、加速度計/ジャイロバイアス、Groves §14)が、三軸ストラップダウンナビゲーターをフィードバック付きで駆動します。テスト:注入した位置誤差は完全な真値支援のもとでゼロになります。支援された解はメートル単位の範囲にとどまる一方、自由走行の INS は 100 m を超えて発散します。60 s の停止区間にわたる融合位置の RMS は、アンサンブルテストの境界の分だけ支援なしの推測航法を上回ります(0.27.3 より前で測定したときは~4×。下記の修正後は、その差はさらに大きくなります)。ジャイロバイアスの結合は、ストラップダウン自体と照合して確認しています。既知の残留ジャイロバイアスは、フィルターが予測する姿勢誤差(closed_loop::tests::gyro_bias_coupling_predicts_the_strapdown_attitude_error)を生じなければならず、広い事前分布はフライトコントローラー級のジャイロバイアスを、有界のまま学習しなければなりません。どちらも 0.27.3 より前の符号では失敗します。0.27.3 で改訂:この結合は符号が誤っていたため、ジャイロバイアスの推定値が誤った方向に引かれ、狭い事前分布でのみパックが安定していました。公表していた停止区間の数値は変更されています(CHANGELOG、Fixed)。正直な限界:疎結合では、加速度計バイアスと傾きは分離しにくいため、バイアスごとの較正は主張しません。 |
| 密結合 GNSS/INS(疑似距離) | validated(モデル) |
src/fusion/gnss_ins_ekf.rs update_tightly_coupled + closed_loop.rs fuse_tightly_coupled:イノベーションは距離領域で形成します(δp に対する視線ヤコビアン)。テスト:四機の衛星で、注入した 8 m/−5 m の水平誤差を < 0.1 m まで打ち消します。二機の衛星(PVT(位置・速度・時刻)の測位解は不可能)でも、水平誤差を > 5× 削減します。頭上の一機の衛星は視線方向(鉛直)成分だけを観測し、水平には影響しません。不正な入力は拒否されます。疑似距離のみであり、搬送波位相と明示的な受信機時計状態はロードマップに入っています。 |
| センサー相互支援の忠実度(完全なカルマン/ファクターグラフ融合) | hybrid パックではnot modeled |
ハイブリッドパックは、システムレベルの合成と時刻支援であり、最適推定器ではありません。フィルターは他に存在します。gnss-ins パック(上の行)の疎結合および密結合の EKF(拡張カルマンフィルター)と、hybrid-ukf 種別の17状態 UKF(無香料カルマンフィルター)です。ファクターグラフスムーザーはモデル化していません。 |
結果:全量子スイートは 1.8 h の停止区間を通じて PNT のすべてを維持します。全従来型スイートは位置が制限要因です(航法グレードの IMU が先に逸脱します)。光 ISL による時刻比較は、従来型の時計でさえロックしたままにするため、従来型スイートの弱点が慣性センサーであることが分かります。これが、量子慣性と光タイミングを組み合わせる中核的な根拠です。
ジオメトリ — 軌道から求める GNSS の可用性#
| 観点 | ステータス | エビデンス |
|---|---|---|
| 円軌道の二体伝搬 | validated |
src/orbit.rs:周期 T=2 pi sqrt(r^3/mu)(mu = 3.986004418e14)、一周期後に位置が戻ること、赤道/極の軌道面性。いずれも手計算で導出したテストです。 |
| 離心(ケプラー)軌道の伝搬 | validated |
src/orbit.rs:ケプラー方程式 M = E - e sin E をニュートン法で解きます(残差 < 1e-12)。近地点/遠地点の半径は a(1∓e)。円軌道の場合は閉形式の経路と 1e-9 の範囲で一致します。 |
| J2 による昇交点/近地点の永年ドリフト | validated |
src/orbit.rs:Omega_dot = -1.5 n J2 (Re/p)^2 cos i、argp_dot = 0.75 n J2 (Re/p)^2 (5cos^2 i - 1)(Vallado)。昇交点は、順行軌道では西進し、逆行軌道では東進し、極軌道では静止します。近地点は臨界傾斜角 63.4 deg で固定されます。いずれも手計算で導出した符号/ゼロのテストです。二体問題 + 永年項のみで、接触要素ではありません。 |
| 視線方向の可視性(地球による掩蔽 + 仰角マスク) | validated |
対蹠点の衛星は掩蔽され、真上の衛星は仰角 90 deg、接線方向の衛星は地平線上になります。いずれも手計算で導出した厳密なテストです。 |
| 可視性 -> GNSS の状態 -> タイムライン | validated |
>=4 の可視衛星 = 公称、1〜3機 = 劣化、0 機 = 利用不可です。Walker-delta ジェネレーターを備え、統合テストは導出したタイムラインからクロックのホールドオーバー実行を駆動します。 |
| コンステレーション設計の最適化器 + 被覆帯(streets-of-coverage)の幾何 | validated(モデル) |
src/walker.rs:optimize_walker_design は {planes × sats × inclination} のグリッドを探索し、DesignObjective(被覆目標に対する最小衛星数/最大被覆/最小の最悪 PDOP(PDOP:位置精度低下率))を最もよく満たすセルを返します。テストは、その選択が同じ掃引に対する独立した総当たり走査と一致することを確認し、実例では、GPS(全地球測位システム)の Walker 24/6/1 設計が、間引いた18機の設計と少なくとも同等に被覆することを確かめています。解析的な被覆帯の閉形式(coverage_half_angle_rad λ = arccos(Re/r·cos ε) − ε、street_half_width_rad cos c = cos λ / cos(π/s)、Rider/Beste)は、教科書的な幾何と照らして手計算で確認しています(5° マスクの GPS:λ ≈ 71.16°、4機での帯の半幅 ≈ 62.83°)。また、衛星数の不足によるギャップを検出します(λ < π/s ⇒ None)。Rider の最小衛星数による全球被覆ソルバー(継ぎ目に敏感な軌道面数)は、まだ実装していません。 |
| 精度低下率(GDOP/PDOP/HDOP/VDOP/TDOP(GDOP:幾何精度低下率、HDOP:水平精度低下率、VDOP:垂直精度低下率、TDOP:時刻精度低下率))-> 位置精度 | validated |
src/orbit.rs:視線方向の設計行列から求めた Q=(HᵀH)⁻¹。外部オラクル(tests/dop_reference.rs):五つの DOP 係数は、gnss_lib_py 1.0.4(Stanford NAV Lab の、独立した査読済みの GNSS ライブラリで、ここでの位置づけは、座標系に対する ERFA(Essential Routines for Fundamental Astronomy)と同じです)が計算した値を、条件の良いものから特異に近いもの(DOP が数百)まで及ぶ 8 通りの幾何にわたって、相対誤差 1e-6 で再現します。出所と再生成の手順は tests/fixtures/dop/ にあります。追加の閉形式チェックとして、正四面体の幾何は解析的な DOP(PDOP 1.5、TDOP 0.5、GDOP √2.5、HDOP √1.5、VDOP √0.75)を 1e-9 の範囲で再現します。位置の sigma = PDOP × ユーザー等価距離誤差です。 |
| 位置誤差 = σ_UERE × DOP(エンジン自身の最小二乗測位解について) | modelled |
src/dop_error_mc.rs、tests/uere_dop_monte_carlo.rs:pvt::solve_spp を単位重みで、真の位置から解いたシード付きモンテカルロ(幾何ごとに N = 20,000 エポック、σ = 1.5 m、ChaCha8 シード 36 + i)で、tests/fixtures/dop/dop_reference.csv の 8 通りの幾何(DOP が gnss_lib_py と一致している幾何)に対し、σ²·Q と比較します。ここで Q は orbit::dop カーネル自身の共分散係数です(orbit::dop_cofactor、同じ算術)。許容差は事前登録しました(コミット e50c88d2、最初の実行より前、0.36 の幾何設計ノート、セクション 5.2 に従う)。それぞれ標準誤差の数で定めています。東、北、上、時計の分散は 5 % 以内、H/V/P の RMS は 2.5 % 以内、東–北の相関は 0.035 以内、平均は 5 標準誤差以内、95 % 水平楕円の割合は 0.95 ± 0.0077 以内です。最初の実行:104 件のチェックすべてに合格しました(最悪の分散 3.2 %、RMS 1.6 %、相関 0.012、平均 2.2 標準誤差、楕円 0.0039)。ネガティブコントロールは想定どおり失敗します。PDOP を二倍にするとすべての幾何で失敗し、重み付けなしの Q に対して誤差が 1/sin(elevation) で増える場合は、最も低い衛星が 20° を下回るすべての幾何で分散チェックに失敗します。上の行との組み合わせ方:その行は、これらの幾何の DOP を gnss_lib_py に対して検証しています。この行は、それらの係数からエンジンのソルバーを通じてメートルに至るステップを加えるものです。最初の別個のチェックを並べて残しています(src/dop_error_ci.rs、tests/position_error_dop_ci.rs、事前登録の前に実行し、その旨を報告):手で選んだ四つの空(開けた空、集中、峡谷、半天空、σ 1 m)に対し、20 件のチェックで合計 1e-6 のカイ二乗信頼区間を用いており、比は 0.987〜1.009 です。独自のネガティブコントロール(10 % の DOP 誤差、1/sin(elevation) の誤差)も想定どおり失敗します。MODELLED である理由:外部のデータセットがなく、実際の受信機の誤差がモデルに従うことを示すものではなく、σ_UERE は入力です。 |
| 複数コンステレーションの可用性 | validated |
src/orbit.rs:追加の [[constellations]] は、可視性/DOP のために一つの衛星集合に統合されます。合算数のテストで和集合を確認しています。 |
| 放送電離圏(Klobuchar、IS-GPS-200(IS:インターフェース仕様))→ L1 斜め遅延 | validated |
src/gnss_sim.rs:klobuchar_delay_m、八係数の放送型単一周波数モデルです。外部オラクル(tests/klobuchar_reference.rs):L1 の斜め遅延は、RTKLIB(オープンソースのリアルタイムキネマティック測位ライブラリ)の ionmodel(tomojitakasu/RTKLIB、src/rtkcmn.c。事実上のオープンな GNSS 参照であり、ソースからコンパイルして独立に実行)を、仰角、方位角、地方時、二組の係数(kshana の既定値と RTKLIB のもの)にわたる 10 ケースで、< 1e-4 m まで再現します。GIM(全球電離圏マップ)ファイル用の IONEX(電離圏マップ交換フォーマット)TEC マップ(TEC:全電子数)リーダーは現在存在し(src/ionex.rs、parse_ionex、双線形の空間補間と時間補間、斜め写像を備え、クレート内でユニットテスト済み)、その補間を実際の CODE(欧州軌道決定センター)の GIM 製品と照合するクロスチェックは、今後の課題のままです。放送モデル自体は外部で検証済みです。 |
| RAIM/ARAIM(ARAIM:高度受信機自律インテグリティ監視)の検出カーネル(χ²/非心 χ²/正規分布)→ 閾値と乗数 | validated |
src/raim.rs:スナップショット/解分離/ARAIM の検出閾値(chi2_quantile)、見逃しの非心度 pbias=√λ(noncentral_chi2_cdf)、および K_fa/K_md/K_V 乗数(normal_quantile)は、いずれも依存ライブラリを持たない正則化不完全ガンマ関数から評価します。外部オラクル(tests/raim_reference.rs):171 ケースで SciPy 1.17.0(scipy.stats.chi2/.ncx2/.norm + optimize.brentq。独立した Cephes/Boost の実装で、アルゴリズムも異なる)を、P_fa / P_md / 冗長度の動作範囲にわたって、相対誤差 ≤ 1e-6 で再現します。カーネルを包む幾何((GᵀG)⁻¹ から得る傾き/共分散)は、gnss_lib_py で検証済みの DOP カーネルです。適用範囲:この行が固定するのは統計カーネルです。ARAIM MHSS(多重仮説解分離)の配分における保護レベルの値は、WG-C(作業部会 C)の ARAIM 技術サブグループが公表した計算例に対して別途固定しています(tests/araim_reference_vectors.rs、VPL(垂直保護レベル)18.2926 m 対 18.3 m、HPL(水平保護レベル)13.4063 m 対 13.45 m、基準自身の 0.05 m の許容差の範囲内。下記の規格に関する注記と ARAIM_REFERENCE.md を参照)。 |
| SBAS(静止衛星型衛星航法補強システム)の保護レベル(DO-229E 付録 J)→ 水平/垂直保護レベル(HPL / VPL) | validated |
src/sbas.rs:sbas_protection_level。重み付き LS(LS:最小二乗)の D=(GᵀWG)⁻¹ → 水平誤差楕円の長軸 + 垂直 σ を、DO-229E の K 係数でスケールします。外部オラクル(tests/sbas_reference.rs):kshana の HPL は、RTKLIB の SBAS-PL フォーク(zsiki/rtklib_ws waasprotlevels()、Siki & Takács 2017 の「DO-229D 付録 J」の実装)を再現します。これを rnx2rtkp -ws で実際の EGNOS(欧州静止衛星航法オーバーレイサービス)データ(GEO(静止軌道)PRN120 の放送メッセージ + 実際の BUTE/ブダペストの RINEX(受信機非依存交換フォーマット)、2017-02-19)に対して実行し、6 エポックにわたって < 2e-3 m まで一致します。衛星ごとの σ は、オラクル自身の完全な SBAS バジェット(UDRE(ユーザー差分距離誤差)+ GIVE(グリッド電離圏垂直誤差)による電離圏 + 対流圏 + 機上)です。ESA gLAB v6.0.0(core/filter.c)をコンパイルし、同一の規約を用いていることを確認しました。K_V に関する注記:両方のオラクルは MOPS(最低運用性能基準)の K_V を 5.33 に丸めますが、kshana は厳密な Φ⁻¹(1−5e-8)=5.3267 を使います(VPL は~0.06 % 小さくなります)。そのため、垂直は K 係数に依存しない d_U(= オラクルの VPL / 5.33)として検証しています。HPL は直接一致させています(両側とも K_H = 6.0)。 |
| TLE から求める実際のコンステレーション幾何(2行目/ケプラー) | validated(パース) |
src/tle.rs:2行目の平均ケプラー要素をパースします(平均運動から軌道長半径を求める)。既知の ISS(国際宇宙ステーション)の要素セットは、正しい要素と周期に往復変換できます。2行目のみのブロックでは、伝搬は平均要素に対するエンジンの二体問題(+ オプションで J2)であり、共通エポックのスナップショットには妥当ですが、時間とともに SGP4(Simplified General Perturbations 4)からずれていきます。 |
| SGP4 / SDP4(Simplified Deep-space Perturbations 4)による伝搬(完全な TLE) | validated |
src/sgp4.rs:完全な地球近傍 SGP4 + 深宇宙 SDP4(月・太陽の永年/周期項 + 12 h / 24 h の重力ポテンシャル共鳴)です。tests/sgp4_verification.rs で、公式の AIAA(米国航空宇宙学会)2006-6753(「Revisiting Spacetrack Report #3」)のベクトルに対して検証済みで、666 件の参照状態(地球近傍、深宇宙、共鳴、エラーコードの各ケース)すべてが、最悪ケースの位置誤差 ≈ 4.1 mm で一致します。完全な二行セット(1 行目 + 2 行目)は SGP4 で伝搬し、2行目のみの場合はケプラーのままで、両者は混在させることができます。座標系は TEME(真の赤道、平均春分点)で、ユーザーと衛星に一貫して用います(TEME→ECEF(ECEF:地球中心・地球固定)への変換は行いません。可用性/DOP の幾何には十分です)。 |
| IAU(国際天文学連合)2000A / 2000B の章動 + TEME→GCRS(GCRS:地心天球座標系)への変換 | validated |
src/nutation.rs:完全な IAU 2000A 級数(678 の月・太陽項 + 687 の惑星項、nutation_iau2000a)と 77 項の 2000B 打ち切り版(nutation_iau2000b)は、いずれも JD_TT 2453736.5 における公表済みの SOFA/ERFA(SOFA:基礎天文学標準)の参照ベクトルに対して、ビット単位で検証済みです。eraNut00a は Δψ = −0.9630909107115518e-5、Δε = 0.4063239174001679e-4 を与え、eraNut00b は Δψ = −0.9632552291148363e-5、Δε = 0.4063197106621160e-4 を与えます。どちらも 1e-13 rad の範囲です。2000A の表は、ERFA の nut00a ソースから tools/gen_nut00a.py によって機械生成しています(コミット済みの nutation_iau2000a_data.rs をビット単位で再現します)。章動行列(iauNumat)、分点方程式、および TEME→TOD→MOD→GCRS(TOD:その日の真、MOD:その日の平均)の全チェーン(teme_to_gcrs、Vallado AIAA-2006-6980)は、固有回転/往復変換/歳差と章動の合成という性質についてテストしています。章動行列は ERFA の numat と要素ごとに 1e-14 の範囲で照合し、TEME→GCRS の全チェーンは、Vallado が公表した TEME→GCRF の例(AIAA 2006-6753、2004-04-06)と 0.11 m の範囲で照合しています(tests/frame_reference_vectors.rs)。このエンド・ツー・エンドの確認を加えるまで、章動行列は Δψ の符号を誤っており、2·Δψ(約 25″)の回転となっていましたが、性質テストでは検出できませんでした(CHANGELOG、Unreleased、Fixed を参照)。2000A と 2000B は、要求どおり < 1 mas の範囲で一致します。このチェーンは分点/GMST(GMST:グリニッジ平均恒星時)に基づくものです。分点に依存しない CIO(X,Y,s)変換と、それに対する独立した ANISE/SPICE(ANISE:Attitude, Navigation, Instrument, Spacecraft, Ephemeris。純 Rust の惑星幾何ツールキット、SPICE:Spacecraft, Planet, Instrument, C-matrix, Events)による数値クロスチェック(GNSS 軌道で ≤ 3.6 m、目標の < 10 m を十分に下回る)は、下の CIO の行にあります。 |
| IGRF-14(IGRF:国際標準地球磁場)の地磁気主磁場モデル | validated |
src/igrf.rs:IAGA(国際地磁気・超高層物理学協会)の Schmidt 正規化球面調和関数による磁場です(次数/位数 13、2025.0 + 永年変化。係数は公式の igrf14coeffs.txt から tools/gen_igrf.py によって機械生成しており、igrf_data.rs をビット単位で再現します)。独立した五つの観点で検証済みです。(1)IAGA ファイルに対する係数の厳密な抜き取り確認(g₁⁰=−29350.0、g₁¹=−1410.3、h₁¹=4545.5 nT)。(2)1次の合成が、傾いた双極子の厳密な閉形式の磁場 (B_r,B_θ,B_φ) を 1e-6 の範囲で再現すること。(3)13次の完全な解析的磁場が、スカラーポテンシャルの −∇V に等しいこと(有限差分、1e-4 の範囲)。これによりルジャンドル関数の導関数と 1/sinθ の項を端から端まで検証します。(4)双極子軸が既知の地磁気北極(~80.7°N、−72.7°E)と双極子の強さ(~29.7 µT)を再現し、全球の磁場が物理的な 22〜67 µT の帯域に収まり、各半球の伏角の符号も正しいこと。(5)外部オラクル:完全な合成が、公式の英国地質調査所(British Geological Survey)の IGRF-14 ウェブサービスの 2025.0 における値(測地、WGS-84(WGS:世界測地系)高度)を、高度 400 km を含む四地点で、X/Y/Z/F について < 2 nT、D/I について < 0.02° の範囲で再現すること(synthesis_matches_the_official_bgs_igrf14_values_at_2025)。 |
| CIO に基づく IAU 2006/2000A の GCRS↔ITRS(ITRS:国際地球基準座標系)変換 | validated |
src/cio.rs:分点に依存しない天球から地球への変換チェーンです。CIP(天球中間極)座標 (X, Y) と、66項の CIO ロケーター s 級数は、JD_TT 2453736.5 における公表済みの SOFA/ERFA eraXys06a ベクトルに対して、ビット単位で検証済みです。X=0.5791308482835292617e-3(1e-14)、Y=0.4020580099454020310e-4(1e-15)、s=-0.1220032294164579896e-7(1e-18)。GCRS→CIRS(CIRS:天球中間基準系)の行列は eraC2ixys に対して(九要素すべてが 1e-12 の範囲)、地球自転角(ERA)は eraEra00(2400000.5, 54388.0) = 0.4022837240028158102 に対して(1e-12)検証しています。s の表は、ERFA の s06.c 参照から tools/gen_s06.py によって機械生成しています(cio_s06_data.rs をビット単位で再現します)。完全な gcrs_to_itrs_matrix(CIO eraC2tcio = 極運動 · ERA · GCRS→CIRS)は、固有回転 + 往復変換についてテストし、従来の分点/GMST-1982 による TEME 変換と、半径 7,000 km で 1 m 以内で整合することを示しています(そこでは規約の違いが約 5 cm です)。独立した第三者によるクロスチェック(xval/anise-frames/):同じ gcrs_to_itrs_matrix を、JPL(ジェット推進研究所)の earth_latest_high_prec.bpc を用いて GCRF→ITRF93(GCRF:地心天球基準座標系、ITRF93:国際地球基準座標系 1993)に回転させる ANISE(純 Rust による NAIF/SPICE(NAIF:航法・補助情報施設)の再実装)と比較します。その際、同一の IERS(国際地球回転・基準系事業)finals2000A 地球姿勢パラメーターを両側に与え、2020〜2023 の四半期ごとの八エポックで比較しています。二つの独立した座標系の実現は、最大の相対回転 0.028″ で一致し、これは地上で ≤ 0.86 m、LEO(低軌道)で ≤ 0.93 m、GNSS 軌道で ≤ 3.6 m(平均角 0.023″)に相当します。これは ROADMAP の「< 10 m」の座標系クロスチェックを達成したものです。残差は、ITRF93 と IERS-2010 CIO のモデル/データム差から予想されるものであり、欠陥ではありません(ビット単位の基準点は、上記の SOFA/ERFA ベクトルのままです)。ANISE は MPL-2.0(MPL:Mozilla Public License)/edition-2024 のクレートであるため、このチェックは、ワークスペースから除外された独立のサブクレートに置いており、公開している kshana の依存グラフにも、既定の CI ゲートにも影響しません。 |
| SP3(Standard Product 3、精密軌道フォーマット)のエクスポート往復変換(コンステレーション → SP3-c → 再パース) | validated |
tests/sp3_export_roundtrip.rs:実際の Celestrak gps-ops スナップショット(30 機の GPS 衛星)を SGP4 で伝搬し、SP3-c にエクスポートし(Sp3File::from_propagators → to_sp3_string)、再パースして(parse_sp3)、復元した ECEF 位置を 24 h にわたるすべてのエポックで SGP4 の真値と比較します。最悪の残差は < 0.5 m(書き出し側のミリメートル単位の直列化による)であり、マイルストーンの 10 m という TLE(二行軌道要素形式)グレードの許容差を大きな余裕で満たしています。CLI(コマンドラインインターフェース)の --export-sp3 の経路も対象です。同梱の軌道シナリオは再パース可能な 30 機の SP3 をエクスポートし、軌道ではないシナリオは拒否されます。 |
| TLE から求める実際の GPS コンステレーション幾何(SGP4 → ECEF) | validated |
tests/igs_real_data.rs:本物の Celestrak gps-ops スナップショット(2021-07-28、運用中の GPS 衛星 30 機。出所は tests/fixtures/celestrak/NOTICE)をパースし、各衛星を検証済みの SGP4 コアで共通の時刻まで伝搬し、TEME→ECEF に回転します。コンステレーション全体が GPS の MEO(中軌道)殻の 1% 以内に入ること、および、中緯度の開けた空の地点から、実際に視界内にある全衛星(九機)で PDOP 1.64 となり、垂直方向の精度低下率が水平方向を上回ること(地上のユーザーでは必ずそうなります)を検証します。これは、SP3(精密)と RINEX(放送)の実データ経路と並んで、実際のコンステレーションに対する SGP4 を検証するものです。 |
| SGP4 平均要素による Walker ジェネレーター | validated |
src/walker.rs:設計した Walker-delta パターンを SGP4 の平均要素として出力し(SGP4 の軌道長半径が目標の殻に一致するよう Kozai 平均運動を選択)、検証済みのコアで伝搬します。テスト:24機の GPS 型 Walker は MEO 殻の 1% 以内にあり、軌道面は、軌道法線から復元した RAAN(昇交点赤経)でちょうど 90° 間隔であり、平均運動は ~718 分という GPS 殻の周期を再現します。 |
| コンステレーションの PDOP 掃引 + 被覆/再訪の FoM(性能指標) | validated(単調性) |
src/walker.rs:pdop_sweep は {planes × sats × inclination} のグリッド上で、被覆と PDOP の中央値/最悪値を表にします。coverage_revisit は、地上の一点における被覆率と再訪間隔を報告します。設計のトレードオフが従うべき物理的な単調性で検証済みです。衛星を増やしても被覆は決して下がらず、PDOP の中央値は厳密に下がります(24機の完全な設計は PDOP ~1.7 で連続的に被覆します)。また、間引いたコンステレーションを密にすると、最悪の再訪間隔は厳密に縮まります。平均の再訪間隔が最大値を超えることはありません。これらは幾何のトレードオフ表であり、認証されたリンク/被覆バジェットではありません。 |
正直な位置づけ:これは決定論的な幾何レイヤーです(円軌道、平均半径 6371 km の球形地球、純粋な視線方向)。精密暦による航法解ではなく、実際の幾何から可用性と幾何的な位置精度(精度低下率 × 代表的な距離誤差バジェット)を求めます。orbit-gnss-challenged.toml の参照は、宇宙機を GNSS 殻の内側に置きます。測位解を保てるのは一日の ~59% だけで、量子時計はすべての途切れを通じて 5 ns のタイミング解を維持し(可用性 1.0)、チップスケール時計は ~0.73 を保ちます。
数値(Cowell)伝搬器と力モデル#
数値伝搬器(src/propagator.rs)は、階層的な力モデル(src/forces.rs)を適応型積分器(src/integrator.rs)で積分します。以下の各項は、解析的な真値または手計算で導出した閉形式に対して検証済みです。摂動は既定でオフのため、公開済みのゴールデンは影響を受けません。合成したモデルは別のツールとも照合しています。tests/numerical_cowell_propagator_reference.rs は、LEO と GTO(静止トランスファー軌道)の 11 ケース、275 の毎時のエポックについて、Orekit 12.2 の DormandPrince853 伝搬器と比較し、保守的な階層(二体問題 → J2–J6 → 太陽/月 → キャノンボール SRP)は、24 h にわたって最悪 0.08 m で一致します(マトリクスでは VALIDATED)。抗力の階層は特性評価のみ(333 m)で、MODELLED のままです。
| 項目 | ステータス | エビデンス |
|---|---|---|
| Cowell 伝搬器と解析的な Kepler の真値の比較 | validated |
src/propagator.rs:摂動のない(二体の)軌道は、24 h の LEO 軌道にわたって、厳密な普遍変数による Kepler 解をサブメートルで再現します(「数値参照との比較で < 10 m」よりも厳しいゲートです)。比エネルギーと角運動量は相対誤差 ~1e-9 で保存されます。J2 による昇交点の退行は、閉形式の j2_secular_rates を一次理論の範囲(2 % 以内、O(J2²) の残差)で再現します。ニュートン法が収束しない場合(近地点付近の e = 0.999)、solve_kepler_checked は、黙って誤った答えを返すのではなく Err を返します。頑健な solve_kepler_robust(Markley 1995 の初期値、src/kepler.rs)は、そこでも、0 ≤ e ≤ 0.999999 の範囲全体でも収束し、50桁の mpmath の根に対して 0.9 ε·|E| の範囲内です(tests/kepler_mpmath_oracle.rs)。 |
| 適応型積分器(RK4(四次ルンゲ・クッタ)のステップ倍加 + Dormand–Prince RK5(4) の埋め込みペア、以下 DP5(4)) | validated |
src/integrator.rs:RK4 は y' = y → e を < 1e-9 まで積分し、ステップを半分にするたびに誤差が ~16× 下がること(4次の収束)を示し、一周期にわたって調和振動子を保存します。DP5(4) の埋め込み誤差推定は O(h⁵) であり(ステップを半分にすると ~32× 減る)、振動子を 50 周期にわたって積分してエネルギーを < 1e-6 まで保存し、同じ許容差で同じ終点に、ステップ倍加より少ない関数評価回数で到達します。propagate_dopri は同じサブメートルの Kepler ゲートをクリアし、RK4 の経路と < 1 m の範囲で、J2..J6 軌道において一致します。DOP853(integrate_dop853):Hairer の 8(5,3) ペアは、密な出力を伴い、SciPy 1.18.1 の DOP853 をステップごとに再現し(単一ステップで 5.6e-15 の範囲、e = 0.7 と Arenstorf の実行ではステップ数が同一、LEO の実行では 501 ステップ中一回だけ受理/棄却が反転、終了状態は 1.6e-12 の範囲)、厳密な Kepler 解との一致度も SciPy と同程度です(tests/dop853_scipy_oracle.rs)。 |
| J2–J6 帯球関数調和の場 | validated |
src/forces.rs:zonal_accel は三通りで確認しています。[J2] に制限すると、666 ベクトルで検証済みの j2_accel に機械精度で一致します。自身の帯球関数ポテンシャルの数値勾配に一致します(J2..J6 の場全体にわたる)(保存場における最高水準の確認)。奇数次の J3 と偶数次の J2/J4..J6 の項は、z → −z のもとで特徴的な南北の(反)対称性を示します。伝搬した J2..J6 軌道は、一日にわたって全エネルギーを ~1e-8 で保存します。 |
| 第三体(太陽と月)の重力 | validated |
src/forces.rs + src/ephem.rs:third_body_accel は摂動ポテンシャルの厳密な勾配に一致し、地心で消え、教科書的な LEO の大きさ(太陽 ~5e-7 m/s²、月 ~1.1e-6 m/s²)に達します。低精度の Montenbruck–Gill による太陽の暦は、手計算で導出した J2000 の基準値(近日点距離 ≈ 1.471e11 m、冬至の赤緯 ~−23°、日周運動 ~1°/日)に一致します。月の暦は近地点/遠地点の範囲内にとどまり、平均距離 ~384,400 km を復元し、傾斜角 5.3° を超えることはなく、一恒星月後に 1° 以内に戻ります。エポック駆動の RHS(右辺)の配線はビット単位で厳密です(RHS の項は、t = 0 と t = 1 日のサンプル位置で third_body_accel に等しい)。また、四半年のエポックのずれは異なる軌道を生じます。 |
| 太陽放射圧(SRP)+ 円錐形の影 | validated |
src/forces.rs:srp_accel(キャノンボール ν·P☉·cᵣ·(A/m)·(AU/d)²·d̂)は、完全に日照のある状態で閉形式とビット単位で同一であり、1 AU(AU:天文単位)での放射圧を ≈ 4.5398e-6 N/m² に固定し、~1.36e-7 m/s² の LEO の帯域にあって太陽から離れる向きに押し、太陽距離が二倍になると四分の一になり(逆二乗)、本影の深部では厳密にゼロです。conical_shadow は、完全に日照のある状態で ν = 1、完全な本影で ν = 0 を与え(厳密)、本影円柱の外側にまで広がる [b−a, b+a] の帯域にわたって 0 → 1 へ滑らかに単調増加する半影を与えます。 |
| 大気抗力(最初の速度依存項) | validated |
src/forces.rs:atmospheric_density(Vallado 表 8-4 の区分指数関数)は、海面で 1.225 kg/m³ に固定され、地表より下では値を抑え、LEO を通じて単調に減少し、400 km で ~1e-12 kg/m³ の帯域に入り、物理的に復元されるスケールハイトは ~58 km です。drag_accel は、共回転する相対速度に逆らう向きで、LEO の大きさ ~2e-6 m/s² です。特徴的な確認:300 km の軌道は比エネルギーを単調に失い、軌道長半径は有界の ~km/日で減衰します。真空のベースラインでは、エネルギーは < 1e-9 まで保存されます。 |
| ポスト・ニュートン(Schwarzschild)相対論補正 | validated |
src/forces.rs:relativistic_accel(IERS β = γ = 1 の形 a = (μ/c²r³)·{[4μ/r − v²]·r + 4(r·v)·v})は、円軌道では閉形式 3μ²/(c²r³)·r̂ に帰着し(動径方向、外向きで、軸外の成分は厳密にゼロ)、教科書的な ≈1.9e-9 という二体問題に対する LEO の比を示し、手計算で簡約した動径速度の形 μ(4μ + 3v²r)/(c²r³) と < 1e-12 で一致します。伝搬器の中では、軌道を摂動させつつ、軌道長半径は一日あたり一メートル未満に保ちます。これは抗力による減衰と対照的な、保存的な性質です。 |
適用範囲の正直な説明:公開済みの ForceModel の既定値は帯球関数の場を積分します。高次数の EGM2008 田球関数の場(src/gravity_sh.rs、次数/位数 70)、固体/海洋/大気の潮汐(src/tides.rs)、および Lense–Thirring のフレームドラッギング項は、現在は実装されており、精密暦のフィッティング用の力モデルに組み込まれています(src/precise_od.rs — 下記を参照)。田球関数の場は、Cowell ForceModel のオプトインの項でもあり(propagator::Geopotential、既定ではオフ)、次数/位数 70 まで Orekit 12.2 の HolmesFeatherstoneAttractionModel に対して検証済みです(24 h にわたる 6 ケース、最悪の |Δr| は 0.036 m、tests/cowell_tesseral_orekit_oracle.rs)。場の評価器は二つあります。従来の acceleration(球面偏微分。極から離れた場所で次数 ~180 まで有効、出力は固定)と、acceleration_hf(Holmes–Featherstone 2002 の修正前進列、1/cos φ を含まない勾配。すべての緯度で次数 2190 まで有効)です。2190 までの EGM2008 は実行時に読み込みます(from_gfc_file、scripts/fetch_egm2008.sh、同梱はしません)。acceleration_hf は、次数 2190 までの八地点で Orekit 12.2 と 7.3e-17 m/s² で一致しますが、pyshtools が事前登録した極付近の合格基準に届かなかったため(mpmath による確認では誤差は pyshtools 側にあります。xval/high-degree-gravity/)、MODELLED のままです。24 h の 200×200 の軌道は Orekit と 0.13 m で一致しますが、事前登録した次数70の感度コントロールは基準に届かなかったため(0.73 m < 1 m)、次数 71〜200 は、軌道上では検証済みではなく特性評価にとどまります(xval/cowell-tesseral-200-orekit/)。NRLMSISE-00(NRLMSISE:米海軍研究所の質量分析計・非干渉散乱レーダー拡張大気モデル)の熱圏密度は移植済みで(src/nrlmsise00.rs:パブリックドメインの C 移植版と 720 点でビット単位で同一、pymsis と相対誤差 1.9e-6 の範囲で一致し、公表されている 17 件のテストケースを再現します。tests/nrlmsise00_reference.rs)、オプトインの抗力密度階層です(forces::DensityModel、ForceModel::drag_density。既定は静的な Vallado モデルのまま)。これが検証するのは移植であって、測定された密度に対するモデルの精度ではありません。DE440(DE:開発暦)の太陽と月は、オプトインの暦の階層です(ForceModel::with_ephemeris)。WGS-84 の扁平地球による SRP の影はオプトインで(ForceModel::srp_shadow)、2400 の幾何にわたって Orekit 12.2 の照明比と 7.4e-9 の範囲で一致します(tests/srp_oblate_shadow_orekit_oracle.rs)。その周縁減光版には外部オラクルがありません(MODELLED)。NRLMSISE-00 の抗力階層は、24 h にわたって、最大 142 km の抗力変位に対し、Orekit 12.2 自身の NRLMSISE-00 抗力と 0.03 m で一致します(tests/drag_tier_orekit_oracle.rs、共有する規約のもとで VALIDATED)。GMAT(汎用ミッション解析ツール)とのクロスチェックは、今後の課題のままです。
重力ポテンシャルに対する潮汐(src/tides.rs)#
ストークス係数に対する時間変動補正 ΔC̄_nm、ΔS̄_nm(IERS Conventions 2010、第 6 章)。他のツールに対してではなく、規約自身が公表している数値に対して検証済みです。
| 寄与 | ステータス | エビデンス |
|---|---|---|
| 固体地球潮汐(IERS 式 6.6 / 6.8b / 6.14) | validated |
tests/tides_iers.rs:永久(ゼロ周波数)潮汐 ΔC̄₂₀ は、IERS が公表している −4.1736×10⁻⁹(非弾性ラブ数)の 1 % 以内に収まります。Step-2 の K1 の計算例はビット単位で再現されます(sin/cos の振幅 470.9 / −30.2 ×10⁻¹² を 0.1×10⁻¹² の範囲で)。正規化ルジャンドルの経路は、漸化式とは独立な閉形式の手計算値で固定しています。 |
| 海洋潮汐(IERS 式 6.15、FES2004(有限要素解 2004 潮汐アトラス)、8 分潮) | validated |
取り込んだ FES2004 のサブセット(tools/gen_fes2004.py → src/fes2004_data.rs、Doodson→乗数のパース)は、元の M2(2,2)係数を厳密に再現します。K1 の Doodson 位相は θ_g + π に等しく、2次の扇形成分の大きさは物理的であり、固体潮汐より一桁小さくなります。 |
| 大気 S2 気潮(Ray 2001、NASA(米国航空宇宙局)GSFC(ゴダード宇宙飛行センター)) | validated |
取り込んだ Ray の調和成分は、表面荷重関係(式 6.21)を通じて、ピーク ΔC̄₂₂ ≈ 4×10⁻¹¹(海洋 M2 項の~10 %)に変換されます。正直な注意点:大気潮汐については、公表されている重力ポテンシャル係数のオラクルが存在しません。そのため、出典の完全性と大きさで検証しており、これは固体/海洋潮汐よりも弱い基準です。 |
マニューバと軌道設計(src/maneuver.rs)#
| 観点 | ステータス | エビデンス |
|---|---|---|
| インパルシブ ΔV + 共分散の伝搬 | validated |
速度の不連続を、6×6 の共分散を持ち越したまま扱います(決定論的な噴射 ⇒ 単位行列の STM(状態遷移行列)。実行誤差の共分散は、噴射座標系(ECI(地球中心慣性座標系)または LVLH(局所垂直・局所水平))から速度ブロックへ回転されます)。 |
| 有限噴射の積分と Tsiolkovsky の比較 | validated |
噴射区間にわたる一定推力の積分(質量を状態として扱う)で、得られた ΔV が閉形式のツィオルコフスキーのロケット方程式と 0.01 % より良く一致します。 |
| Lambert ソルバー(Izzo 2015)の往復変換 | validated |
単一周回の Lambert 出力(r1、r2、飛行時間 ⇒ v1、v2)は、厳密な普遍変数による Kepler 伝搬器を通して往復変換されます。出力は r2 に戻らなければなりません。 |
| ポークチョップ掃引と Hohmann の下限 | validated |
出発 × 到着の C3 / 到着 V∞ グリッドの最小値を、同一平面上の二つの円軌道に対する解析的な Hohmann 遷移の C3 下限と照合します。 |
| Lambert ソルバーと独立したライブラリの比較 | validated |
tests/lambert_reference.rs:LEO から GEO、太陽中心までの 13 件の単一周回遷移を、順行と逆行の両方で、lamberthub 1.0.0 の izzo2015 と比較します。境界速度の差の最大は 7e-12 m/s です。 |
適用範囲の正直な説明:軌道最適化器はなく、複数周回の Lambert の分岐もなく、太陽中心モデルは合成の同一平面円軌道です(惑星の DE 暦はないため、GMAT の地球–火星 C3 のクロスチェックは実行していません)。
軌道決定(OD)(src/orbit_determination.rs、src/batch_ls.rs)#
| 観点 | ステータス | エビデンス |
|---|---|---|
| ガウス・ニュートン法のバッチ補正器 | validated |
汎用の gauss_newton ソルバーは、線形フィットでは厳密な重み付き最小二乗解に到達し、非線形の a·exp(b·t) フィットでは真のパラメーターを復元し、ノイズのない距離から3次元の距離多辺測位を解きます。 |
| 距離からのバッチ軌道決定 | validated |
determine_orbit_batch は、地上局の距離追跡から(二体問題 + J2 の力モデルで伝搬して)[r, v] を、ノイズのない距離ではサブメートル/mm·s⁻¹で、また事後残差が 5 m のノイズフロアにある場合は ~2 m で復元します。これは、整合した最小二乗フィットであることの特徴です。 |
| 逐次(無香料フィルター)OD | validated |
determine_orbit_sequential は、同じ力学と距離モデルのもとで、状態を数十メートル以内に再帰的に復元します。 |
| バッチ OD および逐次 OD と独立した推定器の比較 | validated |
tests/batch_sequential_orbit_determination_reference.rs:8 シナリオ(3〜4 局のノイズなしの LEO/MEO/離心軌道が 6、σ = 5 m が 2)を、力モデルを揃えた Orekit 12.2 のバッチ最小二乗およびカルマン推定器と比較します。バッチの最悪値は 1e-3 m / 1e-6 m/s、逐次は 0.9 m です。 |
| 仰角マスク付きの距離変化率/方位角・仰角のバッチ OD | modelled(外部との比較、事前登録した基準の一つは未達) | tests/od_tracking_measurements_reference.rs:8 シナリオを、カスタムの瞬時幾何測定を用いた Orekit 12.2 のバッチ最小二乗と比較しました。可視集合は同一、測定値は 5.8e-8 m / 6.3e-10 m/s / 1.4e-13 rad の範囲、状態遷移行列は 1.2e-14 の範囲、ノイズのある状態は 1.74 cm の範囲、型ごとの RMS は 2.7e-4 の範囲で一致します。事前登録したノイズなしの ≤ 1 cm という状態の基準は、4 シナリオ中 2 シナリオで未達です(1.46 cm と 1.74 cm。Orekit 自身の推定値はシミュレーションの真値からそれだけ離れており、kshana は 1e-8 m の範囲内です)。xval/od-measurements-orekit/RESULTS.md を参照してください。 |
適用範囲の正直な説明:教育用の OD は、固定された慣性系の局、球形地球のトポセントリック座標系、瞬時の幾何測定(光行時間、光行差、屈折、地球自転は考慮しない)を用います。距離変化率/角度の経路の状態遷移行列は、解析的な二体問題 + J2 の偏微分を用いた RK4 積分による変分形式であり、閉形式ではありません。距離変化率または角度に対する逐次フィルターはありません。距離のみの経路は、有限差分のヤコビアンを維持しています。(下の全力モデルの暦フィッティングエンジンは、独自の変分状態遷移行列を持っています。)
暦フィッティングによる力モデルの検証(src/precise_od.rs)#
精密な全力の位置観測バッチ最小二乗推定器:EGM2008 田球関数重力ポテンシャル(CIO 変換を通じて地球固定座標系で評価)に、太陽/月の第三体、SRP、抗力、Schwarzschild/Lense–Thirring の GR(一般相対性理論)、および上記の潮汐を組み合わせ、変分状態遷移行列のヤコビアンを用いて、慣性系の位置測位解の軌跡にフィットさせます。合成データで検証済みです。真値は Kshana 自身の積分器であるため、すべての残差は力学ではなく推定器に由来します。
| 観点 | ステータス | エビデンス |
|---|---|---|
| 精密力モデルの合成 | validated |
tests/precise_od_synth.rs:次数0の場はすべてのエポックで厳密な質点です(中心項は回転不変)。次数8は J2 帯の扁平を加えます。太陽の第三体と潮汐項はビット単位で忠実に組み込まれます。一定の動径方向の経験的加速度は、RTN(動径、横方向、法線)では純粋に動径方向です。 |
| 変分状態遷移行列 | validated |
LEO 軌道の半周にわたる Φ のすべての列(次数8の重力ポテンシャル + 太陽 + 月)は、独立した全弧の中心有限差分(FD)による再伝搬と、位置と速度の両方の応答で相対誤差 < 1×10⁻⁶ の範囲で一致します。これは、文書化された STM↔FD のクロスチェックです。Φ(0) = I であり、拡張版と通常の伝搬器はサブミリメートルで一致します。 |
| バッチ LS の自己復元 | validated |
ノイズなしで観測した 1時間の Kshana の弧(次数6 + 太陽 + 月)は、150 m / 0.1 m·s⁻¹ のオフセットから、エポック状態を 1×10⁻² m の範囲で復元され、事後 RMS はほぼゼロです。5 m の白色ノイズでは、事後の3次元 RMS は~σ のノイズフロアに落ち着き、バイアスはありません。SRP の C_R は 1.0 から 1.4 の真値の 1 % 以内に復元されます。 |
| 外れ値の編集と RTN の報告 | validated |
500 m の大きな誤りは、5-σ の事後編集(観測はちょうど一件)で棄却され、ミリメートルレベルの清浄なフィットが残ります。残差は、3次元に加えて、動径/横方向/法線に分解して報告されます。 |
| 経験的加速度の階層(RTN 定数 + 1-CPR(CPR:一周回あたりのサイクル)) | validated |
事前制約を付けた九つの経験的パラメーターは、経験項のない真値に対して 1×10⁻⁸ m·s⁻² を下回り、フィットを乱しません。真値に注入した一定の 3×10⁻⁸ m·s⁻² の軌道直交方向の加速度は、20 % 以内に復元されます。 |
適用範囲の正直な説明:合成の軌道弧では、名目的な地球姿勢パラメーター(EOP:UT1(世界時 1、地球自転時)≈ TT(地球時)、極運動なし)を用います。同じモデルが弧を生成してフィットするため、自己復元には厳密です。機関データセットによる検証は、CIO 座標系チェーンを通じて、このエンジンの上に実際の finals2000A の EOP と SP3/SPK(SPK:惑星暦カーネル)の真値を重ねます(src/eop.rs、tests/agency_galileo.rs、tests/agency_swarm.rs、tests/agency_lro.rs)。
実際の機関による精密軌道(tests/agency_galileo.rs、tests/agency_swarm.rs、tests/agency_lro.rs)#
| データセット | ステータス | エビデンス |
|---|---|---|
| Galileo MEO — < 5 m GREEN | validated |
Kshana の全力エンジンを、Galileo E11 の ESA/ESOC(ESOC:欧州宇宙運用センター)自身の最終軌道(ESA0MGNFIN、ITRF(国際地球基準座標系))の原文のままの切り出しに 8 h にわたってフィットし、各 ITRF の測位解を実際の finals2000A EOP で GCRS に回転しました。事後の3次元 RMS は 0.133 m(純粋な力 + C_R、RTN 0.105/0.067/0.047 m、C_R 1.174)、経験項の階層を加えると 0.070 m で、78.7 km の生のオーバーラップからのものです。24 h の弧全体では 0.611 m です。いずれも 5 m の基準を大きく下回っています。重力場は d/o-8 で収束しています(d/o 8/10/12 で同一)。workflow_dispatch ジョブは完全な d/o-70 を実行します。出所と SHA-256(SHA:セキュアハッシュアルゴリズム)は tests/fixtures/agency/NOTICE.md に、完全な記録は docs/AGENCY-ORBIT-VALIDATION.md にあります。 |
| Swarm-A LEO — < 5 m GREEN | validated |
全力エンジン(+ 大気抗力)を、ESA 自身の Swarm-A の簡約力学精密軌道(SW_OPER_SP3ACOM_2_、L47、ITRF、~430 km、~2 cm)の原文のままの切り出しに 3 h にわたり d/o-70 でフィットし、CIO チェーンを通じて実際の finals2000A EOP を用いました。力学階層(状態のみ、静的密度、C_R=1)の事後3次元 RMS は 2.687 m(RTN 0.925/2.522/0.045 m。残差は ≈ 純粋な沿軌道方向の抗力)、簡約力学階層(+ 経験的 CPR 加速度)では 0.098 m(RTN 0.026/0.092/0.025 m)で、ESA の ~2 cm の軌道に対して ~10 cm です。出所と SHA-256 は tests/fixtures/agency/NOTICE.md に、完全な記録は docs/AGENCY-ORBIT-VALIDATION.md にあります。 |
| LRO(月周回探査機 Lunar Reconnaissance Orbiter)の月 — 検証済み、5 m 超(正直に) | validated |
月中心の力モデルのフィット(src/lunar_od.rs):GRAIL の GRGM660PRIM 重力場(d/o 100)を、月の主慣性軸の月固定座標系(src/lunar_frame.rs、IAU 2015 平均地球軸 + 固定された DE421(Development Ephemeris 421)の平均地球軸 → 主慣性軸(ME→PA)のオフセットで、0.36 以降は SPICE の定義どおりに適用しています。それまでは逆向きに適用しており、約 208″ のずれがありました)で用い、地球/太陽の第三体を加え、地球のデータセットと同じ汎用ガウス・ニュートン推定器で、実際の JPL Horizons の LRO(NAIF −85)の再構成軌道、4 h / 241 エポック、~98 km にフィットしました。正直な事後(0.36):力学 12.05 m(RTN 2.91/10.11/5.88)、簡約力学 6.67 m(RTN 3.41/4.58/3.44、1+2-per-rev の経験項)で、39.9 m の生のオーバーラップからのものです(ME→PA の修正前:12.6 m、6.65 m、53.8 m)。この残差は上回っており、その基準は < 5 m です。制限要因は推定器ではありません(d/o 100/150 と atol 1e-6/1e-9 で同一)。DE グレードのクロスバリデーション(xval/anise-lunar-od:ANISE を介した DE440(Development Ephemeris 440)の月の主慣性軸の向き + DE440 の暦)は、制限要因についての主張を訂正しました。力学で 12.0 m、簡約力学で 6.67 m が得られ、修正後の解析スタックは現在、両方の階層でこれに一致します(それ以前の力学の差、12.6 → 12.0 m は、ME→PA のオフセット誤差でした)。したがって、運用上の下限は解析的な向き/暦ではなく、経験項の階層では減らせない残差(短い弧にわたる LRO の非重力力学が未モデル化であることと最もよく整合)です。簡素な解析スタックは、簡約力学の軌道については、すでに DE グレードに一致しています。出所と SHA-256 は tests/fixtures/agency/NOTICE.md に、完全な記録は docs/AGENCY-ORBIT-VALIDATION.md にあります。実際の機関の真値に対して検証済み:3 件中 3 件、< 5 m を満たしたもの:2 件(3 件中)。 |
重力マップ/alt-PNT 航法(src/gravimeter.rs、src/mapmatch.rs、src/particle_filter.rs、src/altpnt/terrain.rs)#
| 観点 | ステータス | エビデンス |
|---|---|---|
| 球面調和関数による重力異常場 | validated |
src/gravimeter.rs:低次数で完全正規化した場を、閉形式のルジャンドル関数(P̄₁₁ = √3·cosφ、P̄₂₀ = (√5/2)(3sin²φ−1)、P̄₂₂ = (√15/2)cos²φ)と、手計算で導出した単一項の異常 1.897 mGal に対して検証します。 |
| 冷却原子重力計の測定モデル | validated(モデル) |
白色ノイズフロアは CAI 加速度計の ASD(σ = ASD/√τ)から導出し、決定論的なシード付きの系列として注入します(マッチャーにノイズのない真値は渡されませんが、実行はビット単位で再現可能です)。 |
| 逐次重要度再サンプリング(SIR)粒子フィルタ | validated |
src/particle_filter.rs:決定論的なコアを厳密に固定しています。1…N にわたる ESS(有効標本サイズ)、重みに比例して添字を選ぶ系統的リサンプリング、重み付き平均の凸結合、推定値を測定に引き寄せるガウス尤度、およびシード付き予測の決定性です。 |
| 地図照合尤度+回復 | validated |
src/mapmatch.rs:field_likelihood は、完全に一致するときにピーク(= 1)となり、一シグマで e^(−½) に下がります。特徴的な合成地形の領域に対する粒子フィルターは、真の位置を 0.1 以内で復元します。 |
| 60分間の GPS 拒否環境ベンチマーク | validated |
run_gps_denied_gravity_nav(scenarios/gps-denied-gravity-nav.toml):~700 km/一時間の停止区間で、慣性解が≈ 70 km までドリフトするところを、階層的な粗から細へのマッチャーが≈ 145 m(< 500 m)まで回復します。ビット単位で再現可能で、ノイズの実現にわたって安定しており、精緻化で制限されることが証明できます(単一の粗いグリッドでは ~2 km で頭打ちになります)。 |
SRTM(シャトル・レーダー地形ミッション).hgt の DEM(数値標高モデル)ローダーと双線形サンプル(ORACLE A) |
validated |
src/altpnt/terrain.rs / tests/terrain_nav_validation.rs:角が [100,200;300,400] の手作りの 2×2 の .hgt バッファは、セル中心で厳密に 250.0 に双線形補間され(閉形式のオラクル)、16ビットのビッグエンディアンの往復変換は厳密で、行の反転は最北のファイル行を保存された最高緯度に配置します。これらはすべて、GDAL(地理空間データ抽象化ライブラリ)の SRTMHGT(シャトル・レーダー地形ミッションの高さファイル形式)ドライバー仕様(16ビット符号付きビッグエンディアン、行優先、北の行が先頭、空白 -32768、https://gdal.org/en/stable/drivers/raster/srtmhgt.html)に対するものです。コミット済みの 11×11 のフィクスチャ(tools/gen_terrain_fixture.py)は CI でパーサーを検証し、コミット済みの、実際のパブリックドメインの NASA/USGS(USGS:米国地質調査所)の SRTM v3 タイル(N36W117、デスバレー、6秒角に間引き、722 KB、tests/fixtures/terrain/N36W117_sub6.hgt)は CI で読み込まれ(無視されない、real_srtm_committed_badwater_tile_reads_real_relief)、Badwater Basin は ≈ −78 m で、文書化された [−95,−70] m の帯域内(NGS/NOAA(NGS:米国測地測量局、NOAA:米国海洋大気庁)の測量は ≈ −86 m)、タイルの最大値は ≈ 2161 m です。基準の出典は測量であり、検証されるのは DEM です(非循環)。より大きな公表済みの標高点(Mount Whitney 4421 m)は、#[ignore] で制御された全タイルのテストに残っています。 |
| 地形参照航法(TERCOM/SITAN(TERCOM:地形等高線マッチング、SITAN:サンディア慣性地形支援航法))の収束(ORACLE B) | validated |
run_terrain_nav(scenarios/terrain-nav.toml):手計算で導出した、注入した INS のドリフト(0.5°N、−0.4°E ≈ ~12° の緯度で 70 km、ドリフト° × 度あたりのメートル × cos 緯度として計算)は、< 500 m(グリッド分解能の下限 search_step/factor² ≈ 140 m の範囲内)まで回復し、自由慣性に対して > 100× の削減になります。注入した数値に対して検証しており、DEM に対してではありません(非循環)。ビット単位で再現可能で、ノイズのシードにわたって安定しています。 |
| 重力+磁気+地形の複合融合ゲイン(ORACLE C) | validated |
run_combined_altpnt(scenarios/combined-altpnt.toml):三つのスカラーチャネル(Δg · |B| 地殻異常 · 標高)を積の尤度として融合すると、60分の停止区間にわたって有界な < 500 m の残差が得られ、シード平均では最良の単一チャネルより悪くありません(情報の加法性/CRLB(クラメール・ラオ下限)の低下)。公表されている TERCOM/地形参照航法(TRN)の「数十メートル」の CEP(半数必中界)の領域にあります(https://en.wikipedia.org/wiki/TERCOM、PeerJ 2024 ESKF-TERCOM(ESKF:誤差状態カルマンフィルター)、https://peerj.com/articles/cs-3118/)。 |
適用範囲の正直な説明:重力場は低次数 + 合成のマスコンであり、完全な EGM2008/EIGEN(EIGEN:新技術による欧州改良地球重力モデル)の係数セットではありません。磁気チャネルは滑らかな IGRF 主磁場に合成の地殻異常マスコンを加えたものに乗っています(実際の高周波の地殻マップは今後の課題です)。航法測位解のベンチマーク用の CI の地形場は、自己完結した合成 DEM であり、.hgt のリーダー自体は、コミット済みの実際の SRTM v3 タイルに対して、CI で検証済みです(上記)。フルレゾリューションの実タイルは #[ignore] で制御されたままです。地図表現誤差のモンテカルロは今後の課題のままです。三つの航法器はすべて、シナリオエンジンの kind= に接続されています(gravity-map、terrain-nav、combined-altpnt)。
INS / IMU の誤差モデル — データシートを参照した検証(src/inertial/)#
IMU の確率的誤差モデルは、公表されているメーカーのデータシート/データセットの仕様に対して検証しており、Kshana 自身が生成した値に対しては行いません。現場単位の仕様から SI(国際単位系)のノイズモデルへの橋渡しは、標準的なアラン偏差の同定です(Riley、NIST SP 1065 §5、IEEE(電気電子学会)Std 952)。ランダムウォーク係数 N は、τ⁻¹ᐟ² の傾き上の τ = 1 s で読み取ったオーバーラップ ADEV であり、バイアス不安定性係数は平坦なアランのプラトーです(tests/imu_allan_spec.rs、ハーメチック、ダウンロード不要)。
| 観点 | ステータス | エビデンス/オラクル |
|---|---|---|
| 単位変換レイヤー(非循環性リスクの #1) | validated |
手計算で確認:0.15 deg/√hr = 4.3633e-5 rad/√s、3.6 µg = 3.5304e-5 m/s²、2.0 deg/hr = 9.6963e-6 rad/s。 |
| ジャイロの角度ランダムウォーク | validated |
ADIS16465 の ARW 0.15 deg/√hr(Analog Devices のデータシート)を、ADEV(1 s) から < 5% の範囲で復元しました。 |
| 加速度計の速度ランダムウォーク | validated |
ADIS16465 の VRW 0.1 m/s/√hr を < 5% の範囲で復元しました。 |
| 白色ノイズのアラン傾き | validated |
ADIS16460 の白色分岐の対数–対数の傾き −0.5 ± 0.05。 |
| 動作中のバイアス不安定性のプラトー | validated |
ADIS16465 のジャイロのバイアス不安定性(BI)2.0 deg/hr を、平坦なアラン最小値として < 15% の範囲で復元しました。 |
| 二つ目の IMU プロファイル | validated |
NaveGo の ADIS16488(ARW 0.3 deg/√hr、VRW 0.029 m/s/√hr)は、どちらも < 5% の範囲で復元しました。 |
適用範囲の正直な説明:これは、データシートのアラン係数に対して確率的誤差モデルを検証するものです。i2Nav-WHU(WHU:武漢大学)の KF-GINS 車両データセットは、データで制御された別個のチェックとして使います。GNSS のレバーアームモデルを備えた疎結合の閉ループ誤差状態 EKF は、検証マトリクスの VALIDATED の行(KF-GINS データセットにおけるレバーアーム付き疎結合 GNSS/INS EKF)であり、実行前に登録した基準のもとで、KF-GINS の C++ 参照軌道と比較されます。これはデータセットが提供される場合にのみ実行されます(KSHANA_KFGINS_DIR)。ない場合は、合成ローダーとレバーアームのテストが実行されます。密結合および搬送波位相の各バリアントは、その行の対象外です(搬送波位相の密結合 GNSS/INS の行は MODELLED です)。
深宇宙と火星の PNT — D0 基盤(src/body.rs、src/mars_frame.rs、src/ephem_provider.rs、src/radiometric.rs、src/timescales.rs)#
深宇宙航法エンジンの最初のマイルストーンです。地球に固定されたコアを任意の中心天体に一般化し、火星の力学、暦プロバイダーの接続点、マイクロ秒未満の時刻、光行時間/相対論的遅延のプリミティブを追加します。既存の地球シナリオはすべてバイト単位で同一であり、クロスプラットフォームの再現性ゴールデン(tests/cross_platform_golden.rs、tests/golden.rs)は、再生成なしにそのまま合格し、コミットごとに強制されます。
| 項目 | ステータス | エビデンス |
|---|---|---|
| 中心天体の抽象化(地球はバイト単位で同一) | validated |
src/body.rs:Body{mu,re,zonals,gravity,rotation,IAU-pole} と earth()/mars()/moon()/sun()。tests/mars_dynamics.rs は、two_body_accel_body(r,&Body::earth()) と zonal_accel_body が従来の地球用関数とビットまで完全に等しいことを検証し(assert_eq!)、既定の ForceModel による地球の弧はバイト単位で同一です。再現性ゴールデンは変わりません(同じ SHA、再生成なし)。 |
| 火星の重力(GMM-3(GMM:Goddard Mars Model)の田球関数、天体固定) | validated(モデル) |
Body::mars_gmm3(nmax):MRO110(Mars Reconnaissance Orbiter の重力解)の J2/J3/J4 から帯球関数 C̄20/C̄30/C̄40(C̄n0=−Jn/√(2n+1)、J2 は 1.9604e-3 に往復変換されます)+ MRO110B2 の領域/田球関数 C̄22/S̄22、C̄32/S̄32(Konopliv ら 2011、Liu、Baoyin & Ma 2012 に表としてまとめられています)を、IAU の火星固定座標系で評価します。tests/mars_dynamics.rs は、往復変換、質点からの J2 規模のずれ、場が真に天体固定であること(火星の一日の四分の一の向きの変化が慣性加速度を変える)を確認します。より高い次数/位数は、同梱の .gfc から gravity_sh::from_gfc を通じて読み込みます。 |
| 火星の天体固定座標系(IAU の極) | validated |
src/mars_frame.rs:IAU の 3-1-3 回転 R3(W)·R1(90°−δ0)·R3(90°+α0)(WGCCRE/NAIF(WGCCRE:地図座標・自転要素作業部会)の規約で、lunar_frame.rs と同じ)。テスト:1e-12 まで正規直交で det +1、往復変換の恒等性、本初子午線は prime_w_dot の割合で一日あたり進みます。 |
| 火星/太陽中心の伝搬 | validated(自己整合性) |
tests/mars_propagation.rs:低火星軌道は、ケプラー周期の後に出発点に戻ります(閉合)。比エネルギー ε=v²/2−μ/r は、弧にわたって <1e-9 しかドリフトしません。火星 J2 の永年的な昇交点退行は、解析的な Vallado の割合(独立に計算した ≈ −5.15 °/日、傾斜角 60°)と 3% で一致します。太陽中心軌道は、~687日の火星年を復元します(vis-viva と、弧からの独立した周期の復元)。外部データはありません。 |
| DE440 によるクロスバリデーション(太陽中心の火星) | kernel-gated |
xval/anise-mars-od/(ワークスペースから除外。MPL-2.0 の ANISE は独自の Cargo.lock に閉じ込め、xval/anise-lunar-od を踏襲):Kshana の太陽中心の火星の伝搬を、JPL の DE440(ANISE 経由)と比較します。Horizons の真値は原文のまま引用しています(出所 + SHA-256)。再現した結果(シード JD(ユリウス日)2459580.5 TDB(太陽系力学時)、de440s.bsp の SHA-256 は c1c7fee…b260a49f2):位置残差は 1日の弧で 137 m(太陽中心距離 2.299×10¹¹ m の 5.97×10⁻¹⁰)で、5 日で 3.3 km、30 日で 87.9 km、90 日で 1.71 Mm に増加します。残差が弧の長さとともに増えるのは、太陽中心の二体モデルが、DE440 の重心暦が含む惑星摂動(主に木星)と火星系の内部運動を意図的に省いているためであり、この増加は、未モデル化の多体力学の正直な特徴であって、積分器の誤差ではありません。短い弧が太陽中心距離のごく小さな割合にとどまることは、太陽中心の仕組みが正しいことを裏付けます。DE440 カーネルがある場合($KSHANA_ANISE_DE440S、または ~32 MB を自動取得)にのみ実行され、手動/workflow_dispatch の DE グレードのチェックであって、既定の CI ゲートではありません。そのため、公開しているクレートと既定のゲートはすべて、バイト単位で変更されません。 |
| 光行時間 + Shapiro 遅延 | validated |
src/radiometric.rs:反復的な遅延エポックの光行時間解(|Δτ|<1e-12 s に収束、上限あり)と Shapiro 遅延 Δt=(2μ/c³)·ln[(r1+r2+r12)/(r1+r2−r12)]。テスト:組み込み暦による地球–太陽 ≈ 499 s と地球–月 ≈ 1.28 s。合成の等速の発信源は、解析的な遅延解を <1e-9 s の範囲で復元します(ソルバーが実際の暦に依存しないことの証明)。Shapiro は手計算した値と厳密に一致し、地球–火星の外合のかすめる光線では ~100〜250 µs を与えます。 |
| 暦プロバイダーの接続点 | validated |
src/ephem_provider.rs:trait EphemerisProvider + カーネル不要の BuiltinEphemeris(Montenbruck–Gill の太陽/月、地心)。級数を持たない天体(例:火星)には None を返し、その場合は DE グレードの ANISE プロバイダーを使います。これは LunarEnvironment/AniseLunarEnvironment と同じ、組み込みと ANISE の分担です。 |
| 二分割時刻 + TT↔TDB | validated |
src/timescales.rs:Knuth の two-sum 累積を用いた TwoPartJd{day,frac} は、単一の f64 の JD が J2000 付近で失うマイクロ秒未満の間隔を復元します(>1000× 優れており、テスト済み)。tt_to_tdb/tdb_to_tt は主要な Fairhead–Bretagnon の周期級数を使います(|TDB−TT|≲1.7 ms、J2000 で手計算により確認)。追加のみであり、既存の単一 f64 の時刻経路は変わりません。 |
深宇宙の電波観測量と CCSDS 追跡データメッセージ — D1(src/radiometric.rs、src/ccsds_tdm.rs)#
深宇宙航法エンジンの第二のマイルストーンです。D0 の光行時間/相対論的遅延カーネルを、Deep Space Network(DSN)や ESTRACK(欧州宇宙追跡ネットワーク)の追跡パスが報告する実際の量に変える観測量モデルです。具体的には、距離、一方向、二方向、三方向のドップラー、コヒーレントトランスポンダーのターンアラウンド、再生型/PN(PN:擬似雑音)測距、Δ-DOR(DOR:差分片道測距)、および伝搬媒質です。さらに、標準的な機関の追跡ファイルを取り込み、出力する CCSDS(宇宙データシステム諮問委員会)503.0-B 追跡データメッセージ(TDM)の入出力を備えます。適用範囲の正直な説明:これらは Moyer/CCSDS の規約に従う厳密な幾何モデルであり、測定のノイズは呼び出し側が与える観測ごとの sigma で、モデルに組み込まれてはいません。特定の実際の追跡パスの再現には、実際の TDM データと深宇宙の軌道決定ソルバーが必要であり、それは D1 ではなく D2 です。以下はすべて追加のみです(再現性ゴールデンは変わらず、同じ SHA、再生成なし)。
| 項目 | ステータス | エビデンス |
|---|---|---|
| 距離と 1/2/3 ウェイのドップラー(Moyer の二区間解) | validated(モデル) |
src/radiometric.rs:one_way_range/two_way_range は、D0 の遅延(下り区間)と先行(上り区間)の光行時間解を組み合わせます。完全な往復の規約は ρ₂ = c·(τ_up + τ_down)(m)であり、文書化され、整合しています。one_way_doppler/two_way_doppler/three_way_doppler は、視線方向の距離変化率から搬送波シフト f_D = −(M·f_ul/c)·(ρ̇_up + ρ̇_down)(Hz)を形成します。符号の規約:接近する宇宙機は正(青方)のシフトを与えます。テスト:双方向の距離 = 各区間の和で、<1 mm の範囲(~2 AU の地球–太陽の往復)。片方向の距離 = c·τ で厳密。片方向のドップラーは、動径方向の等速の発信源に対する解析的な −(f/c)·ρ̇ と ppt の範囲で一致します。同一位置の局による三方向は、バイト単位で双方向に帰着します。 |
| コヒーレントトランスポンダーのターンアラウンド(厳密な DSN 比) | validated |
src/radiometric.rs turnaround_ratio:厳密な有理数の DSN/CCSDS のターンアラウンド数 M = f_down/f_up(Moyer §13、DSN 810-005 モジュール 201/214)— S/S 240/221、S/X 880/221、X/S 240/749、X/X 880/749、X/Ka 3344/749、Ka/Ka 3360/3599。厳密な等価性をテストしています。未定義のバンドの組はパニックします(フェイルラウド、比を勝手に作ることはありません)。two_way_doppler_coherent は、バンドの搬送波と比をエンド・ツー・エンドで適用し、明示的な two_way_doppler と機械精度で等しくなります。 |
| 再生型/PN 測距(CCSDS 414、曖昧さ) | validated |
src/radiometric.rs:regenerative_range_ambiguity = c/(2·chip_rate)(チップあたりの分解能スケールの曖昧さのない距離)、pn_range_ambiguity = それ × コード長(完全な PN コードの曖昧さのない距離 c·L/(2·f_chip))、CCSDS 414.1-B による。テスト:1 MHz の測距クロックは ~149.9 m を与えます。CCSDS-414.1 の重み付き投票 PN コード(1,009,470 チップ)は 1 Mchip/s で、設計上の曖昧さのない距離 ~151,000 km を与えます。チップレートを二倍にすると、チップあたりの曖昧さは半分になります。 |
| Δ-DOR(CCSDS 506 の天空面) | validated(モデル) |
src/radiometric.rs delta_dor:干渉計の基線 B⃗ に対する天空面の差分遅延 Δτ = −B⃗·(ŝ_sc − ŝ_quasar)/c(s)です(CCSDS 506.1-B)。テスト:既知の基線方向のオフセットに対する厳密な解析的射影 −B·sin(Δθ)/c と 1e-15 s の範囲で一致し、小角の大きさ |Δτ| ≈ B·Δθ/c とも一致し、ヌル(クエーサーと同じ方向にある宇宙機は、差分遅延が厳密にゼロになる)も確認します。 |
| プラズマ 1/f² の二周波較正 | validated(モデル) |
src/radiometric.rs:solar_plasma_delay = K_PLASMA·TEC/(c·f²)(荷電粒子の分散性の 1/f² 群遅延、K_PLASMA = 40.3 m·Hz²·TECU⁻¹)。coronal_tec_from_sep は Cassini 級の TEC ∝ 1/sin(SEP) コロナ柱(解析的な代用で、較正されたコロナではない)。dual_freq_plasma_calibration は、DSN がプラズマを除去するために使う K_disp = (Δt_X−Δt_Ka)/(1/f_X²−1/f_Ka²) の分散反転です。テスト:1/f² の法則 d_X/d_Ka = (f_Ka/f_X)²、コロナが合に向かって増加すること、そして注入した TEC は <1 % の範囲で復元されること(ノイズなしでは実際には ≪ 1e-9)— dual_frequency_recovers_injected_plasma。 |
| 対流圏/電離圏の媒質(GNSS モデルを再利用) | validated(モデル) |
src/radiometric.rs tropo_delay/iono_delay:深宇宙の地上局セグメントは、GNSS パックがすでにモデル化している同じ地球大気を通過するため、これらは gnss_sim::tropo_delay_m(Saastamoinen の天頂 + Niell のマッピング、非分散性)と gnss_sim::klobuchar_delay_m(放送電離圏)に委譲します。接続と物理的な符号をテストしています。対流圏は正で、天頂より低仰角のほうが大きく、電離圏は非負の斜め遅延です(数値的な忠実度は GNSS パック自身のデータシート参照テストにあります)。 |
| CCSDS-TDM 503 のパース/出力 + 電波観測への橋渡し | validated |
src/ccsds_tdm.rs:CCSDS 503.0-B-2 の KVN(キーワード値表記)の読み取りと書き出し(ヘッダー + META_START…META_STOP / DATA_START…DATA_STOP セグメント、RANGE/DOPPLER_*/ANGLE_*/*_FREQ レコード)。テスト(#[cfg(test)] + tests/fixtures/deepspace/reference.tdm):参照フィクスチャは想定した名前付きフィールドにパースされます。パース→出力→パースは等しい構造になります(意味的な往復変換)。橋渡し to_radiometric_obs は、曖昧さのない RANGE/DOPPLER_* レコードを RadiometricObs に対応付けます(ウェイは PATH の 1,2/1,2,1/1,2,3 から、バンドは TRANSMIT_BAND から、km→m)。複数セグメントのファイルは状態機械をリセットします。正直な、推測せずスキップ:角度/周波数、未知のバンド、年通日のエポック、未認識の時刻系は、誤って対応付けられることなくスキップされ、sigma は呼び出し側が重み付けするために 0.0 のままにされます。 |
| DSN/ESTRACK ベンチマーク(モデルの精密度 ≫ 公表されたフロア) | validated (model) |
tests/radiometric_benchmark.rs:観測量は厳密な幾何計算であるため、正直なベンチマークは、モデル自身の数値誤差が、公表されている DSN/ESTRACK の測定フロアをはるかに下回ることです。精度のボトルネックはモデルではなく、呼び出し側が与える σ です。各テストは、観測量を二通りの独立した方法で計算し(または注入した真値を復元し)、残差がフロアを下回ることを検証します。距離は往復で <1 mm ≪ ~1 m の PN 測距フロア(DSN 810-005 mod. 214 / CCSDS 414.1-B)。ドップラーは、厳密な閉形式の遅延距離変化率 v/(1+v/c) と ~10⁻⁶ m/s の範囲で一致し、~0.05 mm/s の X バンドのフロア(DSN 810-005 mod. 203 / Moyer)を数倍下回ります。残差は ~1 AU での f64 の距離差分のフロアであり、モデル化の誤差ではなく数値的な特性です。Δ-DOR は、閉形式の射影を、等価な天空面の角度 ≪ 1 nrad ≪ ~1〜10 nrad のフロア(DSN 810-005 mod. 210 / CCSDS 506.1-B)まで再現します。プラズマの二周波は、注入した遅延を ≪ 1 % まで復元します。Shapiro 遅延は、公表されている ~100〜250 µs の地球–火星の合の帯域に収まります。公表値は桁の目安の DSN 仕様として記載し、そう表示しており、捏造した厳密な数値ではありません。モジュールの文書も、これはモデルの精密度のベンチマークであり、実際のパスの再現ではないことを明記しています(それは D2 + 実際の TDM です)。 |
深宇宙の簡約力学 OD — D2(src/deepspace_od.rs、src/clock_state.rs、src/mars_atmos.rs)#
深宇宙航法エンジンの第三のマイルストーンです。D1 の電波観測量を復元した軌道に変える推定器で、数値的に頑健な平方根情報フィルター(SRIF)、簡約力学の経験的加速度、三状態の搭載時計、火星の抗力モデル、距離/ドップラーをフィルター状態に結びつける電波測定の偏微分を備え、合成の低火星軌道(LMO)の軌道決定の復元によってエンド・ツー・エンドで閉じています。適用範囲の正直な説明:この復元は合成の閉ループです(真値とフィルターは同じ火星伝搬器を共有し、観測はフィルターが反転する同じ幾何観測量モデルに注入したガウスノイズを加えたものです)。検証するのは推定器の仕組みであり、火星の力モデルの絶対的な忠実度ではありません。DE グレードの外部クロスチェックは、カーネルで制御される xval/anise-mars-od クレート(D0.8b)です。以下はすべて追加のみです(再現性ゴールデンは変わらず、同じ SHA、再生成なし)。
| 項目 | ステータス | エビデンス |
|---|---|---|
| SRIF コア(平方根情報フィルター) | validated |
src/deepspace_od.rs Srif:手書きの Bierman 平方根情報フィルターで、Λ = RᵀR を持つ上三角の R、情報ベクトル b、Householder による測定/時間更新、素の Vec<f64> による演算(nalgebra は不使用)です。テスト:逐次 SRIF は、設計した線形ガウス問題で、バッチの重み付き最小二乗(gauss_newton)の解と状態と共分散の両方で 1e-9 の範囲で一致します(srif_matches_batch_on_linear)。復元した共分散 P = R⁻¹R⁻ᵀ は、長い測定/時間更新の系列の後でも、構成上、対称(1e-12)かつ正定値です(srif_covariance_is_spd、コレスキー分解は成功)。また、情報は蓄積されます(同一幾何の測定を取り込むにつれて、P のトレースは単調に減少します)。 |
| 簡約力学の経験的加速度(巡航↔LMO のチューニング) | validated |
src/deepspace_od.rs ReducedDynamicOd:RTN の経験的加速度を一次のガウス・マルコフ過程の状態として持つ九状態の [r; v; a_emp] フィルターで、JPL/ESOC の簡約力学の手法を、単一の dynamic_tightness のつまみとして公開します(動力学寄り ⇒ 弾道弧のノイズを平滑化、運動学寄り ⇒ 経験項がモデル化されていない軌道変更/抗力を吸収)。テスト:運動学寄りのフィルターは段階状の(スラスター)軌道変更を、動力学寄りのフィルターの <½ の残差で追従し、一方、動力学寄りのフィルターはノイズのある弾道弧をより良く平滑化します(reduced_dynamic_tracks_maneuver)。タイトネスを掃引すると、事後残差は単調に動き、スイッチではなく連続体になっています(tuning_is_a_continuum)。 |
| 3状態の搭載時計(位相/周波数/ドリフト、van Loan Q、アラン) | validated |
src/clock_state.rs ClockState3:位相 + 周波数偏差 + 周波数ドリフトの誤差状態で、厳密な van Loan 離散プロセスノイズと Joseph 安定化更新を備えます。テスト:離散化した Q は、手計算で導出した van Loan 多項式と 1e-12 の範囲で一致し、ドリフト = 0 のとき、二状態の KalmanClock の Q に厳密に帰着します(厳密な上位集合)。複数ステップのコーストは、T⁵ のランダムラン項を通じて、位相分散を解析的な NIST SP 1065 のホールドオーバー関係まで増やします。ドリフト状態は真のエージングのランプを <5 % の範囲で復元し、USO 級のアランプロファイルが復元され(τ=1 s のオーバーラップ ADEV が較正ゲートの範囲内)、推定器は NEES 整合を保ち(3σ 内に >95 %)、厳しい Q/R の実行を通じても PSD のままです。ClockClass は、引用した CSAC/USO/DSAC(USO:超安定発振器、DSAC:Deep Space Atomic Clock)の σ_y(1 s) の値と、Δv = c·σ_y のドップラーフロアを持ちます。 |
| 火星の大気抗力(Mars-GRAM-lite(GRAM:全球基準大気モデル)) | validated (model) |
src/mars_atmos.rs:区分指数関数の火星の中性密度プロファイル(地表 ~0.020 kg/m³、地表付近のスケールハイト ~11 km、Mars-GRAM 2010 / MCD(火星気候データベース)の低ダスト平均)と、共回転する火星大気に対する相対の二次の抗力加速度、および SRIF が乗算できる ..._scaled のバリアントです。テスト:密度は帯域をまたいで単調かつ連続的に減少し、復元した地表付近のスケールハイトは物理的な ~11 km で、抗力は相対速度と厳密に反平行(外積は 1e-12 まで消える)で、LMO の大きさは妥当な ~3e-4 m/s² であり、弾道項に対して線形です。適用範囲の正直な説明:代表的な工学用の大気であり、ダスト/季節/地方時への依存を含む、飛行で検証済みの Mars-GRAM/MCD ではありません。 |
| SRIF 向けの電波測定の偏微分(距離/ドップラー) | validated |
src/deepspace_od.rs range_observable / range_rate_observable:視線方向の距離 ρ = |r_sc − r_sta|(∂ρ/∂r = û、∂ρ/∂v = 0)と距離変化率 ρ̇ = û·(v_sc − v_sta)(∂ρ̇/∂v = û、∂ρ̇/∂r = (v_rel − ρ̇·û)/ρ)の偏微分で、D1 の観測量をフィルター状態に結びつけます。加えて、片方向ドップラーの時計周波数の偏微分 ∂ρ̇_obs/∂y = c があります。テスト:両方の偏微分は、観測量の中心有限差分と 1e-6 の範囲で一致します(range_partial_matches_finite_difference、range_rate_partials_match_finite_difference)。単一の距離更新は、観測された(視線、LOS)方向の共分散を ≫1000× 縮小して正定値(PD)を保ち、ドップラー更新は LOS の速度分散を縮小します(radiometric_update_reduces_covariance_in_observed_direction、range_rate_update_observes_velocity)。 |
| 電波データからの火星 LMO エンド・ツー・エンド OD | validated (synthetic closed-loop) |
tests/mars_lmo_od.rs:Body::mars_gmm3(4) の重力のもとで伝搬した真値の低火星軌道の弧が、二局の追跡局に対して、ノイズのある双方向の距離(σ=1 m)+ ドップラー(σ=0.1 mm/s)を生成し、簡約力学の SRIF は、~2.7 km ずれた初期状態からこれを復元します。達成値:収束した位置のRMS ≈ 0.2 m(サブメートルで、メートルから数十メートルという完了基準を大きく下回る)を、3周回、30 s 間隔の弧で達成し、因数分解した共分散はすべてのエポックで正定値です(SRIF の保証、全体を通じて検証)。巡航→LMO のチューニング連続体はエンド・ツー・エンドで検証しています。フィルターのテンプレートにない未モデル化の抗力を持つ真値では、簡約力学のつまみ(タイトネス 1)は ~14 m に復元し、動力学寄り(タイトネス 0)の実行では ~677 m です。経験項が抗力を吸収することで、48× の改善です。適用範囲の正直な説明:合成の閉ループ(真値 = フィルターが使うのと同じ伝搬器)です。DE グレードの外部クロスチェックは、カーネルで制御される xval/anise-mars-od(D0.8b)で、ここでは実行しておらず、ネットワークも使っていません。 |
深宇宙 PNT シナリオと片方向+双方向の融合 — D3(src/mars_pnt.rs、src/deepspace_od.rs)#
深宇宙航法エンジンの第四のマイルストーンです。D0 の火星の天体/座標系、D1 の電波観測量、D2 の簡約力学 OD を、単一の mars-pnt シナリオ種別に結びつける、実行可能な火星 PNT 製品シナリオです。小規模な MARCONI 型の中継コンステレーションが、片方向(時計と結合した)の宇宙空間の信号を放送し、深宇宙局への双方向(コヒーレント、時計に依存しない)のリンクを中継することをモデル化し、三つの基準ユーザー(火星遷移、低火星軌道の周回機、固定された地表点)を、D3.1 の片方向 + 双方向の結合融合推定器で航法します。これは、D2 の簡約力学の軌道/経験項ブロックに三状態の搭載時計を加えた十二状態の SRIF です。適用範囲の正直な説明:すべての性能指標は、推定器の形式的な共分散の境界(エポックごとの 1σ / 3σ の位置)と、合成の閉ループの真値に対して達成した RMS です(真値とフィルターは同じ火星の力学と同じ幾何観測量モデルを共有し、注入したガウスノイズを加えます)。これはシミュレーションによる航法の FoM であり、航空認証を受けた保護レベルではなく、飛行についての主張でもありません(認証済みの故障モデルも、インテグリティモニターも、実際の追跡データもありません)。以下はすべて追加のみです(再現性ゴールデンは変わらず、同じ SHA、再生成なし)。
| 項目 | ステータス | エビデンス |
|---|---|---|
| 片方向 + 双方向の電波観測の結合融合(融合はどちらか一方より優れる) | validated |
src/deepspace_od.rs FusionOd:D2.2 の簡約力学 SRIF に、三つの搭載時計の状態(ClockState3)を加えたもので、双方向(時計に依存せず、軌道を固定する。偏微分の時計の列はゼロ)と片方向(時計と結合している。∂ρ̇_obs/∂y = c の周波数偏微分)の距離/ドップラーの混合時系列を fused_observable を通じて取り込みます。較正してからコーストする構成:双方向のパスが軌道を固定し、片方向のデータは時計を較正して、パスの間で時計のアラン安定度で制限された誤差のまま軌道をコーストします。src/deepspace_od.rs #[cfg(test)] でテスト済み:融合した解はどちらか一方のリンク種別だけよりも優れます。片方向のみの実行のコースト誤差は、双方向のパスの間隔とともに、時計クラスのアラン境界と整合して増加します。結合共分散は全体を通じて SPD(対称正定値)を保ちます。 |
| MARCONI コンステレーション(火星静止軌道半径、掩蔽) | validated (model) |
src/mars_pnt.rs MarconiConstellation:五基の中継セットで、r = (μ/ω²)^{1/3} ≈ 20 428 km(公表されている μ/自転率から求めた火星同期半径。20,400〜20,500 km の帯域でテスト済み)にある三基の火星静止中継が、経度で 120° ずつ等間隔に、傾斜角 5° で並び、さらに、天空面のカバレッジのため、より高い(火星静止の 1.4×)傾斜角 60° の円軌道に二基の中継を置きます。エポックごとの中継の状態は、mars_gmm3 の重力のもとで前方に積分します。火星による掩蔽の可視性テストは、弦が球を避ける幾何です(chord_clears_sphere、テスト済み:正反対の中継は掩蔽され、頭上の中継は可視)。適用範囲の正直な説明:公表されている火星の定数から構成した、最小限の代表的な放送 + 中継の幾何であり、特定の飛行用コンステレーション設計ではありません。 |
mars-pnt シナリオは、CLI / Python / WASM(WebAssembly)/ MCP(Model Context Protocol)から利用できます |
validated |
src/mars_pnt.rs MarsScenario / run_mars_pnt は、すべてのインターフェースで kind = "mars-pnt" シナリオとして接続されています(D3.3)。CLI ランナー、Python バインディング、WASM/プレイグラウンドのビルド、MCP サーバーのディスパッチは、いずれもこれに経路が通じます(src/api.rs の往復テスト mars_pnt_kind_round_trips_through_the_dispatch)。同梱の参照シナリオ:scenarios/mars-pnt-lmo.toml、scenarios/mars-pnt-surface.toml、scenarios/mars-pnt-transfer.toml。結果には、FoM を共分散の境界(認証された PL ではない)と明示する fom_note が含まれ、summary / to_svg の出力にもその正直さの表示を繰り返しています。 |
| MARCONI / LightShip の目標を再現:< 100 m の周回機、< 15 m のローバー | validated (synthetic closed-loop, under stated assumptions) |
tests/mars_pnt_targets.rs:公表されている MARCONI / LightShip プログラムの目標(周回機 < 100 m、地表/ローバー < 15 m)を、シミュレーションで再現しました。共通の前提:五基の中継からなる既定の MARCONI コンステレーション。視界内のすべての中継は、エポックごとに片方向の距離+ドップラーを与えます。コヒーレントな双方向の局パスは 30 分ごと。DSN 級のノイズ(距離 σ = 1 m、ドップラー σ = 0.1 mm/s)。結合した簡約力学の軌道 + 3状態時計の融合フィルターは、~2.7 km ずらした事前状態から開始(タイトネス 0.1)。FoM = 収束した弧の後半の3次元位置 RMS を、合成の真値と比較したもの。周回機(LMO ~400 km / 傾斜角 60°、USO 時計、60 s 間隔、~2 h ≈ 一周回の弧):達成した収束 RMS は ≈ 0.40 m で、目標の 100 m を大きく下回ります(視界内の中継は平均 3.1 基、共分散は全体を通じて SPD)。ローバー(赤道上の固定された地表点、USO 時計、30 s 間隔、~2 h の弧):達成した収束 RMS は ≈ 5.1 m で、目標の 15 m を下回ります(視界内の中継は平均 3.0 基、共分散は SPD)。どちらの目標も、アサーションを緩めることなく達成しました。USO は現実的な搭載時計クラスの中で能力の低い方であり(DSAC なら改善するだけ)、30分の双方向の間隔は、通常の中継ネットワークのスケジュールとしては保守的です。したがって、前提は、合格するように調整したものではなく、MARCONI 級システムとして物理的に妥当です。適用範囲の正直な説明:記載した前提のもとでのシミュレーションによる再現であり、飛行についての主張でも認証済みの保護レベルでもありません。合成の閉ループの真値は、フィルターの火星の力学と観測量モデルを共有しています。 |
月座標時 — 相対論的な地球–月の時計レート(src/lunar_time.rs)#
月座標時のスケール(LTC/TCL(TCL:Temps-Coordonnée Lunaire、月座標時のフランス語名))には、月面の時計が地球ジオイド(TT)の時計に対して進む永年的な割合が必要です。src/lunar_time.rs は、これを第一原理から計算します。自己ポテンシャルの差(IAU の L_G による慣用のジオイドポテンシャル W0 = L_G·c² ≈ 6.26369e7 m²/s² から、月面の自己ポテンシャル GM_moon/R_moon ≈ 2.822e6 m²/s² を引いたもの)と、地心から見た月の速度(src/ephem.rs の Montenbruck-Gill の月級数から有限差分で求める)による運動項(二次ドップラー) −<v²>/2c² を合計する、一次のポスト・ニュートン恒等式です。支配的な自己ポテンシャル項は ≈ 57.5 µs/日、運動項は ≈ −0.5 µs/日 を与え、合計は ≈ 57 µs/日 です。lunar-time-offset シナリオは、この割合、ある期間にわたって累積した LTC−TT のオフセットを報告し、最小限の逆分散アンサンブル(月のペーパークロック)に対応します。TT↔LTC の変換は、往復で < 1 ns/日の範囲に収まります。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 相対論的な地球–月の時計レート(LTC/TCL) | modelled |
src/lunar_time.rs lunar_rate_breakdown、tt_to_ltc/ltc_to_tt、lunar_ensemble、LunarTimeScenario。オラクル:内部の閉形式の相対論的恒等式(IAU の L_G / IERS 規約のジオポテンシャルと、GM/r(GM:重力定数と質量の積)の自己ポテンシャル)を、公表されている月の時計レートの帯域 [56、59] µs/日と照合しました。テスト(lunar_time::tests):自己ポテンシャル項 ≈ 57.5 µs/日、月の速度 ≈ 1 km/s、運動項は小さな負の値、名前を挙げた各項の和と一致する帯域内の合計、1日の LTC−TT のオフセット ≈ 57 µs、そして < 1 ns/日の TT↔LTC の往復です。適用範囲の正直な説明:主要な µs/日の数値は参照に依存します。選んだ参照面(地球ジオイド W0 と月のセレノイドの違い)、時間平均の窓、無視した µs/日未満の遠心力/J₂ 補正に依存するため、公表する出力は単一の認証済みの数値ではなく帯域です。これは Modelled の自己整合性チェックであり、外部検証ではなく、サブナノ秒の絶対精度ではなく、運用上の時刻管理に対して認証されたものでもありません。 |
月の測地 VLBI — 月のビーコンを観測する地球基線の近傍界遅延(src/lunar_vlbi.rs)#
月面の NovaMoon 級の送信機からの片方向信号を観測する、二つの地球上の地上局(基線)のための、測地 VLBI(超長基線電波干渉計)の観測量です。月は平面波ではなく近傍界にあるため、幾何遅延は、天空面への射影ではなく、厳密な二つの距離の差 tau_geom = (|r2 − r_B| − |r1 − r_B|)/c です。完全な観測量は、局の時計オフセットの差と、差分をとった地球ポテンシャルの Shapiro 項(src/radiometric.rs から再利用)を加えます。局は src/frames.rs + src/cio.rs により地心慣性(GCRS)座標に置き、ビーコンは src/ephem.rs(地心の月)+ src/lunar.rs(月面測地座標→MCMF(MCMF:月中心・月固定))+ src/lunar_frame.rs(IAU-2015 の ME 天体固定→慣性)により置きます。lunar-vlbi シナリオは、パスにわたって遅延、その有限差分の変化率、および近傍界補正をサンプリングします。
オラクルは、src/radiometric.rs にある同じコードベースの平面波 Δ-DOR 観測量 delta_dor です。遠方界の極限(1e15 m の合成ビーコン)では、幾何遅延は機械精度で −(B·ŝ_B)/c = delta_dor(r_B, [0,0,0], B) に帰着しなければならず、実際の月の距離では、波面曲率による近傍界補正はゼロではありません(数十〜数百 µs)。ビーコンの偏微分 dtau/dr_B = ((r_B−r2)/|r_B−r2| − (r_B−r1)/|r_B−r1|)/c(および局の偏微分)は、中心有限差分で検証しています(相対誤差 < 1e-5)。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月測地VLBI遅延と偏微分 | modelled |
src/lunar_vlbi.rs geometric_delay_s、vlbi_delay_s、delay_partials_beacon/_station1/_station2、near_field_correction_s、LunarVlbiScenario。オラクル:ReferenceImpl——同一コードベースの平面波 delta_dor(src/radiometric.rs)を遠方界の極限で用いたものに加え、有限差分による偏微分です。テスト(lunar_vlbi::tests):局の大きさが地球半径程度であること、月距離でのビーコン距離(356–407 Mm)、遠方界の幾何遅延が delta_dor と 1e-9 s 未満で一致すること、月距離でゼロでない近接場補正があること、有限差分によるビーコンと局の偏微分が相対 1e-5 以内であること、正確な時計項、そして run_toml を通じて実行される有限のシナリオ実行。適用範囲の正直な説明:Modelled であり、実際のVLBIデータとの照合は行っていません。極運動は省略しており(xp = yp = 0)、そのため局の慣性系位置には数メートルの座標系誤差が含まれます。ビーコンは、元期の平均赤道の月暦級数と ICRF(国際天球基準座標系)の天体固定オフセットを混在させており(jd_tdb ≈ jd_tt)、これは座標系の不整合がモデルの忠実度を下回る程度であるものの、厳密ではありません。また、差分シャピロ項を超える、光行時間の反復、光行時間中の地球自転、媒質(対流圏・電離圏・プラズマ)、光行差の各項はありません。TRL(技術成熟度レベル)、飛行実績、機関による承認は主張していません。0.30:ANISE が DE440 を通じて計算する光行時間に対し、この解析経路の遅延はいずれも 1 ps 以内に収まっていません(最大の差は 24 µs)。この結果は固定されています。 |
| 月の測地 VLBI、カーネル経路 | validated (0.30) |
src/lunar_vlbi.rs KernelGeometry(DE440 の地球と月、DE440 の月主軸、ITRF93 の地球姿勢、各光行時間は太陽系重心座標系で収束)。三つのカーネルパスが設定されている場合に lunar-vlbi シナリオで実行されます。オラクル:Library——NAIF SPICE Toolkit N0067(spiceypy 8.2.0)による DSS-14/43/63 への収束済み光行時間。事前登録済みで、75 個の遅延が 1 ps 以内(最悪 0.06 ps)、ビーコンと局の偏微分が 1e-6 以内、J2000 付近の 25 エポックでの値です(2024 エポックでは、SPICE 自身の倍精度の発信エポック(約 6 ps)で不合格となったため修正を加えました。これは開示済みで、固定されています)。シナリオの差分シャピロ項、遅延レート、近接場補正は比較していません。 |
月の複数技術統合 OD とクロック——シミュレーションによる閉ループ復元(src/lunar_combination.rs)#
単一エポック(スナップショット)のバッチ最小二乗フィット(crate::batch_ls::gauss_newton_qr、0.30 以降は Householder QR のステップ)です。シミュレーションした月ネットワーク上で、測地VLBI、電波計測/月面ローカル測距、衛星間測距の各技術を融合し、月面局の3次元位置、小規模コンステレーションの各衛星位置、すべての資産のクロックオフセットを同時に復元します。観測量は次のとおりです。(1)ビーコンとして扱う月面局への地球基線の測地VLBI遅延(src/lunar_vlbi.rs、地心慣性系を再利用)——中心となる技術。(2)地球局から衛星への地心電波測距(広く分散した地球局から衛星コンステレーションを多辺測量します)と、局と衛星間の月面ローカル測距(MCI(月中心慣性系)のユークリッド距離と差分クロック項)。(3)衛星間測距(同じ形式)。これに加え、観測不能な共通クロックオフセットを固定するための、単一の局クロック同期の疑似観測を用います。状態ベクトルは [station_pos(3), {sat_pos(3)}×N_sat, station_clk, {sat_clk}×N_sat] です。ソルバー内部には力モデルの伝播はありません。衛星は、代表的な月軌道上の固定された、互いに異なる、例示用の点であり、意図的に単純なスナップショットのフィットです。内部では、正規方程式行列が f64 で良条件に保たれるよう、位置はスケーリングし、クロックは距離換算のメートルで推定します。VLBI と月距離の測距は、有限差分ヤコビアンが桁落ちを起こさないよう、公称幾何に対して平均除去しています。lunar-joint-od-clock シナリオは、同じシード/真値でVLBI観測あり・なしの両方で解を求め、両方の解と局の可観測性の改善係数を報告します。
中心となる正直な結果:極域の局から、空の片側に集まった少数の衛星への月面ローカル測距では、局の位置がある一方向について弱くしか観測されず、測距のみの解は悪条件となり、復元された局の3次元誤差は大きくなります(または解が収束しません)。地球基線のVLBI遅延を加えると、局の完全な3次元位置が可観測になり、復元された局の誤差はメートル級まで小さくなります。テスト vlbi_restores_station_observability は、同一の注入真値に対して、VLBIありの局誤差が測距のみの誤差より明確に(≥5×)小さいことを検証します。本来は観測不能な局の方向をVLBIが回復させることが、このフェーズの要点です。
オラクルは内部整合性です。注入した真の状態(局は軸あたり約 50 m、衛星は軸あたり約 30 m、クロックは約 1e-7 s、成分ごとにシード付きのジッターを加えたもの)を、ソルバーが逆変換するのと同じ幾何モデルで合成観測量に写像し、シード付きのガウス雑音を加え(例示用の既定値:VLBI σ ≈ 1e-11 s、測距 σ ≈ 0.1 m、ISL σ ≈ 0.1 m、重みは 1/σ²)、推定器は零の初期推定値から、雑音の範囲内で注入した真値を復元しなければなりません。シード全体でのモンテカルロ平均 NEES Δxᵀ(HᵀWH)Δx(formal_covariance_nees)は n_params の周りの緩い範囲に収まります。これは共分散の現実性の確認です。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月の統合マルチテクニック OD + クロック | validated(0.30、P2:ソルバーの線形代数) |
src/lunar_combination.rs estimate、formal_covariance_nees、LunarCombinationScenario。0.30 のオラクル:P2——numpy 2.4.6(LAPACK の gelsd と inv)が、六つのネットワークのコミット済みヤコビアンに対して、すべてのガウス・ニュートンステップ、収束した重み付き解、形式的な標準偏差、局の誤差を再計算します(tests/lunar_joint_od_numpy_oracle.rs、ステップは 2.4e-11 以内、標準偏差は 1.3e-11 以内)。物理的な観測モデルとその大きさは MODELLED のままです。以前のオラクル:InternalConsistency——注入したシミュレーション真値の復元と NEES による共分散の整合性。テスト(lunar_combination::tests):完全融合が真値を復元すること(局 < 5 m、衛星 RMS < 5 m、クロック < 1e-8 s、収束)、VLBI が局の3次元可観測性を回復すること(同じ真値で、VLBIありの局誤差が測距のみの場合より ≥5× 小さい)、決定論的であること(同じシードならビット単位で同一の解、異なるシードなら異なるが復元される)、平均 NEES が n_params の周りの緩い範囲に収まること、測距のみが悪条件の場合でも報告される数値が有限でガードされていること、シナリオが run_toml を通じて実行されること。適用範囲の正直な説明:これはシミュレーションによる閉ループ復元であり(真値は観測モデルを共有しています)、実データによる検証ではありません。ソルバー内部に力モデルの伝播はなく、衛星位置と地球・月面局の幾何は例示用です。TRL、飛行実績、機関による承認は主張していません。 |
月の座標系の実現——7パラメーターのヘルマート datum フィット(src/lunar_frame_realise.rs)#
src/lunar_frame.rs が IAU 2015 WGCCRE の月の天体姿勢(順方向モデル)を適用するのに対し、このモジュールは、datum に結び付けた推定点座標のネットワークから月の座標系を推定(実現)します。推定の中核は、古典的な7パラメーター相似(ヘルマート)変換で、三つの平行移動、三つの微小角回転、一つのスケールパラメーターから成り、点 p_i(推定座標系)を q_i(datum 座標系)へ q_i = t + (1 + s)·R(θ)·p_i として写像します。R(θ) = rz(θz)·ry(θy)·rx(θx) は crate::precession::{rx, ry, rz, matmul, mat_vec} から構成されます。七つのパラメーター [tx, ty, tz, θx, θy, θz, s] は、≥ 3 組の非共線の点の対から、crate::batch_ls::gauss_newton による重み付き最小二乗で推定されます。順方向モデルは各 q_i を p_i から予測し、全点の三成分すべてを観測量ベクトルに平坦化します。観測された datum 座標が z を成し、重みは 1/σ²、解は x0 = zeros から開始します。有限差分ヤコビアンが月面座標の大きさ(約 1.7e6 m)でも適切にスケーリングされるよう、回転角は µrad、スケールは ppb で推定します。小さな icrf_orientation_tie は、実現された微小回転を IAU の天体から ICRF への姿勢(transpose(crate::lunar_frame::icrf_to_iau_moon(jd_tdb)))で合成し、ICRF 軸まわりの、実現された座標系の残差の微小角オフセットを返します。これは意図的に単純な表現座標系の変更であり、月の極の独立した推定ではありません。
オラクルは内部整合性です。既知のヘルマート変換(平行移動は数十 m 程度、回転は µrad 程度、スケールは約 1e-7)を、広く分布する合成点ネットワーク(月面の緯度・経度を変えて MCMF に変換し、一部の点は高度あり)に注入し、シード付きのガウス雑音を加えて、フィットが注入したパラメーターを復元しなければなりません。雑音なしのデータでは、復元はほぼ機械精度に達します(平行移動 < 1e-6 m、回転 < 1e-9 rad、スケール < 1e-12)。メートル級の雑音がある場合、復元されたパラメーターは形式的な σ の数倍以内に収まり、フィット後の RMS 残差は雑音レベル付近になります。lunar-frame-realisation シナリオは、復元された datum、注入した真値に対するパラメーターごとの復元誤差、フィット後の RMS 残差、実現された回転の ICRF 姿勢タイを報告します。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月の座標系の実現 | modelled |
src/lunar_frame_realise.rs helmert_fit、apply_helmert、realise_frame、icrf_orientation_tie、LunarFrameRealiseScenario。オラクル:InternalConsistency——注入した7パラメーター相似変換の復元と、apply_helmert の代数的な往復恒等式。テスト(lunar_frame_realise::tests):注入した変換の雑音なし復元(平行移動 < 1e-6 m、回転 < 1e-9 rad、スケール < 1e-12)、雑音ありの復元が σ の数倍以内で RMS 残差が雑音レベル付近であること、適用してから逆変換する往復、決定論的であること(同じシードならビット単位で同一、異なるシードなら異なるが復元される)、回転ゼロの ICRF タイがゼロであり、タイが回転の大きさを保つこと、シナリオが run_toml を通じて実行されること。適用範囲の正直な説明:これは自己整合性の確認であり、合成ネットワーク上で注入した変換を復元するものです。実際の追跡データやVLBIデータに対する月の座標系の実現ではなく、絶対的な座標系の精度は主張しません。ICRF 姿勢タイは単純な表現の変更であり、極の独立した推定ではありません。TRL、飛行実績、機関による承認は主張していません。 |
月航法サービスボリューム——DOP/カバレッジ/可用性と一般化した月 ARAIM の保護レベル(src/lunar_service.rs)#
このモジュールは、すでに構築済みの部品を組み合わせて、月航法のサービスボリューム解析を行います。例示用で公開情報に基づく Moonlight/LCNS クラス(LCNS:Lunar Communications and Navigation Services)の月周回コンステレーションに対し、一定の時間範囲で月面の緯度・経度グリッドを掃引し、DOP/カバレッジ/可用性と、一般化した月 ARAIM の保護レベルの包絡を報告します。二つの再利用は、このモジュールの根幹をなすもので、明示されています。DOP の幾何は、(gnss_lib_py に対して)VALIDATED のカーネル crate::orbit::dop です。service_dop は、仰角マスクのフィルターとそのカーネルを組み合わせた薄い層であり、テストでこの恒等性を検証します(service_dop は、同じ可視位置に対する orbit::dop の直接呼び出しと等しい)。インテグリティは、LunaNet LNIS(LunaNet Interoperability Specification)の月 ARAIM の仕組み crate::lunar::lunar_araim(σ_URE ≈ 30 m、P_sat ≈ 1e-4)を再利用します。lunar_protection_level は既存の南極の保護レベルを任意の月面の点へ一般化したもので、テストにより、それが南極の場合に帰着することを検証します(南極で同じ幾何と予算のとき、既存の lunar::lunar_araim の結果と 1e-9 未満で正確に一致します)。
コンステレーションのパラメーターは、このシステムクラスについての ESA の公開された説明を例示用に近似したものです(南極域のカバレッジを重視した楕円の月フローズン軌道上に約 4 機。遠月点は南半球上空で、4 はライブラリの既定値です。同梱の moonlight-service-volume.toml は、保護レベルに視界内の 6 機以上が必要なため 8 に設定しています)。これらは実際の Moonlight/LCNS のエフェメリスではなく、所属、承認、飛行実績、認証、TRL を示唆するものでは一切ありません。この合成(カバレッジ/可用性/インテグリティ)は MODELLED です。円軌道・楕円軌道のケプラー運動によるリレー衛星群(差分補正を施した LCNS や 9:2 NRHO(準直線ハロー軌道)のエフェメリスではありません)、平均自転の月(物理秤動も歳差する極もなし)、公開されている LunaNet LNIS のインテグリティパラメーターに基づきます。示すのはサービスボリュームの手法であり、運用上の可用性の数値ではありません。決定論的です(純粋な幾何で、乱数はなし)。moonlight-service-volume シナリオは、カバレッジの割合、可視数と PDOP の包絡、ボリューム全体の HPL/VPL の包絡、警報限界に対する保護レベルの可用性を報告します。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月面ナビゲーションのサービスボリューム | modelled |
src/lunar_service.rs LunarConstellation、visible_sats、service_dop、coverage、lunar_protection_level、LunarServiceScenario。DOP の幾何は再利用により検証済みで、gnss_lib_py で検証済みの crate::orbit::dop カーネルを用いています。インテグリティは、公開されている LunaNet/LNIS の月 ARAIM(crate::lunar::lunar_araim、σ_URE ≈ 30 m)を再利用します。テスト(lunar_service::tests):service_dop が検証済みカーネル上の恒等写像であること、南極での lunar_protection_level が既存の lunar::lunar_araim の PL と 1e-9 未満で等しいこと(南極の場合に帰着)、カバレッジがコンステレーションの規模に対して減少しないこと、可視性が仰角マスクを守ること、シナリオが決定論的で run_toml を通じて実行されること。適用範囲の正直な説明:このコンステレーションは例示用で公開情報に基づき、ESA とは無関係です。実際の Moonlight/LCNS のエフェメリスではありません。カバレッジ/可用性/インテグリティの合成は MODELLED(円軌道・楕円軌道のケプラー運動によるリレー、平均自転の月、公開されている LNIS パラメーター)であり、運用上の Moonlight の可用性の数値ではありません。TRL、飛行実績、機関による承認は主張していません。 |
月の差分 PNT——共通モード誤差の相殺、基線とともに増える残差、DGNSS の保護レベル(src/lunar_dpnt.rs)#
月の DGNSS(差分衛星航法)/SBAS に相当するものです。既知の月面位置にある NovaMoon クラスの基準局が、例示用で公開情報に基づく Moonlight/LCNS クラスのコンステレーションから衛星ごとの差分補正を計算し、そこから基線の分だけ離れた移動ユーザーがそれを適用することで、放送エフェメリスの共通モード誤差が相殺されます。各衛星 i は、注入した共通の3次元軌道誤差ベクトル e_i と共通のクロック誤差 c_i を持ちます。基準局の疑似距離残差が補正値 −e_i · û_ref,i + c_i となり、ユーザーの生の誤差は −e_i · û_user,i + c_i、補正後のユーザー誤差はその差 −e_i · (û_user,i − û_ref,i) です。クロック項 c_i は正確に相殺され(両方の観測で同一であるため)、軌道項は、二つの視線単位ベクトルの差への射影に帰着し、それは基線 → 0 で → 0 となり(空間的な非相関の下限)、基線にほぼ線形に比例して増えます。衛星ごとの補正後の距離誤差は、依存関係の少ない小規模な重み付き最小二乗のスナップショット解(crate::orbit::invert4 による [x, y, z, clock] 状態。一定の距離バイアスはフィクスを損なわず、クロックの未知数に吸収されます)を通じてユーザーの幾何に写像され、ユーザーの位置誤差が得られます。ユーザーの保護レベルは DO-229E の SBAS 保護レベルの仕組みを再利用し(crate::sbas::sbas_protection_level、精密進入の K 係数)、差分残差 σ を各衛星の 1-σ 誤差予算として用います。
NovaMoon はシステムクラスとしてのみ参照しており(月面基準局の公開された説明)、コンステレーションは、例示用で公開情報に基づく crate::lunar_service::LunarConstellation を再利用します。これらは差分の手法を試すための例示用パラメーターであり、実際のエフェメリスではなく、所属、承認、飛行実績、認証、TRL を示唆するものでは一切ありません。lunar-differential-pnt シナリオは、補正あり・なしのユーザー位置誤差、低減係数、基線に対する誤差の曲線、保護レベルを報告します。既定の構成では、50 km の基線での補正後のユーザー誤差は約 0.008 m で、補正なしの約 24 m に対して(約 3000× の低減)、基線ゼロでは約 0 です。
オラクルは内部整合性です。共通モード誤差の相殺は正確な代数的恒等式であり(noise = 0 の場合、基線ゼロでの補正後の誤差は < 1e-6 m、クロック項はどの基線でも機械精度まで相殺されます)、残差は基線とともに単調に増加し、保護レベルは SBAS スタックが基準としているものと同じ DO-229E のアルゴリズムです。空間的な非相関の残差は一次近似の幾何モデルであり、実際の月の追跡から当てはめた非相関モデルではありません。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月面ディファレンシャル PNT | modelled |
src/lunar_dpnt.rs differential_corrections、corrected_user_range_errors、user_position_error_m、lunar_dgnss_protection_level、LunarDpntScenario。オラクル:InternalConsistency——差分による誤差相殺の恒等式と、DO-229E の SBAS 保護レベルの仕組みの再利用(crate::sbas)。テスト(lunar_dpnt::tests):基線ゼロでは、補正後のユーザー誤差と補正後の衛星ごとの距離誤差がすべて約 0(< 1e-6 m)で、補正なしの誤差よりはるかに小さいこと、クロック項はどの基線でも正確に相殺されること(軌道誤差ゼロの場合)、補正後の誤差は基線とともに単調に増加しつつ、控えめな基線では補正なしよりはるかに小さいこと、差分方式が単独方式を明確な差(> 2×)で上回ること、保護レベルが sbas::sbas_protection_level の直接呼び出しと等しく、残差 σ に比例すること、不足決定の幾何では None を返すこと、シナリオが決定論的(シード付き)で run_toml を通じて実行されること。適用範囲の正直な説明:MODELLED です。共通モード誤差の相殺は正確な恒等式ですが、空間的な非相関の残差は一次近似の幾何モデルであり、実際の月の追跡から当てはめた非相関モデルではなく、実データによる検証も行っていません。NovaMoon はシステムクラスとしてのみ参照しています(例示用で公開情報に基づき、ESA とは無関係)。TRL、飛行実績、機関による承認は主張していません。 |
月の相互運用性エクスポート——往復適合性を備えた、LunaNet/IOAG に整合する CCSDS OEM と KIF(src/lunar_interop.rs)#
月の座標系、月の時刻系、月のエフェメリスは、LunaNet/IOAG(IOAG:Interagency Operations Advisory Group)に整合する CCSDS ベースの交換形式でエクスポートされます。このフェーズは独自のワイヤ形式を作り出すことはせず、クレートの既存の CCSDS OEM(Orbit Ephemeris Message)2.0 のエミッターとパーサー(crate::oem::OemFile::to_oem_string / crate::oem::parse_oem)および Kshana Interchange Format エンベロープ(crate::interchange::Envelope)を、月の文脈向けにタグを付け替えて再利用します。export_lunar_oem は、OEM の REF_FRAME を IAU 2015 WGCCRE の月の天体座標系(MOON_ME の平均地球軸、または MOON_PA の主軸)に、TIME_SYSTEM を月の時刻系(LTC / TCL / UTC)に、CENTER_NAME を MOON に設定し、例示用で公開情報に基づく LCNS クラスのエフェメリスのサンプル(位置は crate::lunar_service::LunarSat::position_mci から、速度は中心有限差分)に適用します。export_lunar_time_metadata は、LunaNet/IOAG に整合する月の時刻の記述子(時刻系 ID、crate::lunar_time::lunar_rate_breakdown から得た永年レート µs/日、公開されている 56–59 µs/日の帯、基準面)を出力し、serde_json を通じて往復します。export_kif_lunar は、OEM、記述子、座標系ラベルを既存の KIF エンベロープに包み、MODELLED のラベルを付けます。
オラクルは往復およびフィールドの適合性です。oem.rs は両方向を備えているため、OEM は crate::oem::parse_oem を通じて往復され(月の座標系・時刻と状態数が保たれたまま、等しいセグメントに戻ります)、さらに oem_conformance によって独立に検査されます。これは、CCSDS/LunaNet のヘッダーに必須のキーワードがすべて存在すること、REF_FRAME が月の MOON_* トークンを持ち TIME_SYSTEM が空でないこと、META_START … META_STOP の枠組みが成り立つこと、位置と速度のデータ行が正しい形式であることを確認し、構造化された合否と存在するフィールド・欠けているフィールドの一覧を返します。これにより、壊れたエクスポート(たとえば TIME_SYSTEM の欠落)は検出され、名指しされます。時刻メタデータは parse_lunar_time_metadata を通じて往復し、KIF エンベロープは Envelope::parse を通じて往復して、MODELLED ラベルを持つ等しい成果物になります。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 月面の相互運用エクスポート | modelled |
src/lunar_interop.rs export_lunar_oem、export_lunar_time_metadata、parse_lunar_time_metadata、export_kif_lunar、oem_conformance、LunarInteropScenario。オラクル:InternalConsistency——決定論的な往復(CCSDS OEM は crate::oem::parse_oem、KIF は crate::interchange::Envelope::parse、時刻メタデータは serde_json)と、公開されている CCSDS OEM および LunaNet/IOAG のフィールド意味論に対するフィールド名の適合性。テスト(lunar_interop::tests):エクスポートされた OEM が月の REF_FRAME(MOON_ME/MOON_PA)と TIME_SYSTEM(LTC/TCL)のトークン、CENTER_NAME = MOON、オブジェクト、正しい形式のデータ行を持つこと、月の時刻メタデータが往復し(レート/帯/基準)、不正な入力を拒否すること、KIF エンベロープが直列化・復元されて等しい値になり、MODELLED の信頼性ラベルが存在すること、意図的に壊した OEM(TIME_SYSTEM が欠けている)が oem_conformance で不合格となり、欠落として報告されること、シナリオが run_toml を通じて実行されること。適用範囲の正直な説明:フィールドの名称と単位は公開標準(CCSDS 502.0-B OEM、IAU WGCCRE 2015 の月の座標系、LunaNet Interoperability Specification、IOAG の月アーキテクチャ)に整合させています。このエクスポートは MODELLED であり、決定論的な往復とフィールド名の適合性がオラクルです。これは認証された相互運用性の適合性テストではなく、エフェメリスは例示用で公開情報に基づき、ESA とは無関係で、TRL、飛行実績、機関による承認は主張していません。 |
事前登録された予測#
事前登録された予測とは、それを採点できるデータが存在する前に固定された MODELLED の結果であり、採点プロトコルも同時に固定されます。これは検証ではなく、台帳の行も追加しません。それぞれ docs/predictions/ に置かれ、固定された入力、その結果、およびそれらの SHA-256 ハッシュを伴います。tests/prediction_frozen.rs は、固定されたバイトが一つでも動けば失敗します。前提が変わった場合は、古い予測を編集するのではなく、その隣に日付付きの新しい予測を置いて対応します。
| 予測 | 固定日 | 採点の基準 | ステータス |
|---|---|---|---|
| 月面基準局のカバレッジ | c05dac1d、2026-10-12 | 月の南極域の差分局について、いかなる第三者が公表した精度、可用性、カバレッジ、保護レベル | 未採点(公表された結果なし) |
デモンストレーションの代表性と飛行に向けたギャップの台帳(src/representativeness.rs)#
シミュレーション結果は、何に基づいているか、何を仮定しているか、飛行システムとの間に何が残っているかを、それ自体に明示してはじめて、証拠として役立ちます。代表性の台帳は、これを機械で検査される第一級の出力にします。Representativeness レコードは、デモンストレーションの外部の Anchor、モデル上の仮定、飛行に向けた Gap(それぞれを解消するフェーズや活動を付記)、および代表性を持つ TRL の範囲を保持します。これは、機能レベルの verification マトリクスに対する、結果ごとの対となるものです。
オラクルは閉形式の不変条件の集合で、representativeness::tests によって強制されます。Validated レコードは少なくとも一つの ExternalDataset の拠り所を挙げなければなりません(シミュレーションは自分自身に対して検証済みとはなりえません)。Modelled レコードは少なくとも一つの飛行に向けたギャップを挙げなければならず、4 を超える代表的な TRL の範囲を主張することはできません(それ以上の成熟にはハードウェアや飛行の証拠が必要であり、それはギャップであって、シミュレーションの出力ではありません)。TRL の範囲は正しい形式でなければなりません。そして PartnerOwned レコードは何も主張してはなりません。これらの不変条件は、「代表性が正当化されており、飛行に向けて残るギャップが明確に特定されている」という規律を運用可能にします。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 代表性と飛行に向けたギャップの台帳 | modelled |
src/representativeness.rs Representativeness/Anchor/Gap、check/is_valid/report/to_json。オラクル:InternalConsistency——verification のステータスとオラクル種別の境界に結び付けた、閉形式の誠実性の不変条件。テスト(representativeness::tests):外部の拠り所がない検証済みの記録は不合格となること、内部(ReferenceImpl)の拠り所は検証済みを満たさないこと、ギャップのないモデル計算の記録は不合格となること、TRL 4 を超えるモデル計算の記録は不合格となること、不正な形式の TRL の範囲が検出されること、記録が期待されるフィールドを持つ JSON に直列化され、読みやすいレポートを出力すること。適用範囲の正直な説明:この台帳が検査するのは、結果の証拠の分類です。挙げられた拠り所が実際に動くテストに対応していることまでは証明しません(それらは verification マトリクスと全く同様に、人手で整理されています)。「機械で検査済み」という主張は、ステータス/拠り所/ギャップ/TRL の不変条件に限定されます。 |
量子と古典の統合トレード証拠(src/qtrade.rs)#
量子 PNT のあらゆる応用領域は、同じ問いに同じ方法で答えます。比較の枠(シナリオ、シード、エンジンのバージョン)を一つ固定し、量子の候補と古典のベースラインを一つの中立なコードパスに通し、共通の性能指標で採点して、量子が勝つ場面と勝たない場面を、信頼区間と、検証済み/モデル計算という誠実なラベルとともに報告します。TradeEvidence は、この答えに単一の形を与え、タイミング、航法、異常検出の各分野が、再現可能で誠実にラベル付けされた同じオブジェクトを出力するようにします。トレードを再実装することはありません。性能指標ごとの数値は既存のエンジン(quantum_trade、crossover、各分野のモジュール)から得られます。これは、代表性の台帳と検証ラベルの上に構築された、契約と、再現性・代表性のラッパーです。
オラクルは、閉形式の利得/勝者の恒等式と、既存のトレード出力の忠実なラップです。qtrade::tests:利得比は極性が正しいこと(>1 が常に量子側が優れていることを意味するよう向きをそろえており、値が高いほど良いホールドオーバーにも、値が低いほど良い誤差の性能指標にも当てはまる)、実際の quantum_trade::TradeResult から構築した証拠オブジェクトがその利得比を再現すること、不誠実な証拠が拒否されること(ギャップのないモデル計算の代表性、またはトレード記録に外部の拠り所がない Validated の性能指標)、JSON が決定論的で、枠/シード/エンジン/性能指標/代表性のフィールドを持つこと。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 量子と古典のトレード証拠 | modelled |
src/qtrade.rs TradeEvidence/TradeFom/TradeFrame/Winner。オラクル:InternalConsistency——閉形式の利得/勝者の恒等式と quantum_trade::TradeResult の忠実なラップ。誠実性は、代表性の台帳と、検証ステータスとオラクル種別の境界に結び付けています。テスト(qtrade::tests)は上記のとおりです。適用範囲の正直な説明:このハーネスが標準化するのは、トレードをどのように報告し再現するかです。性能指標ごとの基礎となる物理は、寄与するエンジンが提供するもののままで、そのエンジン自身の検証済み/モデル計算のラベルを伴います。TradeEvidence は、モデル計算の性能指標を検証済みへ引き上げることはありません。 |
量子デバイスの誤差モデルライブラリ(src/quantum_devices.rs)#
デモンストレーターがトレードする量子 PNT デバイス——光学時計、トラップイオン時計、水銀イオン時計、古典の基準時計、冷却原子干渉計、時刻比較リンク——を、それぞれの代表的な仕様と代表性の記録を載せた DeviceCard として公開する、単一の場所です。デバイスの物理の大半は再利用です(時計の安定度は holdover::QuantumClockClass と clock_state::ClockClass から、冷却原子干渉計は quantum_trade/crossover から、古典の光/RF リンクは timetransfer_adv から)。唯一、本当に新しいモデルは量子もつれ/単一光子の時刻比較リンクで、そのタイミング精度はショット雑音で制限されます。σ_t ≈ jitter/√(R·τ)(検出された同時計数率 R と積分時間 τ に対して)で、暗計数のペナルティ √(1 + dark/R) により劣化し、避けられない系統誤差が下限となります。
オラクルは、再利用した公開済みの時計/CAI 係数と、閉形式のショット雑音/損失の恒等式です。quantum_devices::tests:再利用した時計安定度の順序が妥当であること(σ_y(1 s) で光格子時計 < 水銀イオン < CSAC)、ショット雑音で制限される場合、もつれ精度が 1/√τ のとおり改善すること(積分を 4× にすると σ が半分になる)、リンク損失 10 dB ごとに検出される同時計数率が 10× 低下すること、暗計数により精度が単調に劣化すること、系統誤差の下限が精度の下限を与えること、すべてのデバイスカードが有効な、モデル計算の代表性の記録であること。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 量子デバイス誤差モデルライブラリ | modelled |
src/quantum_devices.rs DeviceCard、quantum_clock_card/classical_clock_card、EntanglementTimeLink。オラクル:InternalConsistency——再利用した公開済みの時計/CAI 係数と、もつれリンクに対する閉形式のショット雑音/損失の恒等式。テスト(quantum_devices::tests)は上記のとおりです。適用範囲の正直な説明:時計/CAI のデバイスパラメーターは、エンジンの既存の公開係数モデルから再利用しています。もつれリンクのモデルは、公開されている量子時計同期の挙動から、例示用で公開情報に基づくペアレート/効率/損失の値を用いて MODELLED としたものであり、測定されたリンクに対する検証は行っておらず、実際の光源/チャネル/検出器のハードウェアは、明記された飛行に向けたギャップです。 |
信頼できる量子タイミング——エンドツーエンドのチェーン、安全な配信、異常検出、トレード(src/timetransfer_chain.rs)#
quantum-time-transfer シナリオは、量子 PNT デモンストレーターに必要なタイミングチェーンを構成します。量子チェーン(光格子時計と、もつれ/単一光子リンク)と古典チェーン(CSAC と RF の双方向リンク)について、エンドツーエンドのユーザー時刻予算(基準時計の惰行誤差とリンクのタイミング精度を二乗和で合成)、未検出の時刻誤差を抑えるタイミング保護レベル(TPL、tpl から再利用)、規定の誤警報率での遅延/リプレイ攻撃に対する安全性の性能指標 1 − P_md(detection から再利用)、クロック異常の検出確率と CUSUM(累積和)による変化検出の遅延、そして、代表性と飛行に向けたギャップの記録を伴う誠実な qtrade::TradeEvidence としての量子と古典の比較です。
オラクルは、再利用した、個別に検証済みのカーネル(Stable32/NIST に対する ADEV、TPL の上界、detection::analytic_pd/analytic_pmd)に対する、閉形式の二乗和予算です。timetransfer_chain::tests:量子の精度が積分時間とともに改善すること、量子チェーンは精度の性能指標で勝つことも負けることもあること(誠実であり、常に勝つわけではなく、損失の非常に大きなリンクでは結果が逆転します)、保護レベルが有限の正の値であること、安全性の性能指標が [0,1] の範囲にあり攻撃の遅延とともに増加すること、異常の検出確率が故障の大きさに対して単調であること、トレード証拠が内部的に誠実であること(is_honest())。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 信頼できる量子タイミング(チェーン、安全な配信、異常検出、トレード) | modelled |
src/timetransfer_chain.rs QuantumTimeTransferScenario/Report、to_svg;kind="quantum-time-transfer"。オラクル:InternalConsistency——再利用した検証済みカーネル(ADEV/Stable32-NIST、TPL の上界、検出の解析的 Pd/Pmd)に対する閉形式の二乗和予算。誠実性は代表性の台帳に結び付けています。テスト(timetransfer_chain::tests)は上記のとおりです。適用範囲の正直な説明:時計/リンクのパラメーターは例示用で公開情報に基づきます。もつれリンクは quantum_devices の、ショット雑音で制限される MODELLED のモデルです。これは信頼できるタイミングシステムのクラスをモデル化したものであり、測定されたエンドツーエンドのリンクに対する検証は行っておらず、実際の時計/リンク/宇宙チャネルのハードウェアは、明記された飛行に向けたギャップです。TRL、飛行実績、認証は主張していません。 |
GNSS 非依存の量子航法(src/quantum_nav_od.rs)#
quantum-gnss-free-nav シナリオは、GNSS の途絶中の推測航法を、量子慣性の予算(冷却原子干渉計の加速度計。inertial::quantum_imu/quantum_trade から再利用し、その CAI の白色雑音の下限は Freier ら 2016 と約 2 桁以内で検証済み)と、古典の航法級 INS とで比較します。惰行中の位置誤差の増大、位置のしきい値に達するまでのホールドオーバー時間、そして量子と古典のトレードを、誠実な qtrade::TradeEvidence として報告します。可観測性は正直に述べています。途絶中は外部のフィックスがないため、加速度計のバイアスは観測不能であり、位置誤差は際限なく増大します(≈ ½·bias·t² に速度ランダムウォーク項を加えたもの)。バイアスの小さい量子センサーはこの増大を遅らせますが、差を埋めることはできません。埋められるのは外部のフィックスだけです。
オラクルは、再利用した慣性予算(QuantumNavBudget/ClassicalInsBudget、どちらも PositionDrift トレイトを実装)と、閉形式のドリフトの恒等式です。quantum_nav_od::tests:長い途絶では、量子の予算が古典を上回ること(誤差が小さく、ホールドオーバーが長い)、誤差は両者とも途絶の長さとともに増大すること(可観測性のギャップ)、優位性は途絶の長さに依存し、一定の勝利係数ではないこと(量子の曲線は短い惰行では雑音支配、長い惰行ではバイアス支配)、トレード証拠が内部的に誠実であること。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| GNSS に依存しない量子ナビゲーション | modelled |
src/quantum_nav_od.rs QuantumNavOdScenario/Report、to_svg;kind="quantum-gnss-free-nav"。オラクル:InternalConsistency——再利用した慣性予算(CAI は再利用による検証済みで Freier 2016 と約 2 桁以内、古典は閉形式のドリフト)。誠実性は代表性の台帳に結び付けています。テスト(quantum_nav_od::tests)は上記のとおりです。適用範囲の正直な説明:静的な推測航法の予算比較であり、実際の軌跡に対する動的フィルターではありません。フィックスなしではバイアスが観測不能であることを明記しています。デバイスパラメーターは例示用で公開情報に基づきます。GNSS 非依存の量子航法のクラスをモデル化したものであり、実際の冷却原子 IMU のハードウェア、動的なプラットフォーム、飛行環境は、明記された飛行に向けたギャップです。TRL、飛行実績、認証は主張していません。 |
量子 PNT システムの故障/異常検出(src/quantum_faults.rs)#
quantum-anomaly-detect シナリオは、量子 PNT の故障(クロックの周波数ジャンプ、ドリフト、ロック喪失、センサーのバイアスステップ、ドロップアウト)のラベル付きカタログを定義し、正常な窓と故障のある窓で検出統計量を採点して、検出器の識別性能を ROC AUC で、また固定した誤警報率での最小検出可能故障として報告します。量子と古典の比較の観点では、より安定した量子クロックの基準は監視雑音 σ を下げるため、より小さな故障を検出できます。この結果は、代表性の記録を伴う誠実な qtrade::TradeEvidence として出力されます。
オラクルは、ガウス型の検出統計量(正常 N(0,σ)、故障 N(μ,σ) ⇒ AUC = Φ(μ/(σ√2)))に対する閉形式の AUC で、外部で検証済みの eval_stats::bootstrap_auc_ci(scikit-learn に対して検証済み)と、detection の解析的しきい値に照らして相互確認します。quantum_faults::tests:解析的な AUC が既知の値と一致すること(μ=0 で 0.5、μ/σ が大きいとき →1、単調)、経験的なブートストラップ AUC の信頼区間が閉形式を挟むこと、量子の監視の AUC が高く、最小検出可能故障が小さいこと、極めて大きな故障では優位性が消えること(どちらも完全に検出するため、普遍的な差ではありません)、カタログにラベル付きのクラスが五つあること、トレードが内部的に誠実であること。
| 機能 | ステータス | オラクル/適用範囲の正直な説明 |
|---|---|---|
| 量子 PNT の故障/異常検出 | modelled |
src/quantum_faults.rs FaultKind、QuantumAnomalyScenario/Report、analytic_auc、min_detectable_fault;kind="quantum-anomaly-detect"。オラクル:InternalConsistency——閉形式のガウス型 AUC を、外部で検証済みの eval_stats のブートストラップ AUC(scikit-learn に対する)と detection の解析的しきい値に照らして相互確認。テスト(quantum_faults::tests)は上記のとおりです。適用範囲の正直な説明:検出統計量はガウス型のモデルであり、実際のテレメトリーではありません。故障カタログはラベル付きの合成データです。量子/古典の監視雑音レベルは例示用で公開情報に基づきます。量子 PNT の異常検出のクラスをモデル化したものであり、真値ラベル付きの実際のハードウェアのテレメトリーは、明記された飛行に向けたギャップです。TRL、飛行実績、認証は主張していません。 |
標準への適合性——交換フォーマット、リンクバジェット、インテグリティ(外部オラクルによる検査)#
これらの標準は、Kshana 自身の往復ではなく、標準自体(または独立した参照実装)に公開されている、そのままの計算例や参照値を復元することで検証されています。標準自身の附属書の例を復元することは、交換フォーマットのパーサーに対して得られる最も強い適合性の検査です。
| 規格 | ステータス | 外部オラクル |
|---|---|---|
| CCSDS OEM(502.0-B 軌道データメッセージ) | validated |
tests/ccsds_reference.rs:parse_oem は、CCSDS 502.0-B-3 附属書 G §G6、図 G-11(「加速度なし・共分散なしの OEM の例」、p. G-10)の KVN OEM の例について、正確なエポックと X/Y/Z/Ẋ/Ẏ/Ż の状態ベクトルを復元します。先頭にゼロを含む元の値(-063.042)を含め、両方のエフェメリスセグメントが対象です。フィクスチャ tests/fixtures/ccsds/oem_502_b3_figG11.oem は、公式のブルーブックから一字一句そのまま再現しています(有効な OEM レコードではない編集上の「< intervening data records omitted here >」のマーカーは含めていません)。 |
| CCSDS TDM(503.0-B 追跡データメッセージ) | validated |
tests/ccsds_reference.rs:TdmFile::parse は、CCSDS 503.0-B-2 附属書 E、図 E-9(「TIMETAG_REF=TRANSMIT の距離データ」、p. E-9)の KVN TDM の例について、41 件の RANGE レコードすべて(最初は 3198.03679519614 km、最後は 3270.46440460551 km)とメタデータを復元します。フィクスチャ tests/fixtures/ccsds/tdm_503_b2_figE9.tdm はブルーブックのそのままです。(これは、src/ccsds_tdm.rs にある、従来から手作業で作成された reference.tdm の往復に並ぶ、公開済みブルーブックによるオラクルです。) |
| CCSDS 133.0(スペースパケットプロトコル) | validated |
src/space_packet.rs primary_header_matches_published_independent_test_vectors:エンコーダーは、独立した spacepackets ライブラリ(us-irs/spacepackets-py、tests/ccsds/test_space_packet.py)のバイトレベルのプライマリヘッダーのテストベクトルを再現します。たとえば 18 02 40 34 00 16 と、すべて最大値の 1F FF FF FF FF FF、さらに標準的な全ビットが一のテレメトリー(TM)の場合があり、それぞれデコードを通じて往復します。ビットフィールドの幅と順序は CCSDS 133.0-B-2 §4.1.3 に従います。 |
| CCSDS 401 / DSN(リンクバジェット、DSN 810-005) | validated |
src/linkbudget.rs link_equation_reproduces_descanso_galileo_dct:FSPL(自由空間伝搬損失)と C/N₀ の連鎖は、J. H. Yuen(編)『Deep Space Telecommunications Systems Engineering』(DESCANSO/JPL(DESCANSO:Deep Space Communications and Navigation Systems Center of Excellence)Pub. 82-76)の表 1-1 に公開されている深宇宙テレメトリーの設計管理表を再現します。対象は 6.37 AU での Galileo の X バンド(8420.43 MHz)ダウンリンクで、自由空間損失は 290.54 dB(<0.05 dB)、受信 Pr/N₀ = 54.6 dB-Hz(<0.2 dB)です。バンドの中心は、DSN/CCSDS-401 の深宇宙ダウンリンクの割り当ての範囲内にあります(DSN 810-005 モジュール 201)。既定のミッションパラメーターは代表的なもの(較正済みのトランスポンダーではありません)のままで、ここで固定されるのはリンク方程式です。 |
GNSS 標準——外部オラクルの状況と、残るギャップの正直な説明:
| 規格 | 状況と正直な注意点 |
|---|---|
| RAIM / ARAIM | カーネル、幾何、ARAIM の保護レベルは外部で検証済みです。検出カーネル——χ² 故障検出しきい値、非心 χ² の見逃しの非心度、正規分布の K 乗数——は SciPy を再現し(tests/raim_reference.rs、171 ケース、相対 ≤ 1e-6)、それを包む幾何は gnss_lib_py(DOP)を再現します。ARAIM の保護レベル(PL)の値も固定されました。WG-C(WG:Working Group)の ARAIM Reference ADD(Algorithm Description Document)v3.1 の「LPV-200(LPV:垂直誘導付きローカライザー性能)の数値例」に対し、src/araim_reference.rs / tests/araim_reference_vectors.rs は VPL 18.2926 m(参照値 18.3 m)、HPL 13.4063 m(参照値 13.45 m)、σ_v,acc 1.3694 m(参照値 1.3694 m)を与え、参照自身の TOL_PL = 0.05 m(araim-reference-check の種別)の範囲内です。範囲:故障モードは衛星一機または衛星コンステレーション一つまでです(N_fault,max = 1)。複数事象の故障サブセットと除外は実装しておらず、従来型の RAIM には、公開された入力から HPL までの標準的なテストベクトルがありません。ARAIM_REFERENCE.md を参照してください。 |
| SBAS / DO-229E | 保護レベルのアルゴリズムは外部で検証済みです。衛星ごとの (el, az, σ) が与えられたとき、kshana の sbas_protection_level は RTKLIB の SBAS-PL フォーク(zsiki/rtklib_ws waasprotlevels()、Siki & Takács 2017、「DO-229D Appendix J」)を再現します。そのツール自身の σ(実際の EGNOS の放送メッセージと実際の BUTE の RINEX から計算したもの)を入力し、6 エポックにわたって HPL で < 2e-3 m です(tests/sbas_reference.rs)。ESA の gLAB v6.0.0(core/filter.c)も同一の規約を確認しました。K 係数(K_H,PA=6.0、K_V=5.33、K_H,NPA≈6.18)は DO-229E Appendix J と一致します。検証済みのものと、そうでないもの:これが固定するのは PL のアルゴリズム(σ を入力して HPL/VPL を出力)です。生の UDRE/GIVE メッセージからの上流の σ のモデル化は kshana の範囲外であり、独立した全パイプラインのツール同士は、実データでいまだにメートル級で食い違っています。K_V はオラクルの丸めた値 5.33 で一致しました(kshana の正確な Φ⁻¹(1−5e-8)=5.3267 では VPL が約 0.06 % 小さくなります。鉛直は K 係数なしで d_U として検証されています)。 |
| IONEX / Klobuchar | 放送モデルは外部で検証済みです。Klobuchar L1 モデルは RTKLIB の ionmodel(tests/klobuchar_reference.rs、< 1e-4 m)を再現します。これは事実上の標準となっているオープンな参照との実装の同等性であり、公式の実測の真値に基づく計算例は存在しません。IONEX の TEC マップリーダーが追加されました(src/ionex.rs、単体テスト済み)。残るギャップは、放送モデルではなく、これを実際の GIM プロダクトと照合する確認です。主張と現実の Klobuchar の行を参照してください。 |
| GPS L1 C/A 拡散符号(IS-GPS-200) | 符号生成は外部で検証済みです。 src/sdr.rs(ca_first_ten_chips_match_is_gps_200_octal):G1/G2 LFSR(線形帰還シフトレジスタ)の C/A 符号生成器は、IS-GPS-200 表 3-Ia に公開されている符号位相の割り当てを、PRN(疑似ランダム雑音)1–9 の最初の十チップの八進表記({1440、1620、1710、1744、1133、1455、1131、1454、1626})について、完全に再現します。これは拡散符号のチップ系列を GPS のインターフェース仕様に対して固定するものです。周辺の変調、スペクトル分離、DLL(遅延ロックループ)による符号追跡の部分(navsignal)は MODELLED のままです。 |
ネットワーク、スペクトル、太陽系、コンステレーション、キャンペーン、LEO-PNT のためのタイミング#
0.28 系列で追加された機能は、生成された VERIFICATION-MATRIX.md で行ごとに格付けされています。この節では、そのうちどれが外部オラクルを備えているかを要約します。行が VALIDATED となるのは、独立した外部オラクルがある場合だけで、それ以外はすべて MODELLED です。
| 機能(種別) | ステータス | 外部オラクル、またはモデル計算にとどまる理由 |
|---|---|---|
ホールドオーバー系列に対する通信用 MTIE(最大時間間隔誤差)と TDEV(時間偏差)(telecom-timing) |
validated |
tests/telecom_timing_reference.rs:チップスケール時計のホールドオーバー系列(2 048 サンプル、コミット済み)に対する 17 個の MTIE と 12 個の TDEV の平均化係数を、allantools 2024.06 に対して相対で < 1e-12 / < 1e-9 まで照合しています。ITU-T(国際電気通信連合電気通信標準化部門)のマスクの PASS/FAIL の判定とデータシートの発振器プリセットは MODELLED のままです。TELECOM-TIMING.md を参照してください。 |
実測のクロック記録からのホールドオーバー予測(slot-timing) |
validated |
tests/slot_timing_cs5071a_holdout.rs:実際の 5071A セシウム記録の最初の三分の一でフィットし、六つのしきい値で一シグマの超過時刻を予測し、保持した三分の二で実測しています。基準は両方向で 1.5 倍、観測された比は 0.84 から 1.03 でした。これに基づくスロットガードの予算とフィックスの周期は MODELLED のままです。 |
閉形式の L バンド電力スペクトル密度とスペクトル分離(spectrum) |
validated |
navsignal の閉形式を公開されている値に対して照合しています(マトリクスの行「Closed-form L-band signal power spectral densities…」)。バンドごとの J/S(ジャマー対信号比)と実効 C/N0(搬送波対雑音密度)を示すウォーターフォール、および SigMF(Signal Metadata Format)の入出力は MODELLED のままです。 |
JPL(ジェット推進研究所)の Standish 軌道要素による惑星位置と、天体間の光行時間(solar-system) |
validated |
0.30、JPL Horizons(DE441)に対して事前登録済み:tests/solar_system_standish_preregistered.rs と tests/solar_system_standish_earth_icrf_preregistered.rs。惑星ごと・成分ごとの RMS は Explanatory Supplement の表 8.10.1 の値以下(最悪 0.778)で、地球の分割と ICRF の回転を含みます。tests/solar_system_light_time_solver_preregistered.rs:DE441 の位置に対する光行時間ソルバーは、Horizons の光行時間と 1e-6 s 以内で一致します(最悪 6.7e-9 s)。以前の二倍の公称値による比較(tests/solar_system_horizons_reference.rs)は、基準が最初の比較の後に設定されたため、ゲートにかからない回帰テストとして残してあります。表 1 の天王星/海王星、冥王星、衛星、天体定数、body-pnt は MODELLED のままです。 |
ウォーカー配置と、公開されている GPS、Galileo、GLONASS(GLObal NAvigation Satellite System)のスロット、全球の GPS 精度低下率(constellation-design) |
validated |
constellation::tests:ウォーカー 24/3/1 は、Galileo のオープンサービス定義表を 1e-9° まで、GLONASS のインターフェース管理文書のスロット式、GPS の赤道通過を再現し、GPS のベースラインの HDOP 中央値 0.940 は、標準測位サービス性能標準の 0.94 と一致します。任意の天体まわりの複数コンステレーションのカバレッジマップは MODELLED のままです。 |
キャンペーン:連鎖したミッション、掃引、モンテカルロのアンサンブル、共有条件での実行(campaign) |
modelled |
tests/campaign_composition_reference.rs(11 件のテスト):一つのフェーズだけのキャンペーンは単独の実行をバイト単位で再現し、一ノードの掃引は同じ数値を読み取り、シード付きのアンサンブルはバイト単位で安定しています。合成の恒等式であり、外部オラクルではありません。 |
| LEO(低軌道)のリンク物理:ITU-R(国際電気通信連合無線通信部門)P.838 の降雨係数、P.618 の降雨減衰とシンチレーション、P.2109 の建物侵入損失、一次近似の電離圏、最大ドップラー | validated |
tests/leo_link_reference.rs、tests/leo_doppler_reference.rs:ITU-R 勧告自体の表と、研究委員会 3 の検証例(出典と取得日を添えてコミット済み)、電離圏に対する IS-GPS-200 の群遅延比、そして Leclere、Marathe、Reid(ION GNSS+ 2025、arXiv 2509.19551)が公開している最大ドップラーの表。 |
LEO 航法メッセージ:Galileo ICD(インターフェース管理文書)の放送エフェメリスのユーザーアルゴリズム、CRC-24Q(24 ビットの巡回冗長検査)、全球平均の SISRE(信号空間距離誤差)の重み(leo-navmsg) |
validated |
tests/leo_navmsg_reference.rs:Galileo のユーザーアルゴリズムは、実際の Galileo の放送エフェメリス四件について RTKLIB(オープンソースのリアルタイムキネマティック測位ライブラリ)を 1 mm まで再現します。CRC-24Q はカタログのチェック値 0xCDE703 と、RTCM(海事無線技術委員会)1005 の例のフレームのチェックバイトを与えます。SISRE の重みは公開されている MEO/GEO の表を再現します。フィッター、パス途中の更新、バイナリのエンコード、RINEX-4 形式/CSV(カンマ区切り値)のテキスト、選択可能なエフェメリスモデルは MODELLED のままです。 |
LEO の信号設計、パスとリンクバジェット、ドップラー、GNSS と LEO を合わせた測位、PPP(精密単独測位)の収束、5G NTN(非地上系ネットワーク)の測位、LEO の時刻比較(leo-signal、leo-pass、leo-pvt、leo-ppp、ntn-positioning) |
modelled |
tests/leo_signal_reference.rs、tests/leo_fusion_scenarios.rs:閉形式、フィルターの整合性(たとえば PPP フィルターの実行平均 NEES が 95% の範囲内にあること)、および公開されている傾向との比較。フィールドデータはありません。 |
LEO-PNT システム一式のエンドツーエンド(leo-pnt-chain) |
modelled |
tests/leo_pnt_chain.rs:引き渡される各値は上流の段階自身の出力と等しく、上流の入力を変えると、それに依存する下流のすべての数値が動きます。 |
| LEO のレジリエンスと応用分野(ドップラーと帯域間整合性によるスプーフィング、電離圏探査) | modelled |
tests/leo_resilience_verticals.rs(10 件のテスト)。レジリエンスと応用分野のシナリオは RESILIENCE-CROSSWALK.md に一覧があります。 |
証拠ではなく描画である出力には、テストはありますが、マトリクスの行はありません。交換フォーマットのエクスポート(CZML(Cesium Language)、KML(Keyhole Markup Language)、GeoJSON、STK(Systems Tool Kit)エフェメリス、SigMF(Signal Metadata Format))は、それぞれ、フォーマットの仕様から書き起こした検証器で再度パースされます(tests/interop_formats.rs、13 件のテスト。INTEROP.md を参照)。アニメーション(tests/animation.rs):バイト単位で同一の再実行、正確なフレーム数、正しい形式の SVG(Scalable Vector Graphics)、HTML(HyperText Markup Language)プレーヤーに外部アドレスがないこと。実行レポート(tests/advanced_report.rs、tests/advanced_report_cli.rs):同梱のすべてのシナリオが、空の節やプレースホルダー値なしでレポートされ、ラベルがマトリクスと一致し、記録されたコマンドが result.json とレポートをバイト単位で再現すること。
動作範囲#
各パックは、tests/scenario_coverage.rs によって、規定の入力範囲全体にわたって実行されます。このテストは、すべての数値出力が有限(NaN/Inf(NaN:非数)なし)で、有界であることを検証します。表には、パックごとの試験した入力範囲、期待される出力の挙動、それを対象とするテストを示します。
| パック | 掃引した入力 | 試験した範囲 | 期待される出力 | 対象のテスト |
|---|---|---|---|---|
| clock | threshold_ns(タイミング仕様) |
1 – 500 ns | 有限のホールドオーバー/タイミング/セキュリティの性能指標 | clock_pack_covers_the_spec_threshold_envelope |
| inertial | accel.bias |
1e-7 – 1e-2 m/s²(冷却原子から粗い MEMS(微小電気機械システム)まで) | 有限で有界な位置の RMS/p95 | inertial_pack_covers_the_accel_bias_envelope |
| orbit | mask_deg(仰角マスク) |
5° – 30° | 有限の DOP/可用性、有界 | orbit_pack_covers_the_elevation_mask_envelope |
| spoof | attack.rate_ns_per_s |
0.1 – 50 ns/s | 有限の P_md/セキュリティ、有界 | spoof_pack_covers_the_attack_rate_envelope |
| hybrid | position_spec_m |
10 – 1000 m | 有限のタイミング/位置のホールドオーバー | hybrid_pack_covers_the_position_spec_envelope |
| 軌道(実データ) | 実際の Celestrak の gps-ops TLE |
30機のスナップショット、チェックサムを厳格に検査 | 有効なチェックサムがある場合のみ読み込み、幾何は有界 | real_gps_constellation_scenario_loads_with_valid_checksums_and_bounded_output |
| クロック(フリッカー) | flicker_floor のオン/オフ |
0 対 1e-12 | 1/f フロアを有効にすると、timing-p95 の惰行が悪化 | flicker_fm_floor_degrades_the_clock_holdover_when_enabled |
| フュージョン(現実性) | accel.bias 0 対 5.88e-7 m/s² |
ゼロと現実的なゼロでない値 | フィルターは引き続き収束し、バイアスゼロの誤差の 3× 以内 | fusion_filter_converges_with_a_realistic_non_zero_bias |
フリッカー FM とフュージョンのバイアスの行は、現実性に関する二つの具体的なギャップを埋めます。雑音項は既定ではオフですが、有効にすると出力に影響することが実証されており、統合フュージョンフィルターはバイアスをゼロにすることに依存せず、現実的な冷却原子級の残留バイアスがあっても収束します。
既知の制限#
- 量子の実行と古典の実行は、独立した RNG(乱数生成器)のシードを使うようになり(古典のシード = シード + 0x9e3779b97f4a7c15)、雑音の実現値が無相関になりました。レビュー後に修正しました。
holdover_sはセグメントを考慮します。途絶のタイムラインは GNSS の再捕捉の時点で連続するセグメントに分割され、報告される値は、それらのうち最悪(最短)の惰行です。これは時間グリッドの分解能によって制限されたまま(下限値)です。- ISL の時刻比較の再同期は、残るリンクの不確かさを、測定ステップごとの新たな平均ゼロのジッターと、設定された間隔での再アンカーとしてモデル化します。
主張と現実——クイックリファレンス#
批判的なレビュー担当者のためのチェックリストです。実際以上の意味に読み取られかねない用語それぞれについて、Kshana が現時点で行っていること、実際の完全版がロードマップのどこにあるかを示します。
| 目にする可能性のある用語 | 現時点での実際の内容 | (まだ)そうではないもの |
|---|---|---|
| 「ハイブリッド量子/古典 PNT シミュレーター」 | 公開されている量子センサーのアラン偏差/雑音係数で駆動する、古典的な確率シミュレーター | 第一原理に基づく量子物理(マッハ・ツェンダー位相、射影雑音、系統誤差)——QUANTUM-MODELS.md を参照 |
| 「統合カルマンフュージョン」/フュージョンパック | 実行可能な fusion パックは、時計と位置を別々に観測します(直接の時刻フィックスと直接の位置フィックス)。その場合、最適な推定器はまさにブロック対角であり、組み合わせた性能指標を持つ二つの二状態フィルターになります |
疑似距離の場合の結合フィルターは、fusion::coupled::CoupledPntFilter(4状態の積み上げ [pos,vel,phase,freq]、ゼロでないブロック間共分散、NEES で検証済み)として存在しますが、実行可能なパックにはまだ組み込まれておらず、このパックは 1-DOF(一自由度)です。3-D の8状態への拡張は今後の課題です |
セキュリティの性能指標(spoof 種別) |
確率的な時刻スプーフィング検出器の 1 − P_md:クロック支援のモニター統計量に対する両側 χ²₁/ネイマン・ピアソン検定で、しきい値は目標の P_fa から設定し、P_md を規定の大きさで、閉形式とモンテカルロの両方で評価します(両者は 1/√N の数倍以内で一致します) |
複数衛星の RAIM/ARAIM 検出器——INTEGRITY.md を参照。モニター統計量は、クロックの PSD から導いた σ を持つガウス型のモデルであり、信号レベルの相関ではありません |
| 「クロック支援のスプーフィング検出」 | 単一クロックの時刻不一致モニター(ガウス型の統計量、σ はクロックの PSD から)であり、複数 SV(SV:スペースビークル、すなわち衛星)の RAIM ではありません | 保護レベルを持つ、距離領域の複数 SV の RAIM |
| スプーフィング検出器の P_md(閉形式とモンテカルロ) | Φ に基づく解析的な P_md と、mc_runs 回の試行による経験的な推定値は、標本誤差(≈ 1/√N)の範囲内で一致します。負荷をかけたずれ(μ/σ = 2)での src/spoof.rs / src/detection.rs のテストで検証済みです |
記録されたスプーフィングデータに対して測定した検出器の ROC |
gnss-sim の疑似距離モデル |
順方向のシミュレーション:ρ = geometric + clocks + Klobuchar iono + Saastamoinen·Niell tropo + noise + multipath。各大気モデルは、手計算の値に対して単体テストされています(ZHD(天頂静水圧遅延)≈ 2.3 m、天頂で Niell = 1、Klobuchar の傾斜率)。Klobuchar の放送モデル全体は、RTKLIB の ionmodel() の参照実装に対して相互確認しており、サブミリメートルまで一致します(klobuchar_agrees_with_rtklib_reference_implementation、RTKLIB の既定係数の場合で 6.1278 m。公式に公開された Klobuchar のテストベクトルは存在しないため、これは実測の真値ではなく、実装の同等性です)。ゼロ雑音の実行は、幾何と補正をサブミリメートルまで再現します(RAIM 残差 ≈ 0) |
実際の信号からの位置解(PPP/RTK(PPP:精密単独測位))、二周波の電離圏フリー結合、または搬送波位相の整数値バイアスの決定——モデル化していません |
ジャミングモデル(jamming 種別) |
リンクバジェットの連鎖:自由空間伝搬損失と方向ごとのアンテナ利得からの J/S → 耐ジャム式(逆拡散利得 × スペクトル分離 Q)による実効 C/N₀ → しきい値でのロックの喪失(Kaplan & Hegarty §9.4) |
マルチパス、時間変化する AGC(自動利得制御)の動特性、捕捉探索そのもの(任意の [acquisition] のヒステリシスはしきい値の組です)。任意の [front_end] の量子化損失はガウス入力のものであり、CW ジャマーには当てはまりません。任意の [crpa] アレイは狭帯域で理想的であり(結合やミスマッチなし)、任意の [terrain] の遮蔽は一つの SRTM タイル上の一つのナイフエッジです。Q は代表的な種別ごとの定数であり、ジャマーの測定された PSD から導いたものではありません |
| インテグリティの性能指標(クロック/ホールドオーバーのパック) | フィルターの自己整合性(途絶サンプルのうち、自身の k·σ の範囲内に収まるものの割合) | HPL/VPL、インテグリティリスク/P_HMI、警報限界、DO-229E/316/ED-259A——これらは integrity 種別(RAIM / ARAIM)と SBAS の機能によって別に報告され、この性能指標に組み込まれることはありません |
従来の inertial シナリオのパックの性能指標 |
真値スナップによるリセットを伴う、単軸(1-DOF)の加速度計/ジャイロの誤差予算(VRW/ARW、バイアス不安定性) | 従来のパックは 1-DOF です。3軸の経路は gnss-ins パックに含まれます(次の行) |
3軸ストラップダウンライブラリと gnss-ins パック(src/inertial/、src/fusion/pack.rs) |
検証済みのクォータニオン/NED(NED:北・東・下)航法器に、決定論的な IMU 誤差モデルを備えます。スケールファクター、ミスアライメント、g 感度、量子化、レートランプをモデル化しており(IEEE Std 952-1997 §A.2、Groves 2013 §4.3)、現在は gnss-ins シナリオパックによって駆動され、TOML(Tom's Obvious Minimal Language、シナリオのフォーマット)からセンサーごとに設定可能です([imu_*.error_model]) |
モデル化していないもの:振動整流誤差、温度勾配ドリフト。融合した惰行の誤差は、引き継ぎ時の姿勢誤差(傾きと加速度計バイアスは分離しにくい)で下限が決まるため、バイアスごとの較正は主張していません |
「ハイブリッド PNT 統合」(hybrid パック) |
真値スナップによる GNSS リセットで区切られた、開ループの推測航法 | 結合型(疎結合/密結合)の GNSS-INS カルマン融合——これは別の gnss-ins パック(EKF)と hybrid-ukf 種別です |
| 「測位性能」(クロックのパック) | ns 単位のクロック位相のタイミング RMS(timing_rms_ns) |
位置領域の RMS/CEP/SEP/DOP 重み付き(SEP:球面誤差確率)の精度 |
慣性の位置の性能指標(pos_rms_m) |
メートル単位の単軸の位置 RMS/p95。runs = N がアンサンブルを要求しない限り一つのシードによるもの(要求した場合は、指標ごとに平均、ばらつき、ブートストラップの 95% 信頼区間) |
アンサンブルの CEP/2DRMS(距離 RMS の二倍)の分布(ロードマップ:モンテカルロ CEP) |
| 「約 2% まで検証済み」 | 典型的な観測上の一致度。強制されるゲートは相対誤差 20–25% です | 保証された 2% の精度上限 |
| 「再現可能/ビット単位で同一」 | 同じ OS(オペレーティングシステム)と固定されたツールチェーンでのビット単位で同一の再実行。Linux、macOS、Windows の間では、CI が、各結果の入力フィンガープリントと形状のコミット済み SHA-256(tests/cross_platform_golden.rs)と、1e-6 までの数値(tests/golden.rs)を検査します |
オペレーティングシステムをまたいだ、バイト単位で同一の完全な結果(libm の最下位桁の違いがあるため) |
SGP4 GPS シナリオ(orbit-sgp4-gps.toml) |
本物の Celestrak の gps-ops スナップショット(2021-07-28、30 機、厳格なチェックサム)。各衛星は、それ自身の TLE エポックから伝播 |
現在のコンステレーションではありません——スナップショットは scripts/fetch_tles.sh で更新します(REAL_TLE_GUIDE.md を参照)。NORAD(北米航空宇宙防衛司令部)のカタログ番号は実際のものです |
月 PNT の論文との相互確認(回帰の証拠であり、マトリクスの行ではありません)#
月/地球・月間空間のスイート(README の「Lunar & cislunar」と「Lunar PNT suite」の機能)は、公表された論文の主張を tests/validate_p*.rs で独立に相互確認しており、それぞれ異なる実装によるオラクルを用います:
- 軌道上の送信/捕捉フットプリントを
scipy.special.j1(Cephes のベッセル J1)に対して。 - 地表ビーコンの幾何 DOPを、独立した NumPy の
(HᵀH)⁻¹解に対して。 - UT1/EOP の持続予測の誤差増大を、同じ IERS の
finals2000Aの行そのままを NumPy で再パースしたものに対して。 - 平面の遠方逆行軌道ファミリーを、NASA/JPL の Three-Body Periodic Orbit Database に対して。
- RF 測距精度の予算を、第一原理に基づく参照に対して。
フィクスチャとオラクル生成スクリプトは tests/fixtures/{p1_footprint,lunar_service,eop_prediction,rf_ranging_precision,dro_family_jpl,p2_independent_dop}/ の下にあります。これらは、機械で検査されるマトリクス(src/verification.rs)で MODELLED のままの機能の裏付けとなる証拠を強めるものですが、回帰の検査であり、新しい VALIDATED のマトリクス行ではないため、機械で検査されるマトリクスの件数そのものは変わりません。その件数はここでは再掲しません。手で入力した写しはずれていくためです。現在の内訳は、gen_validation_artifacts が verification_matrix() から書き出し、tests/verification_artifacts_doc_sync.rs が固定している VERIFICATION-MATRIX.md の生成されたヘッダーにあります。