Tradução automática, não revista por um falante nativo. O inglês é a referência.

Integridade e interferênciaEditar no GitHubFonte: docs/ARAIM_REFERENCE.md

Referência do ARAIM — níveis de proteção do RAIM avançado no Kshana

Esta nota documenta a implementação aberta do Kshana do Advanced Receiver Autonomous Integrity Monitoring (ARAIM): o algoritmo, cada premissa, a mensagem de suporte à integridade que ele consome e o estado da validação. A implementação está em src/raim.rs; este documento é o texto de acompanhamento que um auditor (ou um revisor de aquisições) pode ler junto com o código.

O ARAIM é o sucessor de dupla constelação e multifrequência do RAIM clássico que o Grupo de Trabalho C (WG-C) GPS (Global Positioning System)–Galileo definiu para dar suporte a guiamento horizontal e vertical até o LPV-200 (LPV: desempenho do localizador com guiamento vertical). Ele responde a uma única pergunta para cada época:

Quão grande deve 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 que o limite enquanto o limite ainda está dentro do limite de alerta — permaneça abaixo do orçamento de risco de integridade P_HMI?

1. A mensagem de suporte à integridade (ISM)#

A ISM é o conjunto de parâmetros por constelação que o usuário aplica. Ela é 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 viés nominal máximo de distância incorporado de um lado só ao limite de integridade (b_k = Σ_i |s_i|·b_nom); veja §3
p_sat P_sat probabilidade a priori de uma falha não detectada de um único satélite
p_const P_const probabilidade a priori de uma falha em toda a constelação

