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

Páginas dos tipos de cenárioEditar no GitHubFonte: docs/kinds/by-kind/orbit.md

orbit (tipo de cenário)

Tipo de cenário do motor v0.40.0, família Constelações, cobertura e geometria. Consultivo: resultado de análise de uma ferramenta de investigação e engenharia, não um equipamento de navegação homologado e não um serviço de segurança da vida humana. Cada etiqueta aqui é do motor ou da matriz de verificação; um tipo de cenário é MODELLED salvo indicação em contrário da matriz (como se obtém um rótulo: a secção Evidence do README).

O que faz#

Disponibilidade GNSS + DOP a partir de uma constelação orbital (Walker / TLE / RINEX).

Uma execução de scenarios/orbit-rinex.toml resume-se assim: cenário bffc887db977 | 77/361 amostras GNSS nominal | melhor PDOP 2,53 pos 2.53m | holdover quântico 0s p95 6.49e-5ns integridade 1,000 segurança n/a (sem ataque) | holdover clássico 0s p95 25.0ns integridade 1,000 segurança n/a (sem ataque)

Entradas#

A partir do esquema (kshana kinds --json):

  • Campos obrigatórios: seed, threshold_ns, mask_deg, time, user|user_site, constellation, clock_quantum, clock_classical
  • Campos opcionais: sigma_uere_m, constellations, epoch, export_sp3, export_omm, export_oem, skyline

O exemplo scenarios/orbit-rinex.toml define, entre outros:

Campo Valor Unidade
clock_classical.id csac-sa45s texto
clock_classical.provenance Relógio atómico à escala de chip Microchip SA.45s / SA65, sigma_y(1s) texto
clock_classical.q_rw 1.0000e-28 1/s
clock_classical.q_wf 9.0000e-20 s^2/s
clock_classical.y0 1.0000e-11 1
clock_quantum.id optical-sr-lattice texto
clock_quantum.provenance Relógio ótico de rede de estrôncio, meta para uso espacial sigma_y texto
clock_quantum.q_rw 1.0000e-40 1/s
clock_quantum.q_wf 1.0000e-30 s^2/s
clock_quantum.y0 1.0000e-15 1
constellation.rinex 3,04 N: GNSS NAV DATA G: GPS texto
kind orbit texto

Execute-o#

kshana scenarios/orbit-rinex.toml

7 cenários incluídos utilizam este tipo de cenário; os restantes estão em scenarios/.

O que dá#

Os resultados escalares dessa execução, com as unidades que o motor indica:

Resultado Valor Unidade
classical.filter_health.consistent true sinalizador
classical.filter_health.nees_chi2_lower_95 1.540167 1
classical.filter_health.nees_chi2_upper_95 2.518928 1
classical.filter_health.nees_mean 1.963599 1
classical.filter_health.nis_chi2_lower_95 0.975649 1
classical.filter_health.nis_chi2_upper_95 1.024647 1
classical.filter_health.nis_mean 1.000119 1
classical.fom.availability 0.645429 1
classical.fom.holdover_s 0 s
classical.fom.integrity 1 1
O gráfico que o motor escreve para scenarios/orbit-rinex.toml, tipo de cenário orbit

Evidências#

MODELLED 4 · VALIDATED 4: as linhas da matriz de verificação que nomeiam este tipo de cenário.

  • VALIDATED Rotação da Terra a partir de uma data juliana UT1 em duas partes no caminho da órbita, de modo que a posição fixa à Terra preserva o microssegundo que uma data num único f64 perde (cerca de 3e-9 rad perto de 2020): jd2::gmst82 (GMST da IAU 1982, a convenção TEME, sobre as duas partes), cio:
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP a partir da geometria de linha de vista via Q=(HᵀH)⁻¹ com uma separação ENU local Ensaios: dop_reference.rs.
  • MODELLED dop_error_mc::run_geometry e check: um Monte Carlo de semente fixa (N = 20 000 épocas por geometria, sigma = 1,5 m, semente ChaCha8 36 + i) da solução de mínimos quadrados iterada do próprio motor (pvt::solve_spp, pesos unitários, resolvida a partir da posição verdadeira) em Ensaios: uere_dop_monte_carlo.rs.
  • VALIDATED skyline + frames::look_angles + geometry::sky_geometry: o azimute e a elevação geodésicos (WGS-84) de um satélite a partir de um local em terra, uma tabela de máscara de azimute/elevação interpolada linearmente em azimute com fecho a 360 graus, o conjunto visível el Ensaios: skyline_orekit_oracle.rs.
  • e mais 4 na matriz.

