Medições GNSS brutas

O framework do Android oferece acesso a medições brutas de GNSS em vários dispositivos Android.

As ferramentas estão disponíveis no repositório de ferramentas de medição de GPS no GitHub, que inclui o código-fonte de uma versão preliminar do GnssLogger e executáveis para o app de análise de GNSS para computador para Linux, Windows e macOS. Manual de instalação e do usuário.

Desafio de Decímetro de Smartphone do Google

O Google, a Divisão de Satélites do Instituto de Navegação e o Kaggle estão patrocinando o 3º Desafio Decimétrico de Smartphones no ION GNSS+. A competição começa em 12 de setembro de 2023 e termina em 23 de maio de 2024. Mais de 150 novos rastros com medições brutas de GNSS, dados do sensor e informações empíricas precisas serão disponibilizados ao público. A participação na competição é aberta a todos. Os participantes são incentivados a enviar um resumo para a sessão intitulada "Smartphone Decimeter Challenge", que vai acontecer no ION GNSS+ 2024.

Para mais informações, incluindo regras e regulamentos, acesse a página da competição no Kaggle, que será lançada em 12 de setembro de 2023, às 15h30 MDT.

Dispositivos Android compatíveis com medições GNSS brutas

O suporte a medições brutas de GNSS é obrigatório em dispositivos com o Android 10 (nível 29 da API) ou versões mais recentes. No Android 9 (nível 28 da API) e versões anteriores, o suporte a medições brutas de GNSS é obrigatório em todos os dispositivos Android com hardware de 2016 ou mais recente. Atualmente, mais de 90% dos smartphones Android têm medições brutas.

O suporte para alguns dos campos de medição GNSS bruta é opcional e pode variar de acordo com o chipset GNSS usado. Veja alguns exemplos desses campos:

  • Pseudodistância e taxa de pseudodistância.
  • Mensagem de navegação.
  • Valor do controlador de ganho automático (AGC, na sigla em inglês).
  • Intervalo delta acumulado (ADR, na sigla em inglês) ou fase da operadora.
  • Suporte a várias frequências

A maioria dos smartphones de ponta do Pixel, Motorola, Samsung, Xiaomi, OnePlus e outros grandes fabricantes já é compatível com as frequências L1 e L5. Os smartphones Pixel e outros smartphones de última geração dos principais fabricantes que não usam chipsets Qualcomm Snapdragon fornecem ADR (fase de portadora) como parte das medições brutas.

Um banco de dados de recursos de GNSS de diferentes dispositivos Android com contribuições da comunidade é mencionado no artigo "Crowdsourcing GNSS features of Android devices".

Para mais informações sobre as definições de campos de medições brutas fornecidas por dispositivos Android, consulte Sistemas globais de navegação por satélite.

Fabricantes de equipamento original (OEMs), desenvolvedores e pesquisadores podem usar as ferramentas desta página para testar novos designs de smartphone, validar recursos, desenvolver novos algoritmos, avaliar melhorias na implementação do sistema GNSS e criar apps de valor agregado.

Exemplo de código de cliente SUPL

O Suplclient (em inglês) é uma amostra de código que acessa supl.google.com para conseguir efemérides em tempo real. A classe SuplTester mostra um exemplo de como usar o SUPL Client Project. O SuplTester configura as especificações de conexão TCP do SUPL e, em uma determinada latitude e longitude, envia uma solicitação SUPPL LPP e imprime a resposta do servidor SUPL.

Informações de calibração da antena

No Android 11 (nível 30 da API) e versões mais recentes, é possível usar a classe GnssAntennaInfo para acessar características da antena, como: coordenadas de deslocamento do centro de fase (PCO, na sigla em inglês), correções de variação do centro de fase (PCV, na sigla em inglês) e correções de ganho de sinal. Essas correções podem ser aplicadas às medições brutas para melhorar a precisão.

Ao usar GnssAntennaInfo, tenha em mente os seguintes comportamentos do sistema. Eles foram projetados para melhorar a privacidade do usuário.

  • As características fornecidas por essa API são específicas apenas para o modelo do dispositivo, não para um dispositivo individual.

Registrar medições brutas

Você pode usar o Android Studio para criar um app que capture medições brutas de GNSS e outros dados de local e os registre em um arquivo. Para ver um exemplo de código-fonte de um app desse tipo, consulte Ferramentas de medição de GPS.

O GNSSLogger do Google é um app de exemplo desenvolvido com essa funcionalidade. Para receber a saída do GNSS com o app de exemplo, seu dispositivo precisa ser compatível com medições brutas de GNSS.

Depois de capturar o registro do GNSS usando o GNSS Logger, você pode copiar os arquivos de registro do dispositivo para o computador para análise posterior. No GNSS Logger, é possível enviar os arquivos para você por e-mail ou salvá-los no Google Drive. Como alternativa, você pode salvar os arquivos usando o app de gerenciamento de arquivos no dispositivo ou usar o Android Debug Bridge (ADB), conforme explicado em Copiar arquivos de/para um dispositivo.

Analisar as medições brutas

O app GNSS Analysis lê as medições brutas de GPS/GNSS coletadas pelo GNSS Logger e as usa para analisar o comportamento do receptor GNSS, conforme mostrado na Figura 1.

O app está disponível para download em sistemas Linux, Windows e macOS.

GNSS Logger e GNSS Analysis

Figura 1. O GNSS Logger coleta as medições que podem ser consumidas pelo GNSS Analysis.

O app GNSS Analysis é baseado no MATLAB, mas você não precisa dele para executar o app. O app é compilado em um executável que instala uma cópia do MATLAB Runtime.

Painel de controle do GNSS Analysis

O painel de controle do GNSS Analysis, mostrado na Figura 2, permite gerenciar recursos do app, como:

  • Selecionar quais satélites são exibidos.
  • Controlar a posição, a velocidade e o tempo (PVT, na sigla em inglês) de referência usados para calcular erros de medição.
  • Gerar relatórios de análise.
  • Definir uma janela nos dados entre os horários de início e término.

Painel de controle do GNSS Analysis)

Figura 2. Painel de controle do GNSS Analysis.

Gráficos interativos do GNSS Analysis

O app GNSS Analysis fornece gráficos interativos organizados em colunas de radiofrequência (RF), relógios e medições, como mostrado na Figura 3.

Gráficos interativos do GNSS Analysis)

Figura 3. App GNSS Analysis exibindo gráficos interativos.

A coluna "RF" mostra os seguintes dados:

  • Para cada constelação, os quatro satélites com os sinais mais fortes.
  • Para cada satélite, o gráfico de tempo da taxa de densidade operadora-ruído (C/No).
  • Skyplot com as posições dos satélites.

A coluna "Clock" mostra os seguintes dados:

  • Pseudodistâncias.
  • A frequência de deslocamento do relógio do receptor, que é calculada usando uma das seguintes posições de referência:

    • Posição média calculada automaticamente
    • Latitude, longitude e altitude inseridas pelo usuário
    • Arquivo da National Marine Electronics Association (NMEA) com referência de verdade PVT.
  • O deslocamento do relógio de espera que mantém o tempo quando o receptor redefine o ciclo de trabalho do oscilador principal.

A coluna "Measurements" mostra os seguintes dados:

  • Os resultados da posição de mínimos quadrados ponderados obtidos dos pseudoranges brutos. A ponderação é feita usando a incerteza informada de cada medição, que faz parte da especificação da API de medição bruta.
  • Os erros de cada pseudodistância para cada medição.
  • Os erros de cada taxa de pseudodistância para cada medição.

Relatório de teste do GNSS Analysis

A Análise de GNSS pode gerar um relatório de teste, como mostrado na figura 4, que avalia a implementação da API, o sinal recebido, o comportamento do relógio e a precisão da medição. Para cada caso, o app informa se o receptor foi aprovado ou reprovado no teste com base no desempenho medido em relação a comparativos de mercado conhecidos. O relatório de teste é útil para os fabricantes de dispositivos, que podem usá-lo ao iterar o design e a implementação de novos dispositivos. Para gerar o relatório de teste, clique em Make Report.

Relatório de teste do GNSS Analysis

Figura 4. Relatório de teste do GNSS Analysis

A guia Compare oferece uma comparação lado a lado, mostrada na figura 5, da C/No de vários arquivos de registro do GNSS, o que é útil ao comparar o desempenho de RF de vários dispositivos.

Comparação lado a lado de dados C/No

Figura 5. Comparação lado a lado dos dados C/No de vários arquivos de registro.

Tem interesse no código-fonte? O projeto de ferramenta de medição de GPS (link em inglês) fornece um exemplo de código aberto do MATLAB (link em inglês) que pode ser usado para realizar as seguintes ações usando sinais de constelação de GPS:

  • Ler dados coletados com a amostra de app GNS Logger.
  • Calcular e visualizar pseudodistâncias.
  • Calcular a posição e a velocidade dos mínimos quadrados ponderados.
  • Visualizar e analisar a fase da operadora.

Notas da versão do app GNSS Analysis v4.6.0.1

A versão 4.6.0.1 do app GNSS Analysis inclui as seguintes atualizações:

  • Criamos a GnssAnalysisTool no Matlab R2022a, que dá acesso a novos recursos:
  • A janela de status rola automaticamente: a mensagem de status mais recente está sempre visível.
  • Adicionamos uma tabela de comparações de C/N0 por constelação e comparando L1 com L5.
  • Adição do gráfico residual da taxa de pseudodistância.
  • As guias separadas para PVT de referência estacionário ou em movimento foram removidas, facilitando a visualização do tipo de PVT de referência selecionado.
  • Os resultados de "Criar relatório" foram movidos do HTML para a janela de status.
  • A guia "Planejador de missões" foi removida. Use gnssmissionplanning.com/ ou www.gnssplanning.com/.
  • Correções relacionadas à análise do arquivo de observação RINEX.
  • Retorno à fonte de efemérides do CDDIS da NASA para GPS e GLO quando o BKG não estiver funcionando.
  • Mudança de igs.bkg.bund.de para igs-ftp.bkg.bund.de
  • Não saia da análise se o download das efemérides do GAL, QZSS ou BDS falhar.
  • Criar análise de CNo da antena mesmo que o chipset não seja compatível com BaseBandCNo

Manual de instalação e do usuário.

Enviar feedback

Queremos melhorar a compatibilidade do GNSS no Android. Informe problemas com o suporte ao GNSS no Android usando o Issue Tracker do GNSS. Verifique se seu problema já foi abordado na seção Perguntas frequentes (em inglês) antes de postá-lo.

Se você usou as ferramentas de análise de GNSS, responda a uma pesquisa rápida para enviar seu feedback. Se você tiver outras dúvidas ou quiser solicitar suporte, consulte Recursos de suporte para desenvolvedores.

Encontre respostas para perguntas frequentes nas Perguntas frequentes sobre as ferramentas de análise de GNSS.