Referência ARAIM — níveis de proteção RAIM avançados no Kshana
Esta nota documenta a implementação aberta do Kshana da Advanced Receiver Autonomous Integrity Monitoring (ARAIM): o algoritmo, todos os pressupostos, a mensagem de suporte de integridade que consome e o estado da validação. A implementação encontra-se em src/raim.rs; este documento é o complemento em prosa que um auditor (ou um revisor de contratação) pode ler ao lado do código.
O ARAIM é o sucessor bi-constelação e multifrequência do RAIM clássico que o Grupo de Trabalho C (WG-C) GPS (Global Positioning System)–Galileo definiu para apoiar a orientação horizontal e vertical até ao LPV-200 (LPV: localizer performance with vertical guidance). Responde a uma única pergunta para cada época:
Quão grande tem de ser o limite do erro de posição (o nível de proteção) para que a probabilidade residual de informação perigosamente enganosa — um erro maior do que o limite enquanto o limite ainda está dentro do limite de alerta — se mantenha abaixo do orçamento de risco de integridade
P_HMI?
1. A mensagem de suporte de integridade (ISM)#
A ISM é o conjunto de parâmetros por constelação que o utilizador aplica. É modelada explicitamente por IntegritySupportMessage:
| Campo | Símbolo | Significado |
|---|---|---|
sigma_ure_m |
σ_URE / SISE (erro do sinal no espaço) | RMS (raiz do valor quadrático médio) do erro de distância usado para exatidão e continuidade |
sigma_ura_m |
σ_URA / SISA (exatidão do sinal no espaço) | limite do erro de distância usado para integridade (≥ σ_URE) |
b_nom_m |
b_nom | enviesamento nominal máximo de distância incorporado unilateralmente no limite de integridade (b_k = Σ_i |s_i|·b_nom); ver §3 |
p_sat |
P_sat | probabilidade a priori de uma falha não detetada de um único satélite |
p_const |
P_const | probabilidade a priori de uma falha de toda a constelação |
IntegritySupportMessage::gps_galileo_reference() devolve os valores de referência publicados do WG-C: σ_URA = 0,75 m, σ_URE = 0,67 m, b_nom = 0,75 m, P_sat = 1×10⁻⁵, P_const = 1×10⁻⁴ sobre o intervalo de exposição. Estes são os valores usados para dimensionar a disponibilidade do ARAIM na literatura de referência; a ISM operacional é difundida/montada em terra e é configurável por constelação. A distinção entre σ_URA (integridade) e σ_URE (exatidão) é deliberada e é a característica definidora do conceito de ISM.
.fault_priors() e .dual_fault_priors() entregam-nos diretamente aos dois motores.
2. Hipóteses de falha#
O ARAIM é um método de separação de soluções com múltiplas hipóteses (MHSS). Para cada hipótese de falha H_k forma a solução com todos os satélites à vista e a subsolução que exclui o conjunto com falha, e limita o erro de posição sob essa hipótese:
- Fault-free
H_0(a priori≈ 1): a solução completa de mínimos quadrados com todos os satélites à vista. - Falhas de um único satélite
H_i(a prioriP_satcada): todas as subsoluções de exclusão de um satélite. Esta é a linha de base clássica do ARAIM de falha única,araim_raim. - Falhas de toda a constelação
H_c(a prioriP_constcada): a subsolução que remove todos os satélites de uma constelação de uma só vez, a extensão da nota técnica (TN) ARAIM da UE (União Europeia) / DO-316 implementada emaraim_dual_raim. ComP_const = 0isto reduz-se bit a bit aaraim_raim.
3. Níveis de proteção#
Para cada eixo (vertical, horizontal) e cada hipótese, o motor constrói um modo (p_fault, threshold, σ) em que o limiar é o limite de deteção de separação de soluções ao multiplicador de falso alerta K_fa = Φ⁻¹(1 − P_fa / 2N) (uma divisão de Bonferroni do orçamento de continuidade pelas N hipóteses). O nível de proteção é o menor limite PL cujo risco de integridade somado
Σ_k p_fault,k · Q( (PL − b_k − T_k) / σ_k ) ≤ P_HMI
Nota de implementação.
b_k = Σ_i |s_{axis,i}|·b_nomé a projeção unilateral do enviesamento nominal sobre o eixo — a soma, no pior caso, das magnitudes de ganho por satélite (axis_bias_sum/horiz_bias_sum) — obtida dob_nom_mda ISM. A ISM de referência do WG-C usab_nom = 0.75 m; comb_nom = 0o limite reduz-se à forma MHSS de enviesamento nominal nulo. O cenário executávelintegrityexpõesigma_ura_m(o limite de integridade usado para o nível de proteção, limitado a ≥sigma_uere_me com este como predefinição) eb_nom_m(predefinição 0), pelo que o nível de proteção é sempre dimensionado com o limite de integridade σ_URA, nunca com o σ_URE de exatidão, menor. Esta continua a ser uma implementação ARAIM modelada, não certificada — verINTEGRITY.md.
satisfaz o orçamento atribuído ([araim_protection_level] / araim_integrity_risk). O VPL (nível de proteção vertical) e o HPL (nível de proteção horizontal) são as respostas vertical e horizontal. O resultado reporta também o risco de integridade efetivamente alcançado (≤ a atribuição) e se uma subsolução se separou para além do seu limiar.
Este é o contrato explícito do ARAIM — "quão grande tem de ser o limite?" — e não o risco implícito, dependente da geometria, de um RAIM clássico de multiplicador fixo.
4. Diagrama de Stanford#
StanfordDiagram acumula (error, PL) por época face a um limite de alerta (AL) fixo e classify_stanford classifica cada uma como disponível, sistema indisponível (PL > AL, conservador), informação enganosa (PL < erro ≤ AL) ou informação perigosamente enganosa (erro > AL e > PL). stanford_svg desenha o gráfico de dispersão clássico — a fronteira de integridade PL = error, as guias do limite de alerta e um marcador codificado por cor por época — como um SVG (Scalable Vector Graphics) autónomo.
5. O benefício de duas constelações#
Dois efeitos são demonstrados em raim::tests::dual_constellation_improves_geometry_and_tolerates_a_constellation_fault:
- Geometria / redundância — juntar os satélites de uma segunda constelação aperta o HPL de falha única: mais medições e um conjunto maior de subsoluções de um único SV (SV: veículo espacial, isto é, um satélite) dão um limite estritamente menor.
- Tolerância a falhas de constelação — com
P_constativo, o utilizador de duas constelações continua disponível quando uma constelação inteira pode falhar (os satélites da outra constelação sobrevivem), ao passo que um utilizador de uma só constelação comprovadamente não pode ser protegido contra a falha da sua própria constelação (araim_dual_raimdevolveNone).
Uma subtileza que vale a pena declarar com honestidade: como a hipótese de falha de constelação exige sobreviver à perda de uma constelação inteira, o nível de proteção instantâneo de duas constelações é limitado inferiormente pela geometria residual de uma só constelação — não é automaticamente menor do que o PL só com GPS em cada instante. O resultado principal da TN ARAIM da UE de que GPS+Galileo dá um HPL 15–25 % menor é um resultado de disponibilidade acumulado sobre constelações e localizações de utilizadores realistas, não uma garantia por instantâneo.
6. Estado da validação#
- No repositório, automatizado: a álgebra MHSS (
P_const = 0⇒ falha única bit a bit; a falha de constelação alarga o PL; o orçamento nunca é excedido), os benefícios de geometria e de falha de constelação acima, e o exercício sobre geometria real de órbita precisa (SP3, Standard Product 3) do IGS (International GNSS Service; GNSS = sistema global de navegação por satélite) (tests/igs_real_data.rs), e não apenas constelações sintéticas. - Referência independente externa — o exemplo resolvido publicado do WG-C: os níveis de proteção são verificados face ao exemplo numérico do próprio Subgrupo Técnico ARAIM, em
src/araim_reference.rs,tests/araim_reference_vectors.rse no ficheiro de teste submetidotests/fixtures/araim_reference/wgc_araim_reference_vectors.txt(cada vetor leva o seu URL (endereço web) de obtenção, a data de obtenção, o SHA-256 (SHA: Secure Hash Algorithm) do ficheiro de origem e a página). A tolerância de aceitação é o próprioTOL_PL = 5 × 10⁻² mda referência. Face ao Reference Airborne Algorithm Description Document v3.1 (2019), Apêndice D: VPL 18,2926 m face a 18,3 m publicados (Δ 0,0074 m), HPL 13,4063 m face a 13,45 m (Δ 0,0437 m), EMT (limiar efetivo do monitor) 7,2997 m face a 7,2998 m, σ_v,acc 1,3694 m face a 1,3694 m, e todos os seis intermédios publicados de falha de constelação (σ₃⁽ᵏ⁾, σ_ss,3⁽ᵏ⁾, b₃⁽ᵏ⁾) até meia unidade na última casa decimal impressa. O Relatório do Marco 3 de 2016 declara o mesmo exemplo mas tem dois defeitos internos — uma gralha de sinal na linha 3 deG, e umK_fa,3avaliado em 57 modos de falha quando o documento declaraN_fault,max = 1(12 modos) — pelo que os seus intermédios de geometria se reproduzem exatamente, enquanto os seus níveis de proteção são registados como discrepâncias medidas (VPL Δ 0,0171 m, HPL Δ 0,0842 m, EMT Δ 0,4806 m) e excluídos do valor de aceitação. A verificação é acessível como o tipo de cenárioaraim-reference-check. - Resíduo honesto (externo / pendente de revisão): o valor de disponibilidade de 15–25 % face a um instantâneo real do Celestrak TLE (conjunto de elementos de duas linhas) com versão fixada, e o depósito dos ficheiros de teste ARAIM como um registo Zenodo citável. A verificação de referência acima cobre apenas
N_fault,max = 1(modos de falha de um satélite e de uma constelação); os subconjuntos de falha simultâneos de vários eventos, a exclusão de falhas, a verificação de coerência χ² e o passo de reatribuição de dupla contagem do algoritmo de referência não estão implementados, e um caso cujos valores a priori precisassem deles é recusado em vez de truncado. - Alcance por ficheiro de cenário: o tipo de cenário
integrityexecutaaraim_dual_raimem cada época quando o seu ficheiro TOML (Tom's Obvious Minimal Language) definearaim_dual = true(p_hmiopcional); oscenarios/araim-gps-galileo.tomlincluído fá-lo sobre uma geometria GPS + Galileo agrupada, etests/araim_dual_real_data.rsexecuta o mesmo motor com TLE reais do Celestrak de GPS e Galileo propagados para uma época comum. Sem a opção, o executor usa o RAIM clássico de separação de soluções.
Referências#
- Cooperação UE–EUA em Navegação por Satélite, Grupo de Trabalho C, Subgrupo Técnico ARAIM, Milestone 3 Report, versão final, 25 de fevereiro de 2016 — Anexo A (algoritmo de utilizador de referência) e §A.IX (exemplo numérico). https://www.gps.gov/sites/default/files/2025-09/ARAIM-milestone-3-report.pdf
- Cooperação UE–EUA em Navegação por Satélite, Grupo de Trabalho C, Subgrupo Técnico ARAIM, Reference Airborne Algorithm Description Document, versão 3,1, 20 de junho de 2019 — Apêndice D (exemplo numérico para LPV-200). https://web.stanford.edu/group/scpnt/gpslab/website_files/maast/ARAIM_TSG_Reference_ADD_v3.1.pdf
- Cooperação UE–EUA (Estados Unidos) em Navegação por Satélite, ARAIM Technical Note.
- RTCA (anteriormente Radio Technical Commission for Aeronautics) DO-316 / DO-229 MOPS (normas mínimas de desempenho operacional); material DO-316 ARAIM MASPS (normas mínimas de desempenho de sistemas de aviação).
- 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 (metodologia do diagrama de Stanford).