orbit (tipo de cenário)
Tipo de cenário do motor v0.40.0, família Constelações, cobertura e geometria. Consultivo: saída de análise de uma ferramenta de pesquisa e engenharia, não um equipamento de navegação homologado e não um serviço de segurança da vida humana. Todo rótulo aqui é do motor ou da matriz de verificação; um tipo de cenário é MODELLED a menos que a matriz diga outra coisa (como um rótulo é obtido: a seçã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: scenario bffc887db977 | 77/361 samples GNSS-nominal | best PDOP 2,53 pos 2.53m | quantum holdover 0s p95 6.49e-5ns integrity 1,000 security n/a (no attack) | classical holdover 0s p95 25.0ns integrity 1,000 security n/a (no attack)
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 em 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 óptico 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#
kshana scenarios/orbit-rinex.toml
7 cenários incluídos usam este tipo de cenário; os demais estão em scenarios/.
O que ele fornece#
Os resultados escalares dessa execução, com as unidades que o motor declara:
| Resultado | Valor | Unidade |
|---|---|---|
classical.filter_health.consistent |
true | flag |
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 |
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 em um ú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 visada via Q=(HᵀH)⁻¹ com uma divisão ENU local Testes: dop_reference.rs.
- MODELLED dop_error_mc::run_geometry e check: um Monte Carlo com semente (N = 20.000 épocas por geometria, sigma = 1,5 m, semente ChaCha8 36 + i) da própria solução iterada de mínimos quadrados do motor (pvt::solve_spp, pesos unitários, resolvida a partir da posição verdadeira) sobre Testes: 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 solo, uma tabela de máscara de azimute/elevação interpolada linearmente em azimute com retorno em 360 graus, o conjunto visível el Testes: 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 são nomeadas ali):
- 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é o 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 piso 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 em uma 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 é modelado ou não é 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 detecçã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))
- Reprodutibilidade e garantia de software é MODELLED, não validada: uma subafirmação é verificada 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))
Veja também#
- Página da família: Constelações, cobertura e geometria
- Todos os tipos de cenário: KINDS.md
- Página do tópico: SKYLINE.md
- Página do tópico: LEO-PASS.md