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

APIs e integraçõesEditar no GitHubFonte: docs/POSITIONING.md

Onde o Kshana se encaixa

O Kshana é um motor aberto e reproduzível de evidências de resiliência de PNT (posicionamento, navegação e temporização). Você descreve um cenário — os sensores ou relógios, uma interrupção de GNSS (sistema global de navegação por satélite), um ataque de jamming ou spoofing, um orçamento — e ele diz quão bem o tempo e a posição se sustentam, pontuados em relação a figuras de mérito (FoMs) operacionais. Cada capacidade por trás dessas figuras é rotulada em uma matriz verificada por máquina como VALIDATED (verificada em relação a uma referência independente externa), MODELLED (internamente consistente, não verificada externamente) ou PARTNER (de responsabilidade de um parceiro de hardware). Esta página diz aonde ele chega, para que serve e o que ele não é.

Aonde ele chega: temporização e holdover para infraestrutura crítica#

A parte melhor validada do motor é a temporização. Redes de telecomunicações, redes elétricas e mercados financeiros obtêm seu tempo do GNSS, e cada um precisa dimensionar o holdover: por quanto tempo um relógio local pode funcionar livremente após uma perda de GNSS antes que seu erro de tempo estoure o orçamento.

  • O que é VALIDATED. Os estimadores de estabilidade de frequência a partir dos quais uma resposta de holdover é construída — desvio de Allan (ADEV), desvio de Allan modificado (MDEV), desvio de tempo (TDEV), erro máximo de intervalo de tempo (MTIE) e o estimador Theo1 de alcance estendido — são verificados em relação aos desvios de referência do Stable32, à biblioteca independente allantools e a um relógio real de césio medido. O cálculo da variância de deriva em holdover e sua inversão para um tempo de holdover são verificados em relação ao SciPy. Consulte VERIFICATION-MATRIX.md para cada linha, seu teste e sua referência independente.
  • O que continua MODELLED. Os pisos de ruído por classe de relógio (por exemplo, o piso de longo prazo de uma dada classe de oscilador) definem a resposta para um relógio estável, e são figuras representativas, não medições do seu dispositivo. Forneça pisos medidos para um número que você pretende defender.
  • Unidades de telecomunicações. O tipo de cenário telecom-timing relata MTIE e TDEV, confere-os com as máscaras do Setor de Normalização das Telecomunicações da União Internacional de Telecomunicações (ITU-T) — G.8272 para um relógio de tempo de referência primário (PRTC), G.8272.1 para um PRTC aprimorado (ePRTC), G.8273.2 para um relógio de fronteira de telecomunicações (T-BC) e G.8271.1 para os limites de rede no ponto de referência C — e relata por quanto tempo um holdover permanece dentro de cada orçamento de erro de tempo. Consulte TELECOM-TIMING.md.

O que o torna diferente#

A física e as normas não são a diferença: a propagação Simplified General Perturbations 4 (SGP4), o desvio de Allan, os referenciais e a diluição de precisão estão disponíveis, gratuitos e corretos, em outras bibliotecas, e o Kshana se confere com várias delas. A diferença é a disciplina de evidências:

  • Aberto. O motor está sob a GNU Affero General Public License (AGPL), de modo que qualquer pessoa pode lê-lo e executá-lo novamente. Existe uma licença comercial para integração fechada.
  • Reproduzível. Um resultado é determinado por scenario + seed + engine version, bit a bit, e uma execução pode ser compartilhada como um link para o playground do navegador.
  • Com procedência rotulada. Todo parâmetro de sensor é rastreado até uma fonte publicada (PROVENANCE.md), e toda capacidade traz seu nível VALIDATED / MODELLED / PARTNER. Uma salvaguarda de integração contínua (CI) recusa uma linha VALIDATED sem referência independente externa, de modo que uma autoverificação interna não possa ser apresentada como validação.

Não encontramos outra ferramenta aberta que combine isso em holdover, integridade, deriva inercial e sensores quânticos, mas uma busca que não encontra nada não é prova de que nada exista; não afirmamos ser a única.

Quântico: um método neutro de trade, resultados rotulados MODELLED#