As linhas que a própria execução exercitou, com a referência independente que a matriz dá a cada uma (as fontes públicas estão aí nomeadas):

  • VALIDATED Desvio de Allan/modificado/Hadamard + identificação de ruído de lei de potência com ICs de χ². Referência independente (ExternalDataset): NIST SP 1065 (Riley) / desvios de referência do Stable32 em NBS14
  • VALIDATED GDOP/PDOP/HDOP/VDOP/TDOP a partir da geometria de linha de visada via Q=(HᵀH)⁻¹ com divisão ENU local. Referência independente (ExternalDataset): DOP do gnss_lib_py 1.0.4 (Stanford NAV Lab) — biblioteca independente, coincidente a 1e-6 relativo
  • MODELLED Crescimento do erro em inércia de forma fechada + holdover até ao limiar; classes de relógios quânticos. Referência independente (ReferenceImpl): Recursão de covariância multipasso de clock_state (conferência cruzada na mesma base de código); o núcleo subjacente de variância de deriva e inversão de holdover é validado externamente contra o scipy (ver 'Clock-holdover coast-variance & threshold inversion'). Os valores de holdover por classe com patamar de ruído vermelho permanecem MODELLED
  • MODELLED Relógio de Kalman de 3 estados (fase/frequência/deriva) de van Loan, estabilizado por Joseph. Referência independente (ReferenceImpl): KalmanFilter do filterpy 1.4.5 (R. Labbe, MIT), com F via scipy.linalg.expm e Q via a matriz em blocos de Van Loan 1978 — uma implementação de referência independente que reproduz a trajetória completa do filtro do kshana. Consistência entre implementações: a física do relógio / a calibração de Allan não são validadas externamente, por isso isto permanece MODELLED. Comparação externa 0,30, um achado (permanece MODELLED): em relógios finais do IGS de 30 s de 11 GPS Blo
  • MODELLED χ² auxiliado pelo relógio, RAIM, AGC e SQM fundidos numa figura de mérito de segurança por época. Referência independente (ExternalDataset): parâmetros de cenário do TEXBAT (Humphreys 2012) — caracterização, não vetores fixados. Comparação externa 0,30, um achado (permanece MODELLED): no JammerTest 2024 (Bleik; dados GPL-3.0) os monitores em nível de observável (qui-quadrado auxiliado pelo relógio, RAIM, falha de solução) não levantaram alarme em até 10 s de nenhum dos 8 inícios de spoofing publicados avaliáveis (onde a janela anterior ao início estava limpa, o primeiro alarme veio de 10,2 a 39 s após o pu

Limitações#

O que o próprio relatório da execução diz que não está modelado ou não está validado:

  • O holdover do relógio sem GNSS é MODELLED, não validado: conferido contra uma implementação separada nesta mesma base de código — independente da unidade sob teste, mas sem autoridade externa. (matriz de verificação (docs/MODELLED-RATIONALE.md))
  • A estimativa do estado do relógio a bordo é MODELLED, não validada: conferida contra uma implementação separada nesta mesma base de código — independente da unidade sob teste, mas sem autoridade externa. (matriz de verificação (docs/MODELLED-RATIONALE.md))
  • A deteção de spoofing é MODELLED, não validada: uma subafirmação é conferida externamente, mas a capacidade inteira compõe peças modeladas, de modo que a capacidade permanece modelada. (matriz de verificação (docs/MODELLED-RATIONALE.md))
  • A reprodutibilidade e a garantia de software são MODELLED, não validadas: uma subafirmação é verificada externamente, mas a capacidade no seu conjunto compõe partes modeladas, pelo que a capacidade permanece modelada. (matriz de verificação (docs/MODELLED-RATIONALE.md))

Ver também#