ARAIM-Referenz — Schutzniveaus des Advanced RAIM in Kshana
Diese Notiz dokumentiert die offene Implementierung von Advanced Receiver Autonomous Integrity Monitoring (ARAIM) in Kshana: den Algorithmus, jede Annahme, die Integritätsunterstützungsnachricht, die er verarbeitet, und den Validierungsstatus. Die Implementierung liegt in src/raim.rs; dieses Dokument ist der Begleittext, den ein Prüfer (oder ein Beschaffungsgutachter) neben dem Code lesen kann.
ARAIM ist der Zwei-Konstellationen-Mehrfrequenz-Nachfolger des klassischen RAIM, den die Working Group C (WG-C) von GPS (Global Positioning System) und Galileo definiert hat, um horizontale und vertikale Führung bis hinunter zu LPV-200 zu unterstützen (LPV: localizer performance with vertical guidance). Er beantwortet für jede Epoche eine einzige Frage:
Wie groß muss die Positionsfehlerschranke (das Schutzniveau) sein, damit die Restwahrscheinlichkeit gefährlich irreführender Information — ein Fehler größer als die Schranke, während die Schranke noch innerhalb der Alarmgrenze liegt — unter dem Integritätsrisikobudget
P_HMIbleibt?
1. Die Integritätsunterstützungsnachricht (ISM)#
Die ISM ist der je Konstellation geltende Parametersatz, den der Nutzer anwendet. Sie wird von IntegritySupportMessage ausdrücklich modelliert:
| Feld | Symbol | Bedeutung |
|---|---|---|
sigma_ure_m |
σ_URE / SISE (Signal-in-Space-Fehler) | Entfernungsfehler-RMS (Effektivwert), verwendet für Genauigkeit und Kontinuität |
sigma_ura_m |
σ_URA / SISA (Signal-in-Space-Genauigkeit) | Entfernungsfehlerschranke, verwendet für die Integrität (≥ σ_URE) |
b_nom_m |
b_nom | maximaler nominaler Entfernungs-Bias, einseitig in die Integritätsschranke eingerechnet (b_k = Σ_i |s_i|·b_nom); siehe §3 |
p_sat |
P_sat | A-priori-Wahrscheinlichkeit eines unentdeckten Einzelsatellitenfehlers |
p_const |
P_const | A-priori-Wahrscheinlichkeit eines konstellationsweiten Fehlers |
IntegritySupportMessage::gps_galileo_reference() gibt die veröffentlichten Referenzwerte der WG-C zurück: σ_URA = 0,75 m, σ_URE = 0,67 m, b_nom = 0,75 m, P_sat = 1×10⁻⁵, P_const = 1×10⁻⁴ über das Expositionsintervall. Das sind die Werte, mit denen in der Referenzliteratur die ARAIM-Verfügbarkeit dimensioniert wird; die operative ISM wird gesendet bzw. am Boden zusammengestellt und ist je Konstellation konfigurierbar. Die Unterscheidung zwischen σ_URA (Integrität) und σ_URE (Genauigkeit) ist gewollt und das bestimmende Merkmal des ISM-Konzepts.
.fault_priors() und .dual_fault_priors() reichen diese unmittelbar an die beiden Engines weiter.
2. Fehlerhypothesen#
ARAIM ist ein Verfahren der Lösungstrennung mit mehreren Hypothesen (MHSS). Für jede Fehlerhypothese H_k bildet es die Gesamtlösung aller sichtbaren Satelliten und die Teillösung, die die fehlerbehaftete Menge ausschließt, und begrenzt den Positionsfehler unter dieser Hypothese:
- Fault-free
H_0(a priori≈ 1): die vollständige Positionslösung nach kleinsten Quadraten aus allen sichtbaren Satelliten. - Fehler einzelner Satelliten
H_i(a priori jeP_sat): jede Teillösung mit Ausschluss eines Satelliten. Das ist die klassische ARAIM-Basislinie für Einzelfehler,araim_raim. - Konstellationsweite Fehler
H_c(a priori jeP_const): die Teillösung, die alle Satelliten einer Konstellation auf einmal entfernt, die inaraim_dual_raimimplementierte Erweiterung nach der EU-ARAIM-TN (EU: Europäische Union; TN: technische Note) / DO-316. MitP_const = 0reduziert sie sich bitgenau aufaraim_raim.
3. Schutzniveaus#
Für jede Achse (vertikal, horizontal) und jede Hypothese baut die Engine einen Modus (p_fault, threshold, σ), wobei die Schwelle die Detektionsgrenze der Lösungstrennung beim Fehlalarm-Multiplikator K_fa = Φ⁻¹(1 − P_fa / 2N) ist (eine Bonferroni-Aufteilung des Kontinuitätsbudgets auf die N Hypothesen). Das Schutzniveau ist die kleinste Schranke PL, deren aufsummiertes Integritätsrisiko
Σ_k p_fault,k · Q( (PL − b_k − T_k) / σ_k ) ≤ P_HMI
Hinweis zur Implementierung.
b_k = Σ_i |s_{axis,i}|·b_nomist die einseitige Projektion des nominalen Bias auf die Achse — die ungünstigste Summe der Beträge der Verstärkungen je Satellit (axis_bias_sum/horiz_bias_sum) —, bezogen aus demb_nom_mder ISM. Die WG-C-Referenz-ISM verwendetb_nom = 0.75 m; mitb_nom = 0reduziert sich die Schranke auf die MHSS-Form ohne nominalen Bias. Das lauffähige Szenariointegritystelltsigma_ura_mbereit (die für das Schutzniveau verwendete Integritätsschranke, auf ≥sigma_uere_mbegrenzt und standardmäßig darauf gesetzt) undb_nom_m(Standard 0), sodass das Schutzniveau stets mit der Integritätsschranke σ_URA dimensioniert wird, nie mit der kleineren Genauigkeit σ_URE. Dies bleibt eine modellierte, nicht zertifizierte ARAIM-Implementierung — sieheINTEGRITY.md.
das zugeteilte Budget einhält ([araim_protection_level] / araim_integrity_risk). VPL (vertikales Schutzniveau) und HPL (horizontales Schutzniveau) sind die vertikale und die horizontale Antwort. Das Ergebnis meldet außerdem das tatsächlich erreichte Integritätsrisiko (≤ die Zuteilung) und ob sich eine Teillösung über ihre Schwelle hinaus getrennt hat.
Das ist der ausdrückliche ARAIM-Vertrag — „Wie groß muss die Schranke sein?“ — statt des impliziten, geometrieabhängigen Risikos eines klassischen RAIM mit festem Multiplikator.
4. Stanford-Diagramm#
StanfordDiagram sammelt je Epoche (error, PL) gegen eine feste Alarmgrenze (AL), und classify_stanford ordnet jede in verfügbar, System nicht verfügbar (PL > AL, konservativ), irreführende Information (PL < Fehler ≤ AL) oder gefährlich irreführende Information (Fehler > AL und > PL) ein. stanford_svg stellt das klassische Streudiagramm — die Integritätsgrenze PL = error, die Hilfslinien der Alarmgrenze und ein farbcodierter Marker je Epoche — als eigenständige SVG (Scalable Vector Graphics) dar.
5. Der Nutzen von zwei Konstellationen#
Zwei Effekte werden in raim::tests::dual_constellation_improves_geometry_and_tolerates_a_constellation_fault gezeigt:
- Geometrie / Redundanz — das Zusammenfassen der Satelliten einer zweiten Konstellation verengt das HPL für Einzelfehler: mehr Messungen und eine größere Menge von Einzel-SV-Teillösungen (SV: Raumfahrzeug, also ein Satellit) ergeben eine strikt kleinere Schranke.
- Toleranz gegenüber Konstellationsfehlern — mit aktivem
P_constbleibt der Nutzer mit zwei Konstellationen verfügbar, wenn eine ganze Konstellation ausfallen kann (Satelliten der anderen Konstellation überleben), während ein Nutzer mit nur einer Konstellation nachweislich nicht gegen den Fehler seiner eigenen Konstellation geschützt werden kann (araim_dual_raimgibtNonezurück).
Eine Feinheit, die ehrlich gesagt werden sollte: Weil die Hypothese eines Konstellationsfehlers verlangt, den Verlust einer ganzen Konstellation zu überstehen, ist das Momentaufnahme-Schutzniveau mit zwei Konstellationen nach unten durch die verbleibende Geometrie einer einzelnen Konstellation begrenzt — es ist nicht automatisch in jedem Augenblick kleiner als das reine GPS-PL. Das Kernergebnis der EU-ARAIM-TN, dass GPS+Galileo ein um 15–25 % kleineres HPL ergibt, ist ein Verfügbarkeitsergebnis, aufgelaufen über realistische Konstellationen und Nutzerstandorte, keine Garantie je Momentaufnahme.
6. Validierungsstatus#
- Im Repository, automatisiert: die MHSS-Algebra (
P_const = 0⇒ bitgenau Einzelfehler; Konstellationsfehler weitet das PL; Budget nie überschritten), die oben genannten Vorteile bei Geometrie und Konstellationsfehlern sowie die Erprobung an realer präziser Bahngeometrie des IGS (International GNSS Service; GNSS = globales Satellitennavigationssystem) (SP3, Standard Product 3) (tests/igs_real_data.rs), nicht nur an synthetischen Konstellationen. - Externe unabhängige Referenz — das veröffentlichte WG-C-Rechenbeispiel: Die Schutzniveaus werden gegen das eigene numerische Beispiel der ARAIM Technical Subgroup geprüft, in
src/araim_reference.rs,tests/araim_reference_vectors.rsund der eingecheckten Fixturetests/fixtures/araim_reference/wgc_araim_reference_vectors.txt(jeder Vektor trägt seine Abruf-URL (Webadresse), sein Abrufdatum, den SHA-256 der Quelldatei (SHA: Secure Hash Algorithm) und die Seite). Die Akzeptanztoleranz ist das eigeneTOL_PL = 5 × 10⁻² mder Referenz. Gegen das Reference Airborne Algorithm Description Document v3.1 (2019), Anhang D: VPL 18,2926 m gegenüber veröffentlichten 18,3 m (Δ 0,0074 m), HPL 13,4063 m gegenüber 13,45 m (Δ 0,0437 m), EMT (effektive Monitorschwelle) 7,2997 m gegenüber 7,2998 m, σ_v,acc 1,3694 m gegenüber 1,3694 m und alle sechs veröffentlichten Zwischenwerte für Konstellationsfehler (σ₃⁽ᵏ⁾, σ_ss,3⁽ᵏ⁾, b₃⁽ᵏ⁾) innerhalb einer halben Einheit der letzten gedruckten Dezimalstelle. Der Milestone-3-Bericht von 2016 nennt dasselbe Beispiel, enthält aber zwei interne Mängel — einen Vorzeichenfehler in Zeile 3 vonGund einK_fa,3, ausgewertet bei 57 Fehlermodi, während das DokumentN_fault,max = 1(12 Modi) angibt —, sodass seine Geometrie-Zwischenwerte exakt reproduziert werden, seine Schutzniveaus aber als gemessene Abweichungen festgehalten (VPL Δ 0,0171 m, HPL Δ 0,0842 m, EMT Δ 0,4806 m) und aus der Akzeptanzzahl ausgeschlossen werden. Die Prüfung ist als Szenarioartaraim-reference-checkerreichbar. - Ehrlicher Rest (extern / Prüfung ausstehend): die Verfügbarkeitszahl von 15–25 % gegen einen versionsgebundenen echten Schnappschuss von Celestrak-TLEs (Two-Line-Element-Sätze) und das Hinterlegen der ARAIM-Testfixtures als zitierbarer Zenodo-Eintrag. Die obige Referenzprüfung deckt nur
N_fault,max = 1ab (Fehlermodi einzelner Satelliten und einzelner Konstellationen); gleichzeitige Fehlermengen aus mehreren Ereignissen, Fehlerausschluss, die χ²-Konsistenzprüfung und der Umverteilungsschritt gegen Doppelzählung des Referenzalgorithmus sind nicht implementiert, und ein Fall, dessen A-priori-Werte sie bräuchten, wird abgelehnt statt abgeschnitten. - Reichweite in der Szenariodatei: Die Szenarioart
integrityführt in jeder Epochearaim_dual_raimaus, wenn ihre TOML-Datei (Tom's Obvious Minimal Language)araim_dual = truesetzt (optionalp_hmi); die mitgeliefertescenarios/araim-gps-galileo.tomltut das über eine zusammengefasste GPS- + Galileo-Geometrie, undtests/araim_dual_real_data.rsführt dieselbe Engine an echten Celestrak-TLEs von GPS und Galileo aus, die auf eine gemeinsame Epoche propagiert wurden. Ohne das Flag verwendet der Runner das klassische RAIM mit Lösungstrennung.
Referenzen#
- EU–U.S. Cooperation on Satellite Navigation, Working Group C, ARAIM Technical Subgroup, Milestone 3 Report, Final Version, 25 February 2016 — Annex A (reference user algorithm) und §A.IX (numerical example). https://www.gps.gov/sites/default/files/2025-09/ARAIM-milestone-3-report.pdf
- EU–U.S. Cooperation on Satellite Navigation, Working Group C, ARAIM Technical Subgroup, Reference Airborne Algorithm Description Document, Version 3,1, 20 June 2019 — Appendix D (numerical example for LPV-200). https://web.stanford.edu/group/scpnt/gpslab/website_files/maast/ARAIM_TSG_Reference_ADD_v3.1.pdf
- EU–US (Vereinigte Staaten) Cooperation on Satellite Navigation, ARAIM Technical Note.
- RTCA (früher Radio Technical Commission for Aeronautics) DO-316 / DO-229 MOPS (minimum operational performance standards); DO-316-ARAIM-MASPS-Material (minimum aviation system performance standards).
- Blanch et al., Baseline Advanced RAIM User Algorithm and Possible Improvements, IEEE (Institute of Electrical and Electronics Engineers) TAES (Transactions on Aerospace and Electronic Systems) / ION (Institute of Navigation) ITM (International Technical Meeting).
- Walter, Enge, Blanch, Pervan, Worldwide Vertical Guidance of Aircraft Based on Modernized GPS and New Integrity Augmentations (Methodik des Stanford-Diagramms).