DO-316 / DO-229E integriteit: compliance-overzicht
Dit document koppelt de eisen voor beschermingsniveaus en integriteitsbewaking van RTCA (voorheen de Radio Technical Commission for Aeronautics) DO-229E (SBAS (satellite-based augmentation system) MOPS (minimum operational performance standards)) en DO-316 (GPS/SBAS (GPS: Global Positioning System) boordapparatuur) aan de Kshana-functies die ze implementeren. Het is een hulpmiddel voor technische traceerbaarheid, geen verklaring dat een eis is gehaald — Kshana implementeert de gepubliceerde algoritmen; het is geen goedgekeurde avionica.
De machineleesbare vorm is sbas::do316_compliance_map; deze tekst is de bijbehorende toelichting (naar het voorbeeld van docs/ARAIM_REFERENCE.md).
Beschermingsniveaus met gewogen kleinste kwadraten (DO-229E Appendix J)#
Voor elke satelliet i met elevatie Elᵢ en azimut Azᵢ bij de gebruiker is de waarnemingsrij in het lokale vlak (ENU (east-north-up) + klok)
Gᵢ = [ −cos Elᵢ·sin Azᵢ, −cos Elᵢ·cos Azᵢ, −sin Elᵢ, 1 ]
met gewicht wᵢ = 1/σᵢ², σᵢ² = σ_flt² + σ_uire² + σ_air² + σ_tropo² (het budget voor UDRE (user differential range error) / GIVE (grid ionospheric vertical error) / boordapparatuur / troposfeer). De positiecovariantie is D = (GᵀWG)⁻¹; het ENU-blok daarvan geeft de horizontale en verticale beschermingsniveaus (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 berekent D door de normaalmatrix van 4×4 te inverteren met dezelfde routine die de RAIM-stack (receiver autonomous integrity monitoring) gebruikt (orbit::invert4), en valideert het resultaat op twee manieren (de covariantieroute D[2][2] en de projectieroute Σᵢ S_{U,i}²·σᵢ² moeten overeenstemmen) en bovendien aan de hand van een onafhankelijke numpy-referentiegeometrie met inv(GᵀG).
K-factors#
| Modus | K_H | K_V | Bron |
|---|---|---|---|
| En-route → NPA (non-precision approach; alleen horizontaal) | 6.18 | — | Rayleigh √(−2·ln 5e-9) = 6,1829 |
| Precision Approach | 6.0 | 5.33 | DO-229E MOPS |
Eerlijkheidsnotitie: de MOPS gebruikt de afgeronde horizontale constante 6.0; het exacte tweezijdige normale kwantiel Φ⁻¹(1 − 1e-9/2) is 6.109. Kshana gebruikt in de code de gepubliceerde 6,0 en leidt K_V = Φ⁻¹(1 − 1e-7/2) = 5.327 af uit dezelfde raim::normal_quantile die de RAIM-stack gebruikt, een niet-circulaire kruiscontrole (de waarde rondt af op de MOPS-waarde 5,33).
L1/L5 ionosfeervrije combinatie met twee frequenties (IS-GPS-705)#
Met 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)
De ionosferische vertraging van de eerste orde (40.3·10¹⁶·TEC/f²) valt exact weg — gecontroleerd aan de hand van de onafhankelijke fysica van timetransfer_adv::iono_delay_m in de engine voor een reeks TEC-waarden (total electron content). De ruisversterking bij invoer met gelijke variantie is √(c₁² + c₅²) = 2.588.
Validatiestatus#
- In de repository, geautomatiseerd (bij elke commit): de K-factoren tegen hun verdelingsdefinities,
γ₁₅en de ionosfeervrije (IF) coëfficiënten tegen de frequenties van IS-GPS-705 (IS: Interface Specification), het wegvallen van de eerste-orde-ionosfeer tegen de onafhankelijke vertragingsfysica, en de beschermingsniveaus met gewogen kleinste kwadraten (WLS) tegen een numpy-referentiegeometrie metinv(GᵀG)(sbas::tests::wls_pl_matches_numpy_on_five_satellite_geometry). - Externe onafhankelijke referentie, geautomatiseerd (
tests/sbas_reference.rs): gegeven de elevatie, het azimut en de totale 1-σ van elke satelliet reproduceertsbas_protection_levelde HPL van een onafhankelijke implementatie,waasprotlevels()in de SBAS-beschermingsniveauforkzsiki/rtklib_wsvan RTKLIB (een opensourcebibliotheek voor real-time kinematic positiebepaling) (Siki & Takács 2017), op zes epochs die die tool berekende uit echte EGNOS-uitzendberichten (European Geostationary Navigation Overlay Service) (geostationaire PRN (pseudo-random noise code number) 120) en echte RINEX-waarnemingen (Receiver Independent Exchange Format) van het station BUTE in Boedapest (2017-02-19), tot op < 2e-3 m. De referentie rondt K_V af op 5,33, dus het verticale deel wordt zonder K-factor vergeleken, alsd_Utegen zijn VPL / 5,33. ESA gLAB (European Space Agency) v6.0.0 (core/filter.c) gebruikt dezelfde formule. - Niet gedaan: de σ per satelliet is die van de referentie zelf; het modelleren van σ uit ruwe UDRE/GIVE-berichten valt buiten de reikwijdte, en geen enkel officieel gepubliceerd WAAS- (Wide Area Augmentation System) of EGNOS-beschermingsniveauproduct is van begin tot eind gereproduceerd. DO-229E/DO-316 zelf zitten bij RTCA achter een betaalmuur; de open bron voor de afleiding is de ICAO/EGNOS-SBAS-pagina's (ICAO: International Civil Aviation Organization) van ESA Navipedia.