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

Navegação em órbita terrestre baixa (LEO)Editar no GitHubFonte: docs/LEO-PASS.md

Passagem LEO e orçamento de ligação (leo-pass)

LEO-PNT é posicionamento, navegação e temporização (PNT) a partir de satélites em órbita terrestre baixa (LEO). O tipo leo-pass simula uma ou mais passagens de satélites LEO sobre um utilizador e calcula o orçamento de ligação banda a banda, ao lado dos satélites GNSS (sistema global de navegação por satélite) de órbita terrestre média (MEO) à vista. O motor é independente do sistema: qualquer constelação, qualquer projeto de sinal e qualquer banda, escritos diretamente num cenário. Os sistemas com nome são predefinições opcionais, cada uma no seu próprio ficheiro com a respetiva fonte.

  • Código: src/leo_pass.rs (o tipo) e src/leo_link/ (blocos de construção públicos que outros módulos podem chamar).
  • Cenários: leo-pass-vs-gnss-cn0, leo-indoor-uhf, leo-iot-energy, leo-pass-xona-pulsar, leo-pass-iridium, leo-resilience-spoof-doppler, leo-focus-science-iono-sounding e o opcional leo-pass-celeste-iod-multiband (resultados em Cenários incluídos). O tipo é também membro das campanhas leo-resilience-spoof-monitors, leo-focus-iot-eirp, leo-focus-indoor-uhf e de todos os cenários leo-vertical-*, e a fase de passagem do tipo leo-pnt-chain.
  • Panorâmica de todos os tipos e cenários LEO-PNT: LEO-PNT.md.
  • Referências independentes: tests/leo_link_reference.rs, ficheiros de teste em tests/fixtures/leo_link/ com os seus URL de origem.

O que uma execução calcula#

Para cada satélite LEO, banda e época:

Termo Modelo Etiqueta
Elevação, azimute, distância utilizador em WGS-84 (World Geodetic System 1984), satélite num referencial inercial alinhado com o referencial fixo à Terra na época calculado
Taxa de variação da distância ρ̇ = d·Δv/ρ, aceleração da distância ρ̈ = (|Δv|² − ρ̇² + d·Δa)/ρ forma fechada; cada execução verifica ambas face a diferenças centrais da distância propagada e indica a maior diferença forma fechada
Doppler −f·ρ̇/c, taxa de Doppler −f·ρ̈/c primeira ordem, por banda forma fechada
Perda de percurso em espaço livre Friis, 20·log10(4πRf/c) VALIDATED
EIRP do satélite (potência isotrópica radiada equivalente) e diagrama isofluxo até uma elevação de bordo, lobo principal gaussiano −12(η/θ₃)² dB, ou plano MODELLED
Antena do utilizador patch G_z + 10·q·log10(sin el) dBic, hemisférica ou isotrópica MODELLED
Atenuação gasosa expressões simplificadas do Anexo 2 da ITU-R (União Internacional das Telecomunicações, Setor de Radiocomunicações) P.676-10 (substituída pela P.676-13, cujos coeficientes tabelados o motor não inclui) MODELLED
Atenuação pela chuva coeficientes da ITU-R P.838-3 e o procedimento da P.618-14 § 2.2.1.1, a partir de uma intensidade de chuva R0.01 e de uma altura de chuva VALIDATED
Cintilação troposférica ITU-R P.618-14 § 2.4.1; abaixo de 4 GHz uma extrapolação, assinalada no relatório VALIDATED (4–55 GHz)
Perda de penetração em edifícios (utilizador em interior) ITU-R P.2109-2, tradicional ou termicamente eficiente, à elevação do percurso na fachada VALIDATED
Desadaptação de polarização fator de perda de polarização a partir das razões axiais e dos sentidos, média sobre a orientação da elipse forma fechada
Temperatura de ruído do sistema piso da antena + emissão do céu do percurso absorvente (275 K) + cósmica 2,7 K + recetor 290(10^(NF/10) − 1) MODELLED
C/N0 (densidade de portadora para ruído) EIRP + G_sat − L_fs − L_gas − L_rain − L_scint − L_BEL − L_pol + G_user − 10·log10(kT) − L_impl MODELLED
Atraso de grupo ionosférico 40.3·STEC/f², STEC (conteúdo eletrónico total oblíquo) do modelo de Klobuchar ou de um conteúdo eletrónico total (TEC) vertical, escalado pela fração de uma camada de Chapman abaixo do satélite escalamento VALIDATED, TEC MODELLED