O Kshana compara relógios e sensores inerciais quânticos e clássicos no mesmo cenário com o mesmo código: cada dispositivo é um modelo de erro, e o motor não sabe qual deles é "quântico". Trate-o como um método neutro de trade quântico versus clássico cujos resultados são rotulados MODELLED. A maioria das entradas são coeficientes publicados de Allan/orçamento de ruído; o acelerômetro de interferômetro de átomos frios tem uma camada de primeiros princípios que deriva seu coeficiente de ruído. Os dados medidos de desvio de Allan de um parceiro podem ser fornecidos pelo tipo de cenário quantum-trade, que é o caminho para promover as figuras de um dispositivo específico. Consulte QUANTUM.md e QUANTUM-MODELS.md.

Lunar, cislunar e espaço profundo: mantidos, não o destaque#

O conjunto lunar / cislunar (monitoramento de integridade lunar, o núcleo de três corpos Terra–Lua, escalas de tempo lunares, análise de volume de serviço) e o motor de navegação radiométrica de espaço profundo são capacidades mantidas. A maioria de suas linhas é MODELLED, e já existem ferramentas dedicadas à navegação lunar, de modo que são oferecidos como capacidades do mesmo motor, cada um com seu próprio nível, e não como destaque.

O restante do motor#

O mesmo motor, com os mesmos níveis, também cobre:

  • PNT em órbita baixa da Terra (LEO), de ponta a ponta. Projeto de sinal (leo-signal), passagem e orçamento de enlace por banda (leo-pass), mensagem de navegação transmitida (leo-navmsg), posicionamento fundido em órbitas média e baixa da Terra (leo-pvt), convergência do posicionamento por ponto preciso (PPP) com aumento por LEO (leo-ppp), posicionamento a partir de uma rede não terrestre 5G (ntn-positioning) e leo-pnt-chain, que entrega a saída de cada etapa à seguinte para um único sistema.
  • Espectro. Uma cascata de densidade espectral de potência em banda L (e em UHF (frequência ultra-alta), banda S e banda C) sob uma linha do tempo roteirizada de jammer, com razão jammer-sinal por banda e densidade efetiva de portadora para ruído (spectrum), e entrada e saída de gravações Signal Metadata Format (SigMF).
  • O sistema solar e qualquer corpo central. Posições e constantes físicas dos planetas e das principais luas (solar-system), posicionamento em torno de qualquer um desses corpos (body-pnt), e projeto de constelações Walker e de slots publicados com mapas de cobertura e de diluição de precisão em torno de qualquer um deles (constellation-design).
  • Campanhas. Tipos de cenário existentes encadeados em uma linha do tempo compartilhada, varridos, executados como conjuntos Monte Carlo com semente ou executados lado a lado sob condições compartilhadas (campaign).
  • Saídas. Cada execução grava um documento de resultado, um gráfico e um relatório em HTML (HyperText Markup Language) e JSON (JavaScript Object Notation); --animate grava uma animação em SVG (Scalable Vector Graphics), HTML ou sequência de quadros; --export grava efemérides CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON ou STK (Systems Tool Kit) para os tipos de cenário que situam objetos na Terra, e SigMF para spectrum.

A maioria destas linhas é MODELLED; a matriz de verificação nomeia as poucas que são VALIDATED (por exemplo, as recomendações da União Internacional de Telecomunicações sobre chuva e cintilação, o algoritmo de efemérides transmitidas do Galileo, a verificação de quadro CRC-24Q (verificação de redundância cíclica de 24 bits) e o solucionador de tempo de luz planetário).

