Misurazioni GNSS non elaborate

Il framework Android consente di accedere a misurazioni GNSS non elaborate su diversi dispositivi Android.

Puoi trovare gli strumenti nel repository Strumenti di misurazione GPS su GitHub, che include il codice sorgente di una versione preliminare di GnssLogger ed eseguibili per l'app GNSS Analysis desktop per Linux, Windows e macOS. Manuale di installazione e utente.

Sfida sui decimetri Google Smartphone

Google, la divisione satellitare dell'Istituto di navigazione, e Kaggle, sponsorizzano la terza sfida di decimetri per smartphone presso ION GNSS+. La competizione inizia il 12 settembre 2023 e termina il 23 maggio 2024. Saranno disponibili pubblicamente oltre 150 nuove tracce contenenti misurazioni GNSS non elaborate, dati dei sensori e dati empirici reali. La partecipazione al concorso è aperta a tutti. I partecipanti sono invitati a inviare un riassunto alla sessione intitolata "Smartphone Decimeter Challenge" che si terrà al ION GNSS+ 2024.

Per ulteriori informazioni, inclusi regolamenti e normative, visita la pagina della competizione su Kaggle, che sarà pubblicata il 12 settembre 2023 alle 15:30 MDT.

Dispositivi Android che supportano le misurazioni GNSS non elaborate

Il supporto delle misurazioni GNSS non elaborate è obbligatorio sui dispositivi con Android 10 (livello API 29) o versioni successive. Su Android 9 (livello API 28) e versioni precedenti, il supporto delle misurazioni GNSS non elaborate è obbligatorio in tutti i dispositivi Android che contengono l'anno hardware 2016 o versioni successive. Attualmente, oltre il 90% dei telefoni Android esistenti presenta misurazioni non elaborate.

Il supporto di alcuni campi di misurazione GNSS non elaborati è facoltativo e può variare in base al chipset GNSS utilizzato. Ecco alcuni esempi di questi campi:

  • Frequenza di pseudointervallo e pseudointervallo.
  • Messaggio relativo alla navigazione.
  • Valore del Controllo guadagno automatico (AGC).
  • Intervallo delta accumulato (ADR) o fase dell'operatore.

La tabella seguente elenca alcuni esempi di dispositivi Android e mostra il relativo livello di supporto delle misurazioni GNSS non elaborate:

