Maschinelle Übersetzung, nicht von einem Muttersprachler geprüft. Englisch ist die maßgebliche Fassung.

Integrität und StörungAuf GitHub bearbeitenQuelle: docs/ARAIM_REFERENCE.md

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_HMI bleibt?

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 je P_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 je P_const): die Teillösung, die alle Satelliten einer Konstellation auf einmal entfernt, die in araim_dual_raim implementierte Erweiterung nach der EU-ARAIM-TN (EU: Europäische Union; TN: technische Note) / DO-316. Mit P_const = 0 reduziert sie sich bitgenau auf araim_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_nom ist 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 dem b_nom_m der ISM. Die WG-C-Referenz-ISM verwendet b_nom = 0.75 m; mit b_nom = 0 reduziert sich die Schranke auf die MHSS-Form ohne nominalen Bias. Das lauffähige Szenario integrity stellt sigma_ura_m bereit (die für das Schutzniveau verwendete Integritätsschranke, auf ≥ sigma_uere_m begrenzt und standardmäßig darauf gesetzt) und b_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 — siehe INTEGRITY.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:

  1. 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.
  2. Toleranz gegenüber Konstellationsfehlern — mit aktivem P_const bleibt 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_raim gibt None zurü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.rs und der eingecheckten Fixture tests/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 eigene TOL_PL = 5 × 10⁻² m der 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 von G und ein K_fa,3, ausgewertet bei 57 Fehlermodi, während das Dokument N_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 Szenarioart araim-reference-check erreichbar.
  • 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 = 1 ab (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 integrity führt in jeder Epoche araim_dual_raim aus, wenn ihre TOML-Datei (Tom's Obvious Minimal Language) araim_dual = true setzt (optional p_hmi); die mitgelieferte scenarios/araim-gps-galileo.toml tut das über eine zusammengefasste GPS- + Galileo-Geometrie, und tests/araim_dual_real_data.rs fü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).