O que o Kshana não é#

  • Não é um simulador de sinais de radiofrequência (RF) nem uma bancada de hardware-in-the-loop (HIL). O Kshana não aciona nenhum hardware de rádio e não transmite nada. A maior parte dele trabalha no nível de modelos de erro e orçamentos de enlace, antes que se compre hardware ou tempo de laboratório. No nível do sinal ele é apenas software: a camada de IQ GNSS (iq) grava arquivos de amostras IQ (em fase/quadratura) em banda base de sinais GNSS legítimos para receptores de software e executa sobre eles o seu próprio receptor de software; a seção [iq] do tipo de cenário spectrum (desde a 0.29.0) grava um snapshot SigMF (Signal Metadata Format) do seu modelo analítico que inclui os jammers configurados (jammers de tipo ruído bin a bin, tons e chirps como formas de onda); e spoof_capture soma na memória um sinal autêntico e uma réplica de spoofer para testar a captura da malha, sem gravá-lo. Testar um receptor de hardware contra um estímulo de RF real é tarefa de um simulador de RF.
  • Não substitui o MATLAB/Simulink, o STK nem o Orekit. Ele fica ao lado deles. Lê e grava os formatos de intercâmbio que eles usam — mensagens de efemérides de órbita (Orbit Ephemeris Messages) do CCSDS (Consultative Committee for Space Data Systems), órbitas precisas SP3 (Standard Product 3), RINEX (Receiver Independent Exchange Format) —, grava CZML, KML, GeoJSON e efemérides STK para os visualizadores deles, e seu modelo numérico de forças é conferido de forma cruzada com o Orekit, em vez de ser oferecido no lugar dele.
  • Não é um motor de processamento GNSS de fase da portadora nem um serviço de posicionamento (veja abaixo).
  • Não é uma autoridade de certificação. Um rótulo VALIDATED significa que uma capacidade coincide com uma referência independente externa; não é uma certificação de nenhum produto nem operador.

O que o Kshana é, e não é, ao lado de um motor de processamento GNSS#

O Kshana não é um motor de processamento GNSS de fase da portadora, e nenhum tipo de cenário é um serviço de posicionamento. Ele tem, sim, um pé no domínio da medição, como código de biblioteca em que o estudo de desempenho se apoia e que é conferido em relação a referências independentes. O posicionamento cinemático em tempo real (RTK) de linha de base curta com fixação de inteiros por LAMBDA (least-squares ambiguity decorrelation adjustment) roda sobre observações RINEX reais de dupla frequência, assim como um filtro estático de posicionamento por ponto preciso (PPP) com float, com órbitas e relógios finais do IGS, e o relógio do receptor que esse filtro estima é uma solução de tempo em relação ao relógio de estação final do IGS. Cada um dos três é uma linha VALIDATED da matriz de verificação, em relação aos dados de estação do IGS que ela nomeia ali, e cada um roda em janelas de observação estáticas e curtas, não como um serviço em fluxo com resolução de ambiguidades em linhas de base longas, suavização por portadora ou um rover cinemático. O tipo de cenário leo-ppp executa um filtro PPP float sobre código e fase da portadora, mas sobre medições que ele mesmo simula, para estudar o tempo de convergência com e sem aumento por LEO; ele não processa um arquivo de observações. O tipo de cenário pvt (posição, velocidade e tempo) resolve a posição de um receptor a partir de pseudodistâncias de código RINEX reais mais efemérides transmitidas, validado em relação a uma coordenada levantada do International GNSS Service (IGS) (estação ABMF, 2018-05-13) com 5,7 m RMS 3-D (raiz do valor quadrático médio) / 1,1 m na horizontal. Mas o produto é o estudo de desempenho, não o serviço de posicionamento, e o enquadramento abaixo pretende poupar a um usuário potencial a decepção de usar a ferramenta errada.

Kshana Um motor de processamento GNSS (RTKLIB, uma biblioteca aberta de posicionamento cinemático em tempo real; gLAB, o conjunto de ferramentas de laboratório GNSS do grupo gAGE da Universidade Politécnica da Catalunha)
Entrada um cenário: modelos de erro de sensor, janelas de interrupção, geometria — ou, para pvt, um arquivo real de observações RINEX mais a navegação transmitida observações GNSS reais (RINEX), efemérides, correções
Saída FoMs de desempenho: holdover, erro de temporização/posição, disponibilidade, limites de integridade/segurança — mais uma posição por posicionamento de ponto único (SPP) de código a partir do tipo de cenário pvt uma solução de posição/velocidade/tempo (SPP, PPP, RTK)
Pergunta que responde "quão boa seria esta arquitetura, e onde ela falha?" "dadas estas medições, onde estou agora?"
Sensores quânticos / ópticos modelados como modelos de erro (relógios ópticos, unidade de medição inercial (IMU) de átomos frios, transferência óptica de tempo), resultados rotulados MODELLED não modelado
Processamento de observações reais SPP de código a partir de observações RINEX reais (pvt, nível de metro); RTK de linha de base curta com LAMBDA e PPP float estático sobre fase da portadora real, como código de biblioteca conferido em relação a estações do IGS (VALIDATED, janelas estáticas e curtas, não um serviço em fluxo); mais geometria / diluição de precisão (DOP) / disponibilidade a competência central, até o PPP/RTK de fase da portadora
Instalar zero — roda em uma aba do navegador (WebAssembly) compilação nativa / cadeia de ferramentas