Modello Versione di Android AGC ADR (fase dell'operatore) U5 Sistemi globali
Google Pixel 4/5/6/7 12 GPS
GLO
GALLO
BDS
QZS
Xiaomi Mi 9 9 no GPS
GLO
GALLO
BDS
QZS
Xiaomi Mi 8 8.1 no GPS
GLO
GALLO
BDS
QZS
Huawei P30 Pro 9 no GPS
GLO
GALL
BDS
Huawei Mate 20 9 no GPS
GLO
GALL
BDS
One Plus 7 Pro 9 no GLO
GLO GPS

One Plus 7 9 no GLO
GLO GPS

Samsung Galaxy S20/S21 Ultra (Exynos)* 12 GPS
GLO
GALLO
BDS
QZS
Samsung Galaxy S9 (Exynos)* con Android 8.0 no no GPS
GLO
GALL
QZS
Samsung Galaxy S9 e modelli successivi con Android 8.0 no no no Calendario globale
GLO
GPS

* La versione Samsung Galaxy Exynos fornisce l'ADR negli ultimi anni. La versione di Samsung Snapdragon non fornisce ancora l'ADR.

Per ulteriori informazioni sulle definizioni dei campi di misurazione non elaborati forniti dai dispositivi Android, consulta la sezione Sistemi satellitari di navigazione globale.

I produttori di apparecchiature originali (OEM), gli sviluppatori e i ricercatori possono utilizzare gli strumenti di questa pagina per testare nuovi design per i telefoni, convalidare le funzionalità, sviluppare nuovi algoritmi, valutare miglioramenti all'implementazione del sistema GNSS e creare app a valore aggiunto.

Codice campione client SUPL

Suplclient è un codice campione che accede a supl.google.com per ottenere ephemeri in tempo reale. La classe SuplTester fornisce un esempio su come utilizzare il progetto client SUPL. L'SuplTester configura le specifiche della connessione TCP SUPL, quindi, a una determinata latitudine e longitudine, invia una richiesta LPP SUPL e stampa la risposta del server SUPL.

Informazioni sulla calibrazione dell'antenna

A partire da Android 11 (livello API 30), puoi utilizzare la classe GnssAntennaInfo per accedere alle caratteristiche dell'antenna, come le coordinate dell'offset di fase (PCO), le correzioni della variazione del centro di fase (PCV) e del guadagno del segnale. Queste correzioni possono essere applicate alle misurazioni non elaborate per migliorare l'accuratezza.

Quando utilizzi GnssAntennaInfo, tieni presente i seguenti comportamenti del sistema. Sono progettati per migliorare la privacy dell'utente.

  • Le caratteristiche fornite da questa API sono specifiche solo per il modello di dispositivo, non per un singolo dispositivo.

Registrazione delle misurazioni non elaborate

Puoi usare Android Studio per creare un'app che acquisisca misurazioni GNSS non elaborate e altri dati sulla posizione e li registri in un file. Ad esempio, il codice sorgente di un'app di questo tipo, consulta la sezione Strumenti di misurazione GPS.

Google GNSSLogger è un'app di esempio sviluppata con questa funzionalità. Per ottenere un output GNSS con l'app di esempio, il dispositivo deve supportare le misurazioni GNSS non elaborate.

Dopo aver acquisito il log GNSS utilizzando il logger GNSS, puoi copiare i file di log dal dispositivo al computer per ulteriori analisi. Da GNSS Logger puoi inviare i file a te stesso via email o salvarli su Google Drive. In alternativa, puoi salvare i file utilizzando l'app di gestione dei file sul dispositivo oppure utilizzare Android Debug Bridge (ADB) come spiegato nella sezione Copiare file su/da un dispositivo.

Analisi delle misurazioni non elaborate

L'app GNSS Analysis legge le misurazioni non elaborate GPS/GNSS raccolte dal GNSS Logger e le utilizza per analizzare il comportamento del ricevitore GNSS, come mostrato nella Figura 1.

Puoi scaricare l'app per i sistemi Linux, Windows e macOS.

Logger GNSS e analisi GNSS

Figura 1. GNSS Logger raccoglie le misurazioni che possono essere utilizzate dall'analisi GNSS.

L'app GNSS Analysis è basata su MATLAB, ma non è necessario disporre di MATLAB per eseguirla. L'app viene compilata in un eseguibile che installa una copia del runtime MATLAB.

Pannello di controllo per l'analisi GNSS

Il pannello di controllo di GNSS Analysis, mostrato nella Figura 2, consente di gestire le funzionalità dell'app, come:

  • Seleziona i satelliti da visualizzare.
  • Controlla la posizione di riferimento, la velocità e il tempo (PVT) utilizzati per calcolare gli errori di misurazione.
  • Generare report di analisi.
  • Definisci una finestra nei dati tra l'ora di inizio e l'ora di fine.

Pannello di controllo per l'analisi GNSS)

Figura 2. Pannello di controllo di GNSS Analysis

Grafici interattivi GNSS Analysis

L'app GNSS Analysis fornisce grafici interattivi organizzati in colonne di radiofrequenze (RF), orologi e misurazioni, come mostrato nella Figura 3.

Grafici interattivi GNSS Analysis)

Figura 3. App GNSS Analysis che mostra grafici interattivi.

La colonna RF mostra i seguenti dati:

  • Per ogni costellazione, i quattro satelliti con i segnali più forti.
  • Per ogni satellite, il grafico temporale dalla portante alla densità del rumore (C/No).
  • Lo skyplot delle posizioni dei satelliti.

La colonna dell'orologio mostra i seguenti dati:

  • Gli pseudointervallo.
  • La frequenza di offset dell'orologio del ricevitore, calcolata utilizzando una delle seguenti posizioni di riferimento:

    • Posizione media calcolata automaticamente.
    • Latitudine, longitudine e altitudine inserite dall'utente.
    • file della National Marine Electronics Association (NMEA) con riferimento di verità PVT.
  • L'offset dell'orologio in standby che tiene traccia dell'ora quando il ricevitore reimposta il ciclo di lavoro dell'oscillatore principale.

