Mapa de compliance de integridade DO-316 / DO-229E
Este documento mapeia os requisitos de nível de proteção e de monitorização de integridade da RTCA (anteriormente Radio Technical Commission for Aeronautics) DO-229E (SBAS (sistema de aumento baseado em satélites) MOPS (normas mínimas de desempenho operacional)) e DO-316 (equipamento de bordo GPS/SBAS (GPS: Sistema de Posicionamento Global)) para as funções do Kshana que os implementam. É um auxiliar de rastreabilidade de engenharia, não uma declaração de que algum requisito é satisfeito — o Kshana implementa os algoritmos publicados; não é aviónica aprovada.
A forma legível por máquina é sbas::do316_compliance_map; esta prosa é o seu complemento (espelhando docs/ARAIM_REFERENCE.md).
Níveis de proteção por mínimos quadrados ponderados (DO-229E Apêndice J)#
Para cada satélite i com elevação Elᵢ e azimute Azᵢ no utilizador, a linha de observação de nível local (ENU (este-norte-cima) + relógio) é
Gᵢ = [ −cos Elᵢ·sin Azᵢ, −cos Elᵢ·cos Azᵢ, −sin Elᵢ, 1 ]
com peso wᵢ = 1/σᵢ², σᵢ² = σ_flt² + σ_uire² + σ_air² + σ_tropo² (o orçamento UDRE (erro diferencial de distância do utilizador) / GIVE (erro vertical ionosférico em grelha) / aerotransportado / troposfera). A covariância da posição é D = (GᵀWG)⁻¹; o seu bloco ENU dá os níveis de proteção horizontal e vertical (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
O Kshana calcula D invertendo a matriz normal 4×4 com a mesma rotina que a pilha RAIM (monitorização autónoma de integridade pelo recetor) usa (orbit::invert4), e valida o resultado de duas formas (a via da covariância D[2][2] e a via da projeção Σᵢ S_{U,i}²·σᵢ² têm de concordar), além de o validar face a uma geometria de referência numpy independente inv(GᵀG).
K-factors#
| Modo | K_H | K_V | Fonte |
|---|---|---|---|
| Em rota → NPA (aproximação de não precisão; apenas horizontal) | 6.18 | — | Rayleigh √(−2·ln 5e-9) = 6,1829 |
| Aproximação de precisão | 6.0 | 5.33 | DO-229E MOPS |
Nota de honestidade: o MOPS usa a constante horizontal arredondada 6.0; o quantil normal bilateral exato Φ⁻¹(1 − 1e-9/2) é 6.109. O Kshana usa o valor publicado 6,0 no código e deriva K_V = Φ⁻¹(1 − 1e-7/2) = 5.327 do mesmo raim::normal_quantile que a pilha RAIM usa, uma verificação cruzada não circular (o valor arredonda para o 5,33 do MOPS).
Combinação bifrequência L1/L5 sem ionosfera (IS-GPS-705)#
Com 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)
O atraso ionosférico de primeira ordem (40.3·10¹⁶·TEC/f²) cancela-se exatamente — verificado face à física independente timetransfer_adv::iono_delay_m do motor para um intervalo de TEC (conteúdo eletrónico total). A amplificação do ruído para entradas de variância igual é √(c₁² + c₅²) = 2.588.
Estado da validação#
- No repositório, automatizado (a cada commit): os fatores K face às suas definições distribucionais,
γ₁₅e os coeficientes sem ionosfera (IF) face às frequências IS-GPS-705 (IS: especificação de interface), o cancelamento iono de primeira ordem face à física de atraso independente e os níveis de proteção por mínimos quadrados ponderados (WLS) face a uma geometria de referência numpyinv(GᵀG)(sbas::tests::wls_pl_matches_numpy_on_five_satellite_geometry). - Referência independente externa, automatizada (
tests/sbas_reference.rs): dados a elevação, o azimute e o 1-σ total de cada satélite,sbas_protection_levelreproduz o HPL de uma implementação independente,waasprotlevels()na bifurcação de níveis de proteção SBAS do RTKLIB (uma biblioteca de código aberto de posicionamento cinemático em tempo real)zsiki/rtklib_ws(Siki & Takács 2017), em seis épocas que essa ferramenta calculou a partir de mensagens difundidas reais do EGNOS (Serviço Europeu de Complemento de Navegação Geoestacionário) (PRN (número do código de ruído pseudoaleatório) geoestacionário 120) e de observações RINEX (Receiver Independent Exchange Format) reais da estação BUTE em Budapeste (2017-02-19), até < 2e-3 m. A referência independente arredonda K_V para 5,33, pelo que o vertical é comparado sem fator K, comod_Uface ao seu VPL / 5,33. O gLAB v6.0.0 da ESA (Agência Espacial Europeia) (core/filter.c) usa a mesma fórmula. - Não feito: o σ por satélite é o da própria referência independente; modelar o σ a partir de mensagens UDRE/GIVE em bruto está fora do âmbito, e nenhum produto oficial publicado de níveis de proteção WAAS (Wide Area Augmentation System) ou EGNOS foi reproduzido de ponta a ponta. A DO-229E/DO-316 em si está protegida por acesso pago da RTCA; a fonte aberta da derivação são as páginas SBAS ICAO/EGNOS (ICAO: Organização da Aviação Civil Internacional) da Navipedia da ESA.