Por par de bandas: os coeficientes livres de ionosfera, a amplificação de ruído √(a₁² + a₂²) e o ruído térmico de código de cada banda e da combinação no pico da passagem. A comparação com os GNSS MEO usa a mesma antena de utilizador e o mesmo recetor, com a potência mínima recebida de cada sinal segundo o documento de interface (Galileo Open Service Signal-in-Space Interface Control Document, OS SIS ICD, Edição 2,1 Tabela 12; GPS a partir de IS-GPS-200 e IS-GPS-705), mais um excesso indicado, escalada pela distância. A secção opcional [iot] (Internet das Coisas) dá o tempo até à primeira solução, a energia por solução e a duração da bateria em função do ciclo de funcionamento para um orçamento de potência do recetor indicado (MODELLED, cada pressuposto é um dado de entrada e está listado no relatório).

Satélites#

  • orbit = "pass" (predefinição): uma órbita circular colocada de modo que o utilizador veja uma passagem com uma elevação máxima escolhida a uma hora escolhida, ascendente ou descendente, a este ou a oeste do utilizador; a inclinação pode ser heliossíncrona.
  • orbit = "elements": elementos keplerianos explícitos.
  • orbit = "tle": um conjunto de elementos de duas linhas (TLE) através do propagador Simplified General Perturbations 4 (SGP4) do motor.
  • [[leo_constellation]]: uma constelação Walker construída pelo código constellation-design (o seu ConstellationCfg, ou as camadas da predefinição); são indicadas as passagens mais altas na janela.

Bandas e projetos de sinal#

Bandas: system = "<preset>" com um subconjunto opcional bands, e entradas [[satellite.band]] que acrescentam uma banda ou substituem qualquer campo de uma banda de predefinição. system = "none" só com entradas [[satellite.band]] não usa nenhuma predefinição.

Uma banda também pode indicar um projeto leo-signal (signal = "xona-x5", qualquer projeto em data/leo-signals/, ou um que o tipo leo-pnt-chain entregue; ver LEO-SIGNAL.md). A banda adota então a frequência central do projeto (salvo se frequency_mhz for indicado), a largura de banda de transmissão e a taxa de chips do componente seguido, reparte a sua EIRP pelos componentes do projeto segundo as suas quotas de potência e indica em cada época o C/N0 do componente seguido e a sua oscilação de seguimento de código adiantado-atrasado limitada em banda (Betz e Kolodziejski 2009, a fórmula do tipo leo-signal) como erro de medição de distância.

Predefinições#

Cada predefinição marca os seus números como PUBLIC (com URL), REPRESENTATIVE (uma escolha de projeto documentada, nunca uma afirmação sobre um sistema real) ou WORKSHOP.

