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

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

DO-316 / DO-229E: compliance-Zuordnung zur Integrität

Dieses Dokument ordnet die Anforderungen an Schutzniveaus und Integritätsüberwachung aus RTCA (früher Radio Technical Commission for Aeronautics) DO-229E (SBAS (satellitengestütztes Augmentierungssystem) MOPS (Mindestanforderungen an die Betriebsleistung)) und DO-316 (GPS/SBAS (GPS: Global Positioning System), Bordausrüstung) den Funktionen von Kshana zu, die sie umsetzen. Es ist ein Hilfsmittel zur technischen Rückverfolgbarkeit, keine Aussage, dass irgendeine Anforderung erfüllt ist — Kshana setzt die veröffentlichten Algorithmen um; es ist keine zugelassene Avionik.

Die maschinenlesbare Form ist sbas::do316_compliance_map; dieser Text ist ihr Begleiter (er spiegelt docs/ARAIM_REFERENCE.md).

Schutzniveaus nach der gewichteten Methode der kleinsten Quadrate (DO-229E Anhang J)#

Für jeden Satelliten i mit Elevation Elᵢ und Azimut Azᵢ beim Nutzer lautet die Beobachtungszeile im lokalen Horizontsystem (ENU (Ost-Nord-Oben) + Uhr)

Gᵢ = [ −cos Elᵢ·sin Azᵢ,  −cos Elᵢ·cos Azᵢ,  −sin Elᵢ,  1 ]

mit dem Gewicht wᵢ = 1/σᵢ², σᵢ² = σ_flt² + σ_uire² + σ_air² + σ_tropo² (das Budget aus UDRE (Restfehler der differentiellen Entfernung für den Nutzer) / GIVE (vertikaler Ionosphärenfehler im Gitter) / Bordseite / Troposphäre). Die Positionskovarianz ist D = (GᵀWG)⁻¹; ihr ENU-Block liefert die horizontalen und vertikalen Schutzniveaus (HPL, VPL):

d_major = √( (d_E² + d_N²)/2 + √( ((d_E² − d_N²)/2)² + d_EN² ) )
d_U     = √(d_U²)
HPL = K_H · d_major        VPL = K_V · d_U

Kshana berechnet D durch Invertieren der 4×4-Normalmatrix mit derselben Routine, die der RAIM-Stack (Überwachung der Integrität durch den Empfänger selbst) verwendet (orbit::invert4), und validiert das Ergebnis auf zwei Wegen (der Kovarianzweg D[2][2] und der Projektionsweg Σᵢ S_{U,i}²·σᵢ² müssen übereinstimmen) sowie gegen eine unabhängige numpy-Referenzgeometrie inv(GᵀG).

K-factors#

Modus K_H K_V Quelle
Streckenflug → NPA (Nichtpräzisionsanflug; nur horizontal) 6.18 — Rayleigh √(−2·ln 5e-9) = 6,1829
Präzisionsanflug 6.0 5.33 DO-229E MOPS

Hinweis zur Offenheit: Die MOPS verwenden die gerundete horizontale Konstante 6.0; das exakte zweiseitige Normalquantil Φ⁻¹(1 − 1e-9/2) ist 6.109. Kshana verwendet im Code das veröffentlichte 6,0 und leitet K_V = Φ⁻¹(1 − 1e-7/2) = 5.327 aus demselben raim::normal_quantile ab, das der RAIM-Stack verwendet, eine nicht zirkuläre Gegenprobe (der Wert rundet auf das 5,33 der MOPS).

Ionosphärenfreie L1/L5-Zweifrequenzkombination (IS-GPS-705)#

Mit f₁ = 1575.42 MHz, f₅ = 1176.45 MHz, γ₁₅ = (f₁/f₅)² = 1.79327:

ρ_IF = (f₁²·ρ₁ − f₅²·ρ₅) / (f₁² − f₅²) = c₁·ρ₁ + c₅·ρ₅
c₁ = +2.260604,  c₅ = −1.260604   (c₁ + c₅ = 1, unit gain)

Die ionosphärische Verzögerung erster Ordnung (40.3·10¹⁶·TEC/f²) hebt sich exakt auf — geprüft gegen die unabhängige Physik von timetransfer_adv::iono_delay_m in der Engine für einen Bereich von TEC (Gesamtelektronengehalt). Die Rauschverstärkung bei Eingaben gleicher Varianz beträgt √(c₁² + c₅²) = 2.588.

Validierungsstatus#

  • Im Repository, automatisiert (bei jedem Commit): die K-Faktoren gegen ihre Verteilungsdefinitionen, γ₁₅ und die ionosphärenfreien (IF) Koeffizienten gegen die Frequenzen aus IS-GPS-705 (IS: Interface Specification), die Aufhebung der Ionosphäre erster Ordnung gegen die unabhängige Verzögerungsphysik und die Schutzniveaus nach der gewichteten Methode der kleinsten Quadrate (WLS) gegen eine numpy-Referenzgeometrie inv(GᵀG) (sbas::tests::wls_pl_matches_numpy_on_five_satellite_geometry).
  • Externe unabhängige Referenz, automatisiert (tests/sbas_reference.rs): Aus Elevation, Azimut und der gesamten 1-σ-Angabe jedes Satelliten reproduziert sbas_protection_level die HPL einer unabhängigen Implementierung, waasprotlevels() im SBAS-Schutzniveau-Fork zsiki/rtklib_ws von RTKLIB (einer quelloffenen Bibliothek für kinematische Echtzeit-Positionierung) (Siki & Takács 2017), auf sechs Epochen, die dieses Werkzeug aus echten EGNOS-Rundsendenachrichten (European Geostationary Navigation Overlay Service) (geostationäre PRN (Nummer des Pseudozufallscodes) 120) und echten RINEX-Beobachtungen (Receiver Independent Exchange Format) der Station BUTE in Budapest (2017-02-19) berechnet hat, auf < 2e-3 m. Die Referenz rundet K_V auf 5,33, daher wird die Vertikale ohne K-Faktor verglichen, als d_U gegen ihr VPL / 5,33. ESA (Europäische Weltraumorganisation) gLAB v6.0.0 (core/filter.c) verwendet dieselbe Formel.
  • Nicht erledigt: Das σ je Satellit stammt von der Referenz selbst; σ aus rohen UDRE/GIVE-Nachrichten zu modellieren liegt außerhalb des Umfangs, und es wurde kein offizielles veröffentlichtes Schutzniveau-Produkt von WAAS (Wide Area Augmentation System) oder EGNOS durchgängig reproduziert. DO-229E/DO-316 selbst sind bei RTCA kostenpflichtig; die offene Quelle der Herleitung sind die ICAO/EGNOS-SBAS-Seiten (ICAO: Internationale Zivilluftfahrt-Organisation) der ESA Navipedia.