Complementar, não concorrente — RTKLIB e gLAB#

RTKLIB e gLAB são conjuntos de processamento GNSS maduros e amplamente usados. Eles recebem medições reais e produzem uma solução de posicionamento (SPP/PPP/RTK; o gLAB também é uma excelente ferramenta de ensino, com forte tradição na Agência Espacial Europeia (ESA) e no European Geostationary Navigation Overlay Service (EGNOS)). O Kshana não os substitui e não tenta fazê-lo. Seu caminho de observações é estreito: posicionamento de ponto único por código (pvt) e, como código de biblioteca conferido, RTK de linha de base curta com fixação de inteiros por LAMBDA e um filtro PPP float estático sobre observações reais de dupla frequência, cada um VALIDATED em relação a dados de estações do IGS (o filtro PPP também em relação a uma execução do RTKLIB com as mesmas entradas). Ele não tem suavização por portadora, nem processamento cinemático ou em fluxo, nem resolução de ambiguidades em linhas de base longas, e pvt não estima a troposfera nem a ionosfera — ele aplica os modelos de troposfera de Saastamoinen/Niell e a combinação livre de ionosfera L1/L2, mas não os resolve como estados.

O pipeline é complementar:

  • RTKLIB / gLAB respondem "onde estou, a partir destes sinais?"
  • O Kshana responde "por quanto tempo mantenho uma boa resposta quando esses sinais cessam — e quanto me rende um relógio ou sensor inercial melhor, clássico ou quântico?"

Um fluxo de trabalho natural usa um motor de processamento para o trecho com GNSS disponível e o Kshana para estudar o comportamento de holdover e o espaço de trade de sensores em torno dele. Se você precisa de um serviço de posicionamento por fase da portadora — PPP ou RTK cinemático, linhas de base longas, resolução de ambiguidades em rede — use o RTKLIB ou o gLAB; se você precisa de evidências reproduzíveis e rotuladas sobre resiliência e holdover, esse é o trabalho para o qual o Kshana foi construído.

Uma camada de navegador sem instalação#

A maioria das ferramentas de simulação nesta área (RTKLIB, gLAB, a General Mission Analysis Tool (GMAT), Orekit, STK) exige uma instalação nativa ou uma licença, e uma curva de aprendizado antes do primeiro resultado. O Kshana é compilado para WebAssembly e roda inteiramente no navegador — o playground carrega um cenário prático, executa o motor real no cliente (nada é enviado) e mostra o resultado em segundos. Controles deslizantes guiados e cenários de um clique significam que o primeiro resultado útil não exige TOML (Tom's Obvious Minimal Language, o formato de arquivo de cenário) nem cadeia de ferramentas.

Essa camada sem instalação é uma posição deliberada:

  • Alcance — um revisor, estudante ou responsável por compras pode experimentar o motor de verdade a partir de um link, em qualquer dispositivo, sem nenhuma configuração.
  • Reprodutibilidade — o mesmo motor distribuído no navegador é a biblioteca distribuída no crates.io, no Python Package Index (PyPI) e no npm; um resultado é reproduzível a partir de scenario + seed + engine version, e uma execução pode ser compartilhada como uma URL (endereço web).
  • Honestidade — executar o motor você mesmo, às claras, é o contra-argumento mais forte a "confie nos números": a camada de navegador é a superfície de auditoria.

A camada de navegador não faz do Kshana um substituto de um conjunto de processamento de desktop — ela torna a questão do estudo de trade de desempenho acessível a pessoas que nunca instalariam um.

Veja também#

  • CAPABILITY.md — o mapa de escopo linha a linha (o escopo completo e os resíduos do solucionador pvt estão na linha Processamento GNSS / PNT).
  • VALIDATION.md — o que é validado, com evidências.
  • TELECOM-TIMING.md — o tipo de cenário de temporização de telecomunicações e suas máscaras.
  • GLOSSARY.md — definições em linguagem simples dos termos usados aqui.
  • web/README.md — o playground do navegador.