Predefinição Fonte Bandas Órbita
generic-leo (predefinição) REPRESENTATIVE; portadoras L, S e C de documentos públicos UHF 450 MHz (representativo), L 1191,795 MHz (centro do Galileo E5), S 2492,028 MHz (NavIC S, a portadora de banda S da Navigation with Indian Constellation), C 5020 MHz (centro da atribuição RNSS (serviço de satélite de radionavegação) de 5010–5030 MHz), cada uma 0 dBW 550 km heliossíncrona, Walker 240/12/1
generic-c-band REPRESENTATIVE, para sistemas de banda C cujos parâmetros não são públicos (por exemplo, TrustPoint) C 5020 MHz, BPSK(10) (modulação por desvio de fase binária a 10 × 1,023 Mchip/s), isofluxo 550 km, 53°
xona-pulsar PUBLIC, arXiv 2509,19551 Tabelas 1–2 X1 1593,3225 MHz, X5 1190,51625 MHz; EIRP a partir da potência mínima recebida publicada a 10° 1080 km, 53° (192) e 97° (66)
iridium-stl PUBLIC, Resilient Navigation and Timing Foundation (RNTF) e a órbita publicada Satellite Time and Location (STL) a 1621 MHz (meio de 1616–1626 MHz); EIRP a partir de "300 vezes o GPS" 781 km, 86,4°, 66 em 6 planos
starlink-soop valores de sinal PUBLIC (NAVIGATION 72(1)), órbita e EIRP REPRESENTATIVE baliza Ku de 240 MHz, apenas Doppler 550 km, 53°
centispace estrutura de sinal PUBLIC (PMC10301026), órbita e EIRP REPRESENTATIVE BPSK 2,046 Mchip/s perto de L1 e L5 1000 km, 55°
celeste-iod (opcional) parâmetros de sinal WORKSHOP, órbita PUBLIC sete bandas da configuração #1 510 km heliossíncrona

