O GNSS além da constelação: o tipo gnss-ssv
Apenas consultivo. Resultados modelados a partir de entradas declaradas e de uma verdade simulada; não é uma certificação, um valor qualificado para voo nem uma alegação de volume de serviço para nenhum sistema. O Kshana não transmite nada.
O tipo gnss-ssv responde: para uma espaçonave acima, em torno ou muito além das órbitas GNSS, quantos sinais GNSS ela consegue usar, qual a intensidade deles, qual a qualidade da geometria e o que um filtro de bordo pode fazer com eles? Ele tem três modos, escolhidos pela tabela que o cenário possui: [shell], [trajectory] ou [navigation] (com um [formation] opcional).
Situação: MODELLED. Os varrimentos de disponibilidade são comparados com o folheto do Space Service Volume do ICG sob um pré-registro; veja o que a comparação mostra antes de confiar em qualquer número.
Fontes públicas#
- The Interoperable Global Navigation Satellite Systems Space Service Volume, United Nations Office for Outer Space Affairs, ST/SPACE/75 (1 de novembro de 2018), preparado pelo International Committee on GNSS (ICG), Working Group B: o método (anexo B), os elementos orbitais de cada constelação (anexo C), as larguras de feixe e potências de transmissão (tabelas B2, B6, B8, 4,2), as antenas de usuário (tabela B10) e as tabelas de disponibilidade publicadas. Ele próprio é uma simulação. Obtido por
xval/gnss-ssv/fetch.sh(SHA-256 fixado), nunca incorporado ao repositório. - U.S. Coast Guard Navigation Center, diagramas dos painéis de antena do GPS Block IIR e IIR-M (Marquis, 2014): os diagramas medidos do painel L1, usados apenas para julgar o substituto paramétrico (limiar S7). Obtidos, nunca incorporados ao repositório, sem nenhum dado de diagrama versionado.
- As constantes do modelo (gravidade, rotação da Terra, perda em espaço livre, densidade de ruído) são padrão; a lei de densidade da plasmasfera de Gallagher, a camada de Chapman e o perfil de refratividade de rádio são formas publicadas, usadas com parâmetros simples declarados (veja
src/ssv/limb.rs).
Modo shell: a métrica global do folheto#
[shell] coloca um usuário sobre uma esfera (padrão de 36.000 km de altitude com uma antena hemisférica apontada para o nadir, o SSV superior; ou 8.000 km com uma antena omnidirecional, o SSV inferior) em uma grade icosférica de 2,562 pontos e conta, ao longo de 14 dias em passos de 1 minuto, a parcela de pares (usuário, época) com pelo menos um e pelo menos quatro sinais, por constelação e combinados, e a maior interrupção no pior usuário. O varrimento usa o intervalo de visibilidade de forma fechada em ângulo central (um cone de feixe, o bloqueio da Terra pela esfera de 6378 km mais 50 km, o hemisfério do usuário e o limite de alcance de RF) e roda em segundos em um build de release; um teste de propriedade o confere com o predicado geométrico geral.
Modo de trajetória: ao longo de uma órbita#
[trajectory] faz o usuário voar em uma órbita kepleriana (uma predefinição: leo, meo, geo, heo (a tabela 5,10 do folheto) ou lunar-transfer, ou elementos) e informa, por banda e constelação, a disponibilidade de um e de quatro sinais, as durações das interrupções, os sinais em visada, o melhor C/N0, a diluição da precisão (mediana, percentil 95, pior caso), os enlaces recebidos pelo lóbulo principal e pelos lóbulos laterais, e uma série temporal e um CSV opcionais.
- Diagrama de transmissão (
[transmit] pattern):booklet(potência constante dentro do ângulo de referência fora do eixo),parametric(um substituto rotulado: 3 dB por grau além do ângulo de referência até um piso 25 dB abaixo do lóbulo principal; não é o diagrama medido de nenhum sistema) outable(um diagrama medido que você fornece:pattern_csvoupattern_textem linha; os diagramas de painel do Block IIR/IIR-M podem ser extraídos comxval/gnss-ssv/extract_patterns.py). - Antenas de recepção: omni, hemisfério, ou as antenas de alto ganho e patch da tabela B10 do folheto, nadir ou zênite; cada enlace usa a antena de maior ganho.
- Meio de raio no limbo (
[atmosphere]): uma ionosfera de Chapman, uma plasmasfera (forma de Gallagher de 1988, plasmapausa em L = 4,5, afunilada abaixo de 1.500 km) e uma atmosfera neutra (curvatura de cerca de 1,33 graus na superfície, absorção por oxigênio, desfocalização) integrados ao longo do raio reto. Informa o TEC oblíquo, a parte plasmasférica, o atraso excedente, a altitude tangente e os enlaces perdidos por rasante. Integração por raio reto: a curvatura é informada, não iterada. - Receptor de sinal fraco (
[receiver] weak_signal): integração coerente e não coerente, limite de bits de dados, canais de auxílio e piloto, busca Doppler; o limiar de aquisição nas probabilidades de detecção e de falso alarme declaradas e os limiares de rastreamento de portadora e de código substituem o limiar fixo de C/N0 (faixa de 10 a 25 dB-Hz). Reutiliza os modelos de aquisição e de laço de rastreamento do motor.
Modo de navegação: um filtro de bordo#
[navigation] faz voar uma nave em órbita alta ou de transferência lunar e executa um filtro de Kalman estendido de nove estados (posição, velocidade, viés e deriva do relógio do receptor, uma escala de pressão de radiação solar) sobre pseudodistâncias. A verdade é integrada com gravidade de massa pontual, J2, terceiros corpos Sol e Lua e pressão de radiação com uma sombra cilíndrica da Terra; o filtro modela a gravidade, o J2 e os terceiros corpos e estima a pressão de radiação. As pseudodistâncias vêm da mesma geometria de enlace e do mesmo limiar de C/N0 dos varrimentos; seu ruído cresce à medida que o C/N0 cai; o atraso excedente do meio (com [atmosphere]) é adicionado e não é modelado pelo filtro. O relatório separa a parte da execução dentro das órbitas GNSS (abaixo de 20.000 km de altitude) da parte acima, fornece a maior lacuna sem medição e o erro de estimativa normalizado quadrático médio (cerca de 3 para um bloco de posição consistente). O Sol e a Lua são substitutos circulares de baixa precisão.
Modo de formação: navegação relativa#
[formation] (precisa de [navigation] para o chefe) acrescenta deputies deslocados em anomalia verdadeira. Cada nave executa o filtro absoluto; a posição do deputy em relação ao chefe é estimada subtraindo as estimativas absolutas independentes e por um filtro relativo sobre pseudodistâncias de diferença simples dos sinais que ambas as naves rastreiam. O relatório fornece ambas, a linha de base e o número de sinais rastreados em comum.
O que a comparação com o folheto mostra#
Os limiares foram pré-registrados (xval/gnss-ssv/PREREGISTRATION.md, adendos 1 a 5) antes da execução em tamanho completo; os resultados estão em xval/gnss-ssv/RESULTS.md, as células em results-*.json, fixados por tests/ssv_booklet_results.rs, inclusive os casos em que o limiar não foi atingido.
| limiar | o quê | execução 1 (leitura pré-registrada) | variante de ângulo do GLONASS (diagnóstico) |
|---|---|---|---|
| S0 | potência irradiada mínima, 13 sinais, dentro de 0,1 dB | MET | MET |
| S1 | geometria do SSV superior (tabela B4) | NOT MET (43 de 52 células) | todas as 52 células dentro da tolerância |
| S2 | SSV inferior (tabela 5,2) | NOT MET (48 de 52) | todas as 52 |
| S3 | SSV superior com 15/20/25 dB-Hz (tabela B9) | NOT MET (122 de 155) | 153 de 155 |
| S4 | seis missões GEO | NOT MET (132 de 156) | todas as 156 |
| S5 | missão HEO | NOT MET (18 de 26) | 21 de 26 |
| S6 | missão lunar | MET | NOT MET (23 de 26) |
| S7 | diagrama paramétrico em relação aos diagramas medidos do painel L1 do GPS | NOT MET (RMS de 6,3 a 8,8 dB contra 3 dB) | n/a |
O folheto é internamente inconsistente quanto ao ângulo de referência fora do eixo do GLONASS: as tabelas B2 e B6 trazem 20 e 28 graus, a tabela 4,2 traz 26 e 34. A execução 1 usou o primeiro par (o que o pré-registro nomeava); quase toda falha em S1 a S5 é do GLONASS. A variante, assumida como diagnóstico antes de ser executada, usa o segundo par; então, as missões do SSV superior, do SSV inferior e GEO concordam célula a célula, inclusive as interrupções. A variante não substitui a execução 1. Nenhuma linha é VALIDATED: o folheto é uma simulação, a regra do veredito exige S0 a S3 sob a leitura pré-registrada, e as falhas restantes (GPS L1 a 20 dB-Hz, Galileo em HEO, QZSS e NavIC, as linhas lunares do GLONASS) não são explicadas.
Como executar#
kshana scenarios/gnss-ssv-shell.toml # the upper SSV, reduced size
kshana scenarios/gnss-ssv-heo.toml # a HEO, parametric sidelobes, limb medium
kshana scenarios/gnss-ssv-lunar-weak.toml # lunar transfer, weak-signal receiver design
kshana scenarios/gnss-ssv-nav-lunar.toml # onboard EKF on the way to the Moon
kshana scenarios/gnss-ssv-formation-heo.toml # formation relative navigation
cargo run --release --example ssv_booklet_check # the full pre-registered comparison (about 12 minutes)
Todo cenário incluído é reduzido para rodar em segundos; a comparação em tamanho completo é o exemplo acima. O mesmo tipo roda a partir do Python (kshana.run), do navegador (WebAssembly), do servidor MCP (run_scenario, somente texto em linha: pattern_csv é uma fonte de arquivo e é recusada; use pattern_text) e dos plugins.
Limites#
- MODELLED: nada aqui foi comparado com recepção GNSS em órbita medida. O folheto é uma simulação.
- Órbitas keplerianas de dois corpos para as constelações GNSS e para o usuário nos varrimentos; a transferência lunar é uma elipse de dois corpos, não uma trajetória propagada.
- O meio é um modelo simples declarado, com integração por raio reto; não é uma previsão de clima espacial.
- O filtro de navegação é um estudo de projeto: sem manobras, sem atitude, sem multipercurso, e a verdade compartilha com o filtro as suas efemérides do Sol e da Lua.