IntegritySupportMessage::gps_galileo_reference() retorna 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⁻⁴ ao longo do intervalo de exposição. Esses são os valores usados para dimensionar a disponibilidade do ARAIM na literatura de referência; a ISM operacional é transmitida ou montada em solo 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 estes valores 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, ele forma a solução com todos os satélites em 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 em vista.
  • Falhas de um único satélite H_i (a priori P_sat cada): toda subsolução com exclusão de um satélite. Esta é a linha de base clássica do ARAIM de falha única, araim_raim.
  • Falhas em toda a constelação H_c (a priori P_const cada): a subsolução que remove de uma só vez todos os satélites de uma constelação, a extensão da TN (nota técnica) do ARAIM da UE (União Europeia) / DO-316 implementada em araim_dual_raim. Com P_const = 0, ela se reduz bit a bit a araim_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 detecção de separação de soluções no multiplicador de alerta falso K_fa = Φ⁻¹(1 − P_fa / 2N) (uma divisão de Bonferroni do orçamento de continuidade entre as 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 viés nominal sobre o eixo — a soma de pior caso das magnitudes de ganho por satélite (axis_bias_sum/horiz_bias_sum) — obtida do b_nom_m da ISM. A ISM de referência do WG-C usa b_nom = 0.75 m; com b_nom = 0, o limite se reduz à forma MHSS de viés nominal zero. O cenário executável integrity expõe sigma_ura_m (o limite de integridade usado para o nível de proteção, restrito a ≥ sigma_uere_m e com ele como padrão) e b_nom_m (padrão 0), de modo 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 sendo uma implementação de ARAIM modelada e não certificada — veja INTEGRITY.md.

atinge o orçamento alocado ([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 também informa o risco de integridade efetivamente alcançado (≤ a alocação) e se alguma subsolução se separou além de seu limiar.

Este é o contrato explícito do ARAIM — "quão grande deve ser o limite?" — em vez do risco implícito e dependente da geometria de um RAIM clássico de multiplicador fixo.

4. Diagrama de Stanford#

StanfordDiagram acumula (error, PL) por época contra 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 renderiza o gráfico de dispersão clássico — a fronteira de integridade PL = error, as guias do limite de alerta e um marcador colorido por época — como um SVG (Scalable Vector Graphics) autocontido.

5. O benefício da dupla constelação#

Dois efeitos são demonstrados em raim::tests::dual_constellation_improves_geometry_and_tolerates_a_constellation_fault:

  1. Geometria / redundância — reunir 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 SV único (SV: veículo espacial, isto é, um satélite) dão um limite estritamente menor.
  2. Tolerância a falhas de constelação — com P_const ativo, o usuário de dupla constelação permanece disponível quando uma constelação inteira pode falhar (os satélites da outra constelação sobrevivem), ao passo que um usuário de constelação única comprovadamente não pode ser protegido contra a falha de sua própria constelação (araim_dual_raim retorna None).

Uma sutileza que vale 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 de instantâneo da dupla constelação é limitado inferiormente pela geometria residual de constelação única — ele não é automaticamente menor que o PL só com GPS em todo instante. O resultado principal da TN do ARAIM da UE, de que GPS+Galileo dá um HPL 15–25 % menor, é um resultado de disponibilidade acumulado sobre constelações e locais de usuário realistas, e 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 do IGS (International GNSS Service; GNSS = sistema global de navegação por satélite) (SP3, Standard Product 3) (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 conferidos contra o próprio exemplo numérico do Subgrupo Técnico do ARAIM, em src/araim_reference.rs, tests/araim_reference_vectors.rs e na fixture versionada tests/fixtures/araim_reference/wgc_araim_reference_vectors.txt (cada vetor traz sua URL (endereço web) de obtenção, data de obtenção, SHA-256 (SHA: Secure Hash Algorithm) do arquivo-fonte e página). A tolerância de aceitação é o próprio TOL_PL = 5 × 10⁻² m da referência. Contra o Reference Airborne Algorithm Description Document v3.1 (2019), Apêndice D: VPL 18,2926 m contra 18,3 m publicado (Δ 0,0074 m), HPL 13,4063 m contra 13,45 m (Δ 0,0437 m), EMT (limiar efetivo de monitor) 7,2997 m contra 7,2998 m, σ_v,acc 1,3694 m contra 1,3694 m, e todos os seis intermediários publicados de falha de constelação (σ₃⁽ᵏ⁾, σ_ss,3⁽ᵏ⁾, b₃⁽ᵏ⁾) com diferença de até meia unidade na última casa decimal impressa. O Milestone 3 Report de 2016 declara o mesmo exemplo, mas traz dois defeitos internos — um erro de sinal na linha 3 de G e um K_fa,3 avaliado em 57 modos de falha enquanto o documento declara N_fault,max = 1 (12 modos) — de modo que seus intermediários de geometria se reproduzem exatamente, enquanto seus níveis de proteção são registrados como discrepâncias medidas (Δ do VPL 0,0171 m, Δ do HPL 0,0842 m, Δ do EMT 0,4806 m) e excluídos do valor de aceitação. A verificação é acessível como o tipo de cenário araim-reference-check.
  • Resíduo honesto (externo / revisão pendente): o valor de disponibilidade de 15–25 % contra um instantâneo de TLE (conjunto de elementos de duas linhas) real do Celestrak com versão travada, e o depósito das fixtures de teste do ARAIM como um registro citável no Zenodo. A verificação de referência acima cobre apenas N_fault,max = 1 (modos de falha de um único satélite e de uma única constelação); subconjuntos de falha de múltiplos eventos simultâneos, exclusão de falhas, a verificação de consistência χ² e a etapa de realocação por contagem dupla do algoritmo de referência não estão implementados, e um caso cujas probabilidades a priori os exigiriam é recusado em vez de truncado.
  • Alcance por arquivo de cenário: o tipo de cenário integrity executa araim_dual_raim em toda época quando seu arquivo TOML (Tom's Obvious Minimal Language) define araim_dual = true (p_hmi opcional); o scenarios/araim-gps-galileo.toml incluído faz isso sobre uma geometria GPS + Galileo reunida, e tests/araim_dual_real_data.rs executa o mesmo motor sobre TLEs reais de GPS e Galileo do Celestrak 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 do ARAIM, Milestone 3 Report, versão final, 25 de fevereiro de 2016 — Anexo A (algoritmo de usuário 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 do ARAIM, Reference Airborne Algorithm Description Document, versão 3,1, 20 de junho de 2019 — Apêndice D (exemplo numérico para o 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 (antes Radio Technical Commission for Aeronautics) DO-316 / DO-229 MOPS (padrões mínimos de desempenho operacional); material do DO-316 ARAIM MASPS (padrões mínimos 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).