インテグリティとセキュリティ:Kshana がモデル化するもの、しないもの
Kshana は、インテグリティとセキュリティという二つの性能指標(FoM)を報告します。これらは、航空分野で同名の量と取り違えやすいものです。このページでは、現時点でそれらが何であり、何でないのか、そしてロードマップで何が加わるのかを率直に述べます。人命安全または認証の文脈で Kshana を評価する場合は、まずこれをお読みください。
現時点(v0.37.0)#
インテグリティ FoM:フィルターの自己整合性#
インテグリティ FoM は、真のタイミング誤差がカルマンフィルター自身の k シグマ保護境界の内側にとどまった、途絶時のサンプルの割合です。
integrity = (# outage samples with |error| <= k * phase_sigma) / (# outage samples)
これが測るのは、GNSS(全球測位衛星システム)の途絶中に、フィルターが自己申告する不確かさが、フィルター自身の誤差について正直かどうかです。内部の整合性チェックとして有用です。
これは次のものではありません:
- 水平/垂直保護レベル(HPL/VPL):位置領域の保護レベルは一切ありません(クロックパックはタイミング領域です)。
- インテグリティリスク/危険な誤誘導情報の確率(P_HMI)。
- アラートリミットとの比較。
- RTCA DO-229E / DO-316、EUROCAE ED-259A(RTCA:Radio Technical Commission for Aeronautics、EUROCAE:European Organisation for Civil Aviation Equipment)、またはその他のいかなる認証規格にも適合したものではありません。
セキュリティ FoM:解析的なスプーフィング検出可能性の限界#
セキュリティ FoM は、クロックの安定度にもとづくスプーフィング検出可能性の限界です。時計のノイズ(白色周波数とランダムウォークの PSD(パワースペクトル密度))と監視ウィンドウが与えられたとき、ゆっくり増加する偽の時刻スプーフィングに対する単一クロックの整合性モニターの、解析的な検出マージンを表します。より静かな時計(例:光時計)は、よりノイズの多い時計(例:CSAC(チップスケール原子時計))より小さく遅いスプーフィングを検出します。この対比こそが、デモンストレーターの要点です。
これは、複数衛星の RAIM(受信機自律型インテグリティ監視)検出器ではありません。衛星間の疑似距離残差も、保護レベルも、P_HMI もありません。イノベーションとシグマの比較テストは、古典的な RAIM の故障検出(Brown)と数学的に同じ形をしていますが、その数値は特定の時計に対する解析的な限界であって RAIM の実装ではなく、設定されたスプーフィングシナリオの文脈でのみ意味を持ちます(実際に増加していく攻撃を注入する spoof シナリオ種別を参照してください)。
出力にはそのことが示されます。clock、orbit、hybrid、fusion の各種別は攻撃を設定しないため、一行の要約には数値の代わりに security n/a (no attack) と表示され、結果ドキュメントでは figure_tiers ブロック内で、理由とともに fom.security が applicable: false と記されます。値そのものは、その限界を必要とする人のためにドキュメントに残ります。
実際のスナップショット、ソリューションセパレーション、ARAIM の RAIM(src/raim.rs)#
位置領域の本物の RAIM が src/raim.rs に実装されており、上記の自己整合性 FoM とは別物です:
- 複数衛星の残差監視:可視衛星への視線方向のジオメトリ行列を作り、最小二乗の位置・クロック解を求め、残差二乗和を検定します。
- χ² 故障検出:
SSE/σ²(SSE:残差二乗和)は、無故障仮説のもとで χ²(n−4) に従います。chi2_{1-P_fa}(n-4)を超えると故障と宣言します。χ² のしきい値は、依存関係のない正則化不完全ガンマ関数の評価から得ています(厳密で、表は使いません)。 - 勾配ベースの HPL / VPL:
max_i(slope_i)·pbias·σ。ここでslope_iはハット行列から得られる衛星ごとの位置誤差感度、pbiasは設定された見逃し確率P_mdを満たす非心 χ² のバイアスです。 - ソリューションセパレーション RAIM(MHSS:multiple-hypothesis solution separation):全可視衛星の解と、一機ずつ除外した各部分解について、入れ子になった推定器の分離量
Δ_k = x_k − x₀が、故障した衛星を検出し、かつ特定し、保護レベルの境界にも反映されます。 - ARAIM(受信機自律型インテグリティ監視の高度版)のインテグリティリスク(P_HMI)配分:
araim_raimは、危険な誤誘導情報の確率の合計P_HMI = Σ_k p_fault,k · Q((PL − T_k)/σ_k)(Blanch ら、Baseline ARAIM)が、明示したインテグリティリスク配分を満たす最小の HPL/VPL を求め、そのレベルが達成するリスクを報告します。これにより、インテグリティを固定のK_md乗数に暗黙のまま含めるのではなく、アラートリミットと直接トレードオフできます。 - Stanford–ESA インテグリティ図(ESA:European Space Agency):エポックごとの累積器が
(error, PL)を、可用性のまとめのために、Available / System-Unavailable / Misleading / Hazardously-Misleading の各領域に分類します。 - 端から端まで到達可能:
integrityシナリオ種別は、上記を SGP4(Simplified General Perturbations 4)またはケプラー軌道のコンステレーション、あるいは実際の TLE(二行軌道要素)や RINEX(Receiver Independent Exchange Format)航法ファイルから読み込んだコンステレーションに対して実行し、設定したアラートリミット(scenarios/integrity-raim.toml)に対するエポックごとの HPL/VPL 可用性マップを出力します。同じ実行で垂直方向の Stanford 図もエクスポートします。保護対象の各エポックで、シード付きの再現可能な無故障の距離誤差の乱数を、ジオメトリを通して実際の垂直誤差に写像し、VPL と垂直アラートリミットに照らして分類します。そのため JSON(JavaScript Object Notation)の結果と CLI(コマンドラインインターフェース)の要約には、可用性の割合だけでなく、領域ごとの件数(インテグリティイベントと HMI:危険な誤誘導情報)も含まれます。同梱のscenarios/integrity-raim.tomlでは、水平40 m、垂直50 m のアラートリミットで、361エポック中344エポックが利用可能(95.3 %)で、インテグリティイベントは0件、HMI は0件と報告されます。 - インテグリティサポートメッセージ付きのデュアルコンステレーション ARAIM:
araim_dual_raimはコンステレーション全体の故障モードを加えます。故障なしと単一衛星の仮説に加えて、各コンステレーションが、その全衛星を除外する仮説を一つずつ、事前確率P_constで、同じ MHSS のインテグリティリスク和に加えます。IntegritySupportMessage(ISM)は、インテグリティ用のユーザー測距精度(σ_URA)、精度の二乗平均平方根(σ_URE)、すべてのモードに片側で折り込まれる最大公称バイアスb_nom、および事前確率P_satとP_constを運びます。その WG-C(衛星航法に関する欧州連合・米国の協力の作業グループ C。その ARAIM 技術サブグループが参照を公表)の参照セットは、σ_URA = 0.75 m、σ_URE = 0.67 m、b_nom = 0.75 m、P_sat = 1e-5、P_const = 1e-4 です。P_const = 0は、単一故障のaraim_raimの結果をビット単位で再現します。integrity種別は、araim_dual = trueでこの経路を通ります(scenarios/araim-gps-galileo.toml:GPS + Galileo、48機の衛星、同じアラートリミットで145エポック中145エポックが利用可能)。 - 公表された参照ベクトルに対する保護レベル:
araim-reference-check種別は、エンジンのaraim_protection_levelとaraim_integrity_riskを、WG-C ARAIM サブグループ自身の計算例(Reference Airborne Algorithm Description Document v3.1、2019年、付録 D、および Milestone 3 Report、2016年、附属書 A)で実行します。受け入れベクトルでの垂直・水平保護レベルの差の最悪値は0.0437 mで、文書自身の許容差0.05 mに収まります。この行はVERIFICATION-MATRIX.mdで VALIDATED です。これが検証するのは保護レベルの式であり、運用上の ISM や受信機ではありません。
残るギャップ(ロードマップ)#
raim.rs がまだ行っていないこと:
- クロック/ホールドオーバーのシナリオ FoM には組み込まれていません。それらのパックは、依然として上記のフィルター自己整合性のインテグリティ値を報告し、HPL/VPL は報告しません。
- 故障仮説は、故障なし、単一衛星、コンステレーション全体です。二機以上の衛星(SV:space vehicle、すなわち衛星)の部分集合での同時故障はモデル化されていません。
- ISM は(WG-C の参照値を持つ)設定可能なパラメーター集合であり、放送される運用メッセージでも、検証済みの脅威モデルでもありません。
- 故障検出・除外(FDE)は単一衛星かつスナップショットのみです。ソリューションセパレーションが故障した衛星を特定し、
snapshot_raim_fdeは単一衛星の除外ごとに再計算して、除外した衛星と、残りの部分集合のカイ二乗検定および保護レベルを返しますが、除外で保護された位置は報告されず、integrityシナリオ種別は除外のステップを実行しません。
スナップショット、ソリューションセパレーション、ARAIM の各コアは、合成のコンステレーションだけでなく、実際の IGS(International GNSS Service)精密軌道(SP3:Standard Product 3)のジオメトリでも検証されています。tests/igs_real_data.rs は、実在の地上局における本物の IGS SP3 プロダクトの最初のエポックから視線方向のジオメトリを作り、保護レベルが有限で、水平40 m・垂直50 m の APV-I(垂直誘導付き進入)のアラートリミット内に収まること、60 m の疑似距離バイアスで χ² モニターが作動すること、ソリューションセパレーションが故障した衛星を特定すること、ARAIM のレベルが配分された P_HMI を満たすことを確認します。tests/araim_dual_real_data.rs は、実際の 2026-06-07 の Celestrak の GPS と Galileo のカタログを共通の一つのエポックまで伝搬させて、デュアルコンステレーション経路を実行します(REAL_TLE_GUIDE.md §3 を参照)。完全な RINEX 観測アークにわたって、エポックごとに保護レベルを gLAB(GNSS-Lab Tool、ESA が配布する GNSS データ処理スイート)と突き合わせるより深いクロスチェックを行えば、受信機領域での一致が加わります。これは未実施です。pvt 種別は実際の RINEX 観測からコードによる単独測位の位置を計算しますが、その解から得た保護レベルは gLAB のものと比較されていません。
したがって raim.rs は、実際の保護レベルとインテグリティリスクのコアであり、integrity と araim-reference-check のシナリオ種別から到達でき、実際の参照軌道のジオメトリで検証され、WG-C の参照ベクトルに照らして確認されています。複数衛星の部分集合での故障、受信機領域での gLAB との一致、クロック FoM への統合はロードマップの項目として残っており、これらのいずれも認証のエビデンスではありません。
関連項目#
GLOSSARY.md:すべての FoM と略語の一行定義。ARAIM_REFERENCE.md:ISM のパラメーターと WG-C の参照ベクトル。SLOT-TIMING.md:惰性走行する時計のタイミング保護レベル(TPL)。検出を条件とします。VALIDATION.md:参照に対して検証された量と、自己整合性のチェックにとどまる量の区別。src/security.rs:スプーフィング検出可能性の限界の導出。
クロックのホールドオーバー性能指標と並べた RAIM(0.36、オプトイン)#
クロックシナリオには [integrity] セクション(src/clock_integrity.rs)を持たせることができます。観測地点(lat_deg、lon_deg、height_m)、コンステレーションのプリセット(systems、既定は gps-baseline)、マスク、距離残差のシグマ、誤警報確率と見逃し確率、水平・垂直のアラートリミット、エポック間隔、および一機の衛星に対する任意の明示バイアスです。すると実行は、別個の integrity_fom ブロックを報告します。エポックごとの可視衛星、スナップショット RAIM の保護レベルと判定(available、alarm、unavailable-pl-above-al、unavailable-too-few-satellites、unavailable-gnss-denied)、そして実行全体での件数と可用性です。タイムラインが GNSS の拒否を示している間は RAIM は利用不可であり、何も外挿されません。劣化した区間は公称として評価されます。ホールドオーバーの性能指標は変わらず、このセクションがなければ出力はバイト単位で同一です。MODELLED:代表的なプリセットの空、合成の残差、明示した限界値によります。runs = 1 が必要です。
EU-US WG-C ARAIM Milestone 3 の最大 URA の再現(CAP-05c)#
以前の計画では、EU-ARAIM の技術ノートの「Table A-3」との比較を約束していました。その表の公開された出典は見つからなかったため(EU-US Working Group C ARAIM Technical Subgroup が公表している Milestone 1から3の報告書に Table A-3 はありません)、その比較は取り下げられ、その名前では何も約束されていません。
代わりに試みているのは、公開されている報告書の再現です。Milestone 3 Report(2016年2月25日、GPS.gov の写し、SHA-256 156147e1...13d8)の表5、6、7は、コンステレーション構成ごとに、RNP 0.1 と RNP 0.3 のそれぞれについて、ユーザーの90 %が99.5 %の可用性を得られる最大の sigma_URA を掲載しています。掲載されている十二のエントリ(二周波表の Depleted 行と Baseline 行)を、採点を伴う実行より前に xval/araim-m3/PREREGISTRATION.md で事前登録した合格基準のもとで確認します。取り除けない差異もそこに明記しています。アルマナックファイルがないこと、実際のスロットの代わりに Walker シェルを使うこと、より粗いグリッドとステップ、そして報告書自身の記述ではなくエンジンの ADD v4.2 の水平経路を使うことです。表8から13(単一周波)と Optimistic 行は試みておらず、その理由もそこに記しています。結果:12エントリ中8エントリを再現、4エントリは NOT MET(固定):デュアルコンステレーションのエントリと Galileo のみのエントリはすべて一致します(N/A の行を含む)。デュアルの Depleted RNP 0.1 のエントリは、掲載値9 mに対し9 mでカバレッジ0.847に達しますが(必要なのは0.90)、GPS のみの三つのエントリは大きく外れます(カバレッジは、4 mで0.70、6 mで0.58、10 mで0.65。掲載値は4 m、6 m、「>10 m」)。GPS のみの外れは、実際の GPS のスロットの代わりに用いた一様な Walker シェル(D1)に起因する可能性がありますが、それは仮説であり、発見ではありません。この結果は、どのような値であっても MODELLED のままです。この検討は src/bin/gen_araim_m3_study.rs で、測定したカバレッジは xval/araim-m3/results.json にあり、tests/araim_m3_reproduction.rs が採点します。報告書そのものは引用であり、同梱していません。