La colonna delle misurazioni mostra i seguenti dati:

  • I risultati della posizione dei minimi quadrati ponderati ottenuti dagli pseudointervalli non elaborati. La ponderazione viene eseguita utilizzando l'incertezza riportata per ogni misurazione, che fa parte delle specifiche non elaborate dell'API di misurazione.
  • Gli errori di ogni pseudointervallo per ogni misurazione.
  • Gli errori di ogni tasso di pseudointervallo per ogni misurazione.

Report sul test di GNSS Analysis

GNSS Analysis può generare un report di test, come mostrato nella Figura 4, che valuta l'implementazione dell'API, il segnale ricevuto, il comportamento dell'orologio e la precisione della misurazione. Per ogni caso, l'app segnala se il destinatario ha superato o meno il test in base alle prestazioni misurate rispetto a benchmark noti. Il report di test è utile per i produttori di dispositivi, che possono utilizzarlo durante l'iterazione della progettazione e dell'implementazione di nuovi dispositivi. Per generare il report di prova, fai clic su Crea report.

Report sul test di GNSS Analysis

Figura 4. Report sul test di GNSS Analysis

La scheda Confronta offre un confronto affiancato, mostrato nella Figura 5, di C/No da diversi file di log GNSS, utile per confrontare le prestazioni RF di diversi dispositivi.

C/Nessun confronto di dati affiancato

Figura 5. Confronto fianco a fianco tra dati C/No di diversi file di log

Ti interessa il codice sorgente? Il progetto dello strumento di misurazione GPS fornisce un esempio di MATLAB open source che puoi utilizzare per compiere le seguenti azioni utilizzando i segnali delle costellazioni GPS:

  • Lettura dei dati acquisiti con l'app di esempio GNSS Logger.
  • Calcola e visualizza gli pseudointervalli.
  • Calcola posizione e velocità dei minimi quadrati ponderati.
  • Visualizza e analizza la fase dell'operatore.

Note di rilascio dell'app GNSS Analysis v4.6.0.1

La versione 4.6.0.1 dell'app GNSS Analysis include i seguenti aggiornamenti:

  • Ha creato GnssAnalysisTool su Matlab R2022a, dando accesso a nuove funzionalità:
  • La finestra di stato scorre automaticamente: l'ultimo messaggio di stato è sempre visibile.
  • È stata aggiunta una tabella di confronti C/N0, per costellazione, e confronto tra L1 e L5.
  • Grafico residuo del tasso di pseudointervallo aggiunto.
  • Rimosse le schede separate per PVT di riferimento stazionario o in movimento, per vedere più facilmente quale tipo di PVT di riferimento è stato selezionato.
  • Risultati di "Crea report" spostati dal codice HTML alla finestra di stato.
  • È stata rimossa la scheda Pianificazione delle missioni. Utilizza gnssmissionplanning.com/ o www.gnssplanning.com/.
  • Correzioni relative all'analisi dei file di osservazione RINEX.
  • Utilizza la fonte di ephemeris CDDIS della NASA per GPS e GLO, quando BKG non funziona.
  • Passa da igs.bkg.bund.de a igs-ftp.bkg.bund.de
  • Non uscire dall'analisi se il download di ephemeris gal, QZSS o BDS non riesce.
  • Crea analisi Antenna CNo anche se il chipset non supporta BaseBandCNo

Manuale di installazione e utente.

Fornisci feedback

Vogliamo migliorare il supporto di GNSS su Android. Comunicaci eventuali problemi con il supporto GNSS su Android utilizzando il tracker dei problemi GNSS. Controlla se il problema è già stato risolto nelle Domande frequenti prima di pubblicarlo.

Se hai utilizzato gli strumenti di analisi GNSS, ti invitiamo a rispondere a un breve sondaggio per fornire il tuo feedback. In caso di altre domande o se hai una richiesta di assistenza, consulta le risorse di assistenza per gli sviluppatori.

Puoi trovare le risposte alle domande frequenti nelle Domande frequenti sugli strumenti di analisi GNSS.