A predefinição Celeste IOD (demonstração em órbita) é opcional. Os seus parâmetros de sinal foram apresentados no workshop LEO-PNT do Navigation Innovation and Support Programme (NAVISP) da Agência Espacial Europeia (ESA), 2026, e ainda não têm fonte pública; encontram-se no módulo link de src/celeste_iod.rs, usado por scenarios/leo-pass-celeste-iod-multiband.toml. Como a predefinição é retida: todos os números do motor derivados do workshop encontram-se num único ficheiro, src/celeste_iod.rs, que build.rs só compila quando ele existe, e nos cenários exclusivos do repositório scenarios/*celeste-iod*.toml. Eliminar esse ficheiro e esses cenários retém a predefinição sem qualquer edição de código; todos os outros testes, referências independentes e cenários funcionam sem ela, e a contagem de ficheiros de cenário do README continua a contar os ficheiros retidos. A sua EIRP e o seu feixe estão calibrados para um traço de C/N0 mostrado no workshop, pelo que esse cenário reproduz o traço por construção.

O modelo de efemérides difundidas de polinómio de "relógio zero" do ATOMIC é uma predefinição de mensagem de navegação e não faz parte deste tipo.

A observação LEO face ao GNSS#

scenarios/leo-pass-vs-gnss-cn0.toml reproduz qualitativamente o que as demonstrações LEO-PNT mostram: o C/N0 LEO sobe e desce numa curva em sino que se mantém acima da máscara durante 590 s e atinge o pico de 56,8 dB-Hz, 8,9 dB acima da mediana das portadoras GNSS MEO planas (Galileo E1, de 40,5 a 52,0 dB-Hz, mediana 47,8 dB-Hz). A margem vem da distância, não de um transmissor mais forte: no pico da passagem o satélite está a 569 km, cerca de 40 vezes mais perto do que um satélite Galileo no zénite (23 222 km), o que corresponde a 32 dB menos de perda em espaço livre; a predefinição genérica irradia 0 dBW (1 W).

Cenários incluídos#

Cada linha é uma execução de kshana scenarios/<name>.toml (motor 0.40.0):

Cenário Configuração Resultado de uma execução
leo-pass-vs-gnss-cn0 generic-leo banda L, 550 km, passagem de 80° sobre Munique L pico 56,8 dB-Hz, mediana 42,2 dB-Hz; Galileo E1 mediana 47,8 dB-Hz
leo-pass-xona-pulsar xona-pulsar, uma passagem projetada de 70° e quatro satélites de camada inclinada, utilizador marítimo X1 pico 65,6 dB-Hz e X5 68,9 dB-Hz na passagem projetada; maior Doppler X1 31,4 kHz
leo-pass-iridium iridium-stl, passagem de 65°, utilizador aerotransportado STL pico 80,5 dB-Hz, 34,3 dB acima da mediana do GPS L1; maior Doppler 35,4 kHz
leo-indoor-uhf generic-leo, utilizador em interior em Roma (edifício tradicional) pico UHF 34,1, L 24,2, S 16,5, C 8,5 dB-Hz; Galileo E1 mediana 22,4 dB-Hz
leo-iot-energy generic-leo UHF e L com a secção [iot] solução a quente 0,90 s e 18,0 mJ em todos os sinais; solução a frio UHF 19,0 s (381 mJ), L 47,0 s (939 mJ), GPS L1 38,1 s (762 mJ)
leo-focus-science-iono-sounding generic-leo, quatro bandas, passagem de 70° sobre Tromsø ver Sondagem da ionosfera
leo-resilience-spoof-doppler 16 satélites de uma camada genérica a 1080 km, L e C, um salto de 30 m ver Monitores de spoofing

kshana scenarios/<name>.toml --animate html --export all escreve também o leitor interativo (.animation.html, as épocas da passagem) e ficheiros CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON e de efemérides STK (Systems Tool Kit) da geometria da passagem (ANIMATION.md, INTEROP.md).

Sondagem da ionosfera#

Cada par de bandas dá também o TEC oblíquo que a sua combinação de códigos livre de geometria recupera no pico da passagem, STEC = (P₂ − P₁)·f₁²f₂² / (40.3·(f₁² − f₂²)), e o 1-sigma dessa estimativa a partir do ruído de código das duas bandas no pico (geometry_free_stec_tecu, geometry_free_stec_sigma_tecu). A estimativa é igual ao TEC oblíquo do modelo por construção: a combinação é exata à primeira ordem. O sigma é o que torna um plano de bandas um sondador melhor ou pior: scenarios/leo-focus-science-iono-sounding.toml (quatro bandas sobre Tromsø) recupera 18,85 unidades de TEC a partir de cada par, com um 1-sigma de 0,017 unidades de TEC para UHF com L e 2,9 para S com C. Apenas ruído térmico de código; sem multipercurso nem enviesamento entre frequências. MODELLED.

Monitores de spoofing ([spoofer])#

A secção opcional [spoofer] contrafaz os sinais que um recetor veria numa posição alegada. A partir de onset_s a posição alegada salta offset_m e depois move-se horizontalmente a push_rate_m_s na direção de push_azimuth_deg; a distância e a taxa de variação da distância contrafeitas são exatamente as da posição alegada, nas bandas LEO indicadas em bands (predefinição: todas) e no sinal GNSS MEO, salvo se gnss = false. simulate_iono indica se as pseudodistâncias contrafeitas transportam o atraso ionosférico (as de um transmissor em terra não o transportam).

O recetor executa dois monitores (src/leo_link/spoof.rs), cada um com uma probabilidade de falso alarme indicada por época (p_fa, predefinição 1e-5), e declara deteção na primeira época em que a sua probabilidade de deteção atinge 1 − p_md (predefinição 0,999). As probabilidades de deteção são exatas para o ruído gaussiano indicado, calculadas sobre o resíduo médio sem ruído; nenhum ruído é sorteado.

Monitor Estatística O que vê
Doppler e coerência da geometria da passagem taxas de variação da distância medidas face às previstas a partir das órbitas e de uma posição e velocidade a priori independentes (prior_sigma_m, prior_velocity_sigma_m_s); um qui-quadrado de mínimos quadrados generalizados sobre uma janela de window_s (predefinição: um passo), com a deriva do relógio como parâmetro de perturbação (ou dada drift_sigma_m_s); ruído do ciclo de bloqueio de frequência a partir do C/N0 (Kaplan & Hegarty 2006, § 5.6.2), nos canais GNSS, nos canais LEO e em todos os canais um erro de posição δx desloca a taxa de variação da distância de g·δx, g = −(Δv − ρ̇u)/ρ: a velocidade transversal de um satélite LEO sobre a sua distância é cerca de 25 vezes a de um satélite MEO, pelo que o mesmo erro é cerca de 25 vezes maior no Doppler LEO
Coerência entre bandas o passo de época para época da combinação de pseudodistâncias livre de geometria de cada par de bandas LEO, com o modelo ionosférico do recetor removido, face ao ruído de código √(2(σ₁² + σ₂²)) e a uma taxa ionosférica não modelada tolerada (iono_rate_bound_m_s) um spoofer que contrafaz algumas bandas e não outras, ou todas as bandas sem a ionosfera, no seu início; não um que contrafaça todas as bandas e simule a ionosfera

scenarios/leo-resilience-spoof-doppler.toml: um salto de 30 m num local levantado em Frankfurt altera as taxas de variação da distância GNSS em cerca de 4 mm/s e as LEO em cerca de 10 cm/s (gradientes medianos de 1.4e-4 e 3.5e-3 por segundo). O teste só com GNSS nunca o deteta (maior não centralidade 0,06); o teste em todos os canais deteta-o 105 s após o início. scenarios/leo-resilience-spoof-monitors.toml executa quatro spoofers contra ambos os monitores.

Limitações, indicadas em cada resultado: o spoofer é um empurrão de posição idealizado e autoconsistente que compensa o seu próprio percurso (sem assinatura de potência, ângulo de chegada ou pico de correlação); o a priori é independente das soluções de posição enganadas; o modelo ionosférico do recetor é o do motor, pelo que o resíduo autêntico entre bandas é nulo em média. MODELLED (duas linhas em VERIFICATION-MATRIX.md).

Validação#

Referência independente Teste Resultado
ITU-R P.838-3 Tabela 5, 115 frequências p838_coefficients_reproduce_table5_to_its_printed_digits cada coeficiente a menos de 0,6 do seu último dígito impresso (pior observado 0,51)
exemplos de validação da Comissão de Estudos 3 da ITU-R (CG-3M3J-13-ValEx-Rev8.3.0), chuva P.618-14 p618_rain_attenuation_matches_the_itu_validation_examples 56 casos a menos de 1e-4 dB (observado 5e-6 dB)
Mesmos exemplos, cintilação P.618-14 p618_scintillation_matches_the_itu_validation_examples 42 casos a menos de 1e-5 dB
folha de cálculo Clutter and BEL da Comissão de Estudos 3 da ITU-R, P.2109 p2109_building_entry_loss_matches_the_itu_workbook 568 valores a menos de 0,001 dB
razão de atraso de grupo do IS-GPS-200 γ = (77/60)² first_order_iono_reproduces_the_is_gps_200_group_delay_ratio a 1e-12; amplificação L1/L2 e L1/L5 de 2,978 e 2,588
forma de Friis em quilómetros–megahertz free_space_loss_is_the_friis_kilometre_megahertz_form a 1e-4 dB
arXiv 2509,19551 Tabela 1 (Pulsar em validação em órbita (IOV), capacidade operacional plena (FOC) polar, FOC inclinada, GPS) doppler_envelope_reproduces_the_pulsar_paper_table_1 20 velocidades e máximos de Doppler a menos de 0,05 %

As referências independentes de chuva e de cintilação tomam a altura da chuva e a refratividade húmida tal como os exemplos de validação as indicam: o motor não inclui nem o mapa da ITU-R P.839 nem o da P.453.

Limitações#

  • As EIRP e os diagramas são potências recebidas publicadas convertidas numa EIRP, ou escolhas representativas; não é usado o diagrama medido de nenhum satélite e nenhum C/N0 LEO é comparado com uma medição.
  • O termo gasoso é o método simplificado superado P.676-10; abaixo de 1 GHz é o valor de 1 GHz escalado por f², e a chuva é tomada como nula aí.
  • A fração de TEC abaixo de um satélite LEO provém de uma única camada de Chapman (sem plasmasfera), substituível por uma fração indicada.
  • As órbitas da passagem projetada e de Walker são de dois corpos com um J2 secular opcional (o segundo harmónico zonal da Terra); o percurso TLE usa o SGP4. A aceleração do próprio utilizador é deixada de fora da taxa de Doppler em forma fechada (a verificação numérica indica o que isso custa para um utilizador em movimento).
  • O RINEX (Receiver Independent Exchange Format) 4,02 não tem registos de navegação LEO; qualquer exportação LEO em estilo RINEX pertence ao código da mensagem de navegação e é uma extensão documentada do Kshana (trabalho anterior: arXiv 2401,17767).