Medições GNSS brutas

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

Você pode encontrar as ferramentas no repositório GPS Measurement Tools no GitHub, que inclui o código-fonte de uma versão preliminar do GnssLogger e executáveis para o app GNSS Analysis para Linux, Windows e macOS. Manual do usuário e de instalação.

Desafio do Decímetro de Smartphone do Google

O Google, a divisão de satélites do Instituto de Navegação e a Kaggle estão patrocinando o 3º Desafio de Decímetro de Smartphone 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 contendo medições GNSS brutas, dados de sensores e informações empíricas precisas estarão disponíveis 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 "Desafio do smartphone decimétrico", 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 vai ao ar em 12 de setembro de 2023 às 15h30 (Horário de Brasília).

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

A compatibilidade com medições brutas de GNSS é obrigatória em dispositivos com o Android 10 (API de nível 29) 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 o ano de hardware de 2016 ou mais recente. Atualmente, mais de 90% dos smartphones Android têm medições brutas.

A compatibilidade com alguns dos campos brutos de medição de GNSS é opcional e pode variar de acordo com o chipset GNSS usado. Confira alguns exemplos desses campos:

  • Pseudodistância e taxa de pseudodistância.
  • Mensagem de navegação.
  • Valor do controlador automático de ganho (AGC, na sigla em inglês).
  • Delta de distância acumulado (ADR, na sigla em inglês) ou fase da operadora.

A tabela abaixo lista alguns exemplos de dispositivos Android e mostra o nível de suporte a medições GNSS brutas:

Modelo Versão do Android CAG ADR (fase da operadora) L5 Sistemas globais
Google Pixel 4/5/6/7 12 sim sim sim GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 sim não sim GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 não sim sim GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 não sim sim GPS
GLO
GAL
BDS
Huawei Mate 20 9 não sim sim GPS
GLO
GAL
BDS
One Plus 7 Pro 9 sim não sim GPS
GLO
GAL
One Plus 7 9 sim não sim GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 sim sim sim GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8.0 não sim não GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 não não não GPS
GLO
GAL

* A versão do Samsung Galaxy Exynos oferece ADR nos últimos anos. A versão do Samsung Snap Dragon ainda não oferece ADR.

Para mais informações sobre as definições de campos de medições brutos fornecidos por dispositivos Android, consulte Navegação global Sistemas de 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 sobre a calibragem da antena

A partir do Android 11 (nível 30 da API), é possível usar o Classe GnssAntennaInfo para acessar características da antena, como coordenadas de deslocamento central de fase (PCO), correções de variação central (PCV, na sigla em inglês) e correções de ganho de sinal. Esses 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 do modelo do dispositivo, não de um dispositivo individual.

Registrar medições brutas

É possível usar o Android Studio para criar um app que colete medições GNSS brutas e outros dados de local e os registre em um arquivo. Para ver o código-fonte desse aplicativo, consulte Ferramentas de medição de GPS.

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

Depois de capturar o registro GNSS com o GNSS Logger, você pode copiá-lo do dispositivo para o computador para análise posterior. Na seção GNSS Logger: você pode enviar os arquivos para si mesmo por e-mail ou salvá-los no Google Google Drive. Como alternativa, você pode salvar os arquivos usando o aplicativo de gerenciamento de arquivos em dispositivo, ou você pode 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 os usa para analisar o comportamento do receptor GNSS, conforme mostrado na figura 1:

É possível fazer o download do app para os 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 MATLAB, mas não é preciso usar o MATLAB para executá-lo. 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 apps como:

  • Selecionar quais satélites são exibidos.
  • Controlar a posição de referência, a velocidade e o tempo (PVT) 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 oferece gráficos interativos organizados por radiofrequência. (RF), relógios e colunas de medidas, 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 por meio de um dos posições de referência a seguir:

    • Posição média calculada automaticamente
    • Latitude, longitude e altitude inseridas pelo usuário
    • Arquivo da Associação Nacional de Eletrônicos Marinhos dos Estados Unidos (NMEA, na sigla em inglês) com PVT de referência de verdade.
  • O deslocamento do relógio de espera que marca o horário 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, derivados das pseudodistâncias brutas. 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

O GNSS Analysis 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 destinatário foi aprovado ou reprovado. o teste com base no desempenho medido em relação a comparativos de mercado conhecidos. O teste é útil para os fabricantes de dispositivos, que podem usá-lo à medida no design e na 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 Comparar oferece uma comparação lado a lado, mostrada na Figura 5, de C/No de vários arquivos de registro GNSS, que é útil ao comparar a RF o desempenho 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 Ferramenta de Medição de GPS (em inglês) oferece um exemplo de código aberto do MATLAB que você pode usar para fazer as seguintes ações com 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:

  • A GnssAnalysisTool foi criada no Matlab R2022a para oferecer 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 C/N0 por constelação e comparamos L1 a L5.
  • Gráfico residual da taxa de pseudodistância adicionado.
  • Removemos as guias separadas de Referência PVT Estacionária ou Em movimento, facilitando a visualização do tipo de PVT de referência que foi selecionada.
  • Os resultados de "Fazer relatório" foram movidos de HTML para a janela de status.
  • A guia "Planejador de missões" foi removida. Use gnsmissionplanning.com/ ou www.gnsplanning.com/.
  • Correções relacionadas à análise de arquivos de observação RINEX.
  • Retorno à fonte de efemérides do CDDIS da NASA para GPS e GLO quando o BKG não está funcionando.
  • Mover de igs.bkg.bund.de para igs-ftp.bkg.bund.de
  • Não saia da análise se o download de efêmeras de gal, QZSS ou BDS falhar.
  • Criar análise de CNo da antena mesmo que o chipset não ofereça suporte a BaseBandCNo

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

Enviar feedback

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

Se você já usou as ferramentas do GNSS Analysis, envie seu feedback respondendo a uma breve pesquisa. Se você tiver outras dúvidas ou alguma solicitação de ajuda, consulte Recursos de suporte para desenvolvedores.

Você pode encontrar respostas para as dúvidas mais comuns nas Perguntas frequentes das ferramentas do GNSS Analysis.