Misurazioni GNSS non elaborate

Il framework Android fornisce l'accesso alle misurazioni GNSS non elaborate su diversi dispositivi Android.

Puoi trovare gli strumenti nel repository GPS Measurement Tools su GitHub, che include il codice sorgente di una versione preliminare di GnssLogger e file eseguibili per l'app GNSS Analysis per computer per Linux, Windows e macOS. Guida all'installazione e manuale dell'utente.

Google Smartphone Decimeter Challenge

Google, la divisione satellitare dell'Institute of Navigation e Kaggle sponsorizzano la terza edizione dello Smartphone Decimeter Challenge all'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 di riferimento precisi. La partecipazione alla competizione è aperta a tutti. I partecipanti sono invitati a inviare un abstract alla sessione intitolata "Smartphone Decimeter Challenge", che si terrà in occasione di ION GNSS+ 2024.

Per ulteriori informazioni, incluse regole e regolamenti, visita la pagina della competizione su Kaggle, che sarà disponibile dal 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 con hardware del 2016 o versioni successive. Attualmente, oltre il 90% degli smartphone Android esistenti dispone di misurazioni grezze.

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:

  • Pseudorange e velocità dello pseudorange.
  • Messaggio di navigazione.
  • Valore del controllo automatico del guadagno (AGC).
  • Intervallo delta accumulato (ADR) o fase portante.

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

Modello Versione di Android AGC ADR (carrier phase) L5 Sistemi globali
Google Pixel 4/5/6/7 12 GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 no GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 no GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 no GPS
GLO
GAL
BDS
Huawei Mate 20 9 no GPS
GLO
GAL
BDS
One Plus 7 Pro 9 no GPS
GLO
GAL
One Plus 7 9 no GPS
GLO
GAL
Samsung Galaxy S20/S21 Ultra (Exynos)* 12 GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8,0 no no GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8,0 no no no GPS
GLO
GAL

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

Per maggiori informazioni sulle definizioni dei campi delle misurazioni non elaborate fornite dai dispositivi Android, vedi Global Navigation Satellite Systems.

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

Codice di esempio del client SUPL

Suplclient è un codice campione che accede a supl.google.com per ottenere le effemeridi in tempo reale. La classe SuplTester fornisce un esempio di come utilizzare il progetto client SUPL. SuplTester configura le specifiche della connessione TCP SUPL, quindi a una determinata latitudine e longitudine invia una richiesta SUPL LPP 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, ad esempio: coordinate di offset del centro di fase (PCO), correzioni della variazione del centro di fase (PCV) e correzioni 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 degli utenti.

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

Registrazione delle misurazioni non elaborate

Puoi utilizzare Android Studio per creare un'app che acquisisca misurazioni GNSS non elaborate e altri dati sulla posizione e li registri in un file. Per un esempio di codice sorgente di un'app di questo tipo, vedi Strumenti di misurazione GPS.

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

Dopo aver acquisito il log GNSS utilizzando GNSS Logger, 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 puoi utilizzare Android Debug Bridge (ADB) come spiegato in Copiare file da/su un dispositivo.

Analisi delle misurazioni non elaborate

L'app GNSS Analysis legge le misurazioni grezze GPS/GNSS raccolte da GNSS Logger e le utilizza per analizzare il comportamento del ricevitore GNSS, come mostrato nella figura 1.

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

GNSS Logger e GNSS Analysis

Figura 1. GNSS Logger raccoglie le misurazioni che possono essere utilizzate da GNSS Analysis.

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

Pannello di controllo dell'analisi GNSS

Il pannello di controllo Analisi GNSS, mostrato nella Figura 2, ti consente di gestire le funzionalità dell'app, ad esempio:

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

Pannello di controllo dell'analisi GNSS)

Figura 2. Pannello di controllo dell'analisi GNSS

Grafici interattivi di analisi GNSS

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

Grafici interattivi di analisi GNSS)

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 del rapporto portante/densità di rumore (C/No).
  • Il diagramma delle posizioni dei satelliti.

La colonna dell'orologio mostra i seguenti dati:

  • Gli pseudorange.
  • 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 National Marine Electronics Association (NMEA) con riferimento di verità PVT.
  • L'offset dell'orologio in standby che mantiene l'ora quando il ricevitore reimposta il ciclo di lavoro dell'oscillatore principale.

La colonna Misure mostra i seguenti dati:

  • I risultati della posizione dei minimi quadrati ponderati ottenuti dalle pseudodistanze grezze. La ponderazione viene eseguita utilizzando l'incertezza segnalata di ogni misurazione, che fa parte della specifica dell'API di misurazione non elaborata.
  • Gli errori di ogni pseudorange per ogni misurazione.
  • Gli errori di ogni velocità di pseudorange per ogni misurazione.

Report del test di analisi GNSS

L'analisi GNSS 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 indica se il ricevitore ha superato o meno il test in base alle prestazioni misurate rispetto a benchmark noti. Il report del test è utile ai produttori di dispositivi, che possono utilizzarlo per iterare la progettazione e l'implementazione di nuovi dispositivi. Per generare il report del test, fai clic su Crea report.

Report del test di analisi GNSS

Figura 4. Report del test di analisi GNSS

La scheda Confronta, mostrata nella figura 5, fornisce un confronto affiancato del C/No di diversi file di log GNSS, utile per confrontare le prestazioni RF di più dispositivi.

C/No data comparison side-by-side

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

Ti interessa il codice sorgente? Il progetto GPS Measurement Tool fornisce un esempio MATLAB open source che puoi utilizzare per eseguire le seguenti azioni utilizzando i segnali delle costellazioni GPS:

  • Leggi i dati acquisiti con l'app di esempio GNSS Logger.
  • Calcola e visualizza le pseudodistanze.
  • Calcola la posizione e la velocità dei minimi quadrati ponderati.
  • Visualizza e analizza la fase portante.

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:

  • È stato creato GnssAnalysisTool su Matlab R2022a, che consente l'accesso a nuove funzionalità:
  • La finestra di stato scorre automaticamente: il messaggio di stato più recente è sempre visibile.
  • È stata aggiunta una tabella di confronti C/N0, per costellazione, che confronta L1 e L5.
  • È stato aggiunto il grafico dei residui del tasso di pseudorange.
  • Sono state rimosse le schede separate per PVT di riferimento fermo o in movimento, in modo da semplificare la visualizzazione del tipo di PVT di riferimento selezionato.
  • I risultati di "Crea report" sono stati spostati da HTML alla finestra di stato.
  • Scheda Mission Planner rimossa. Utilizza gnssmissionplanning.com/ o www.gnssplanning.com/.
  • Correzioni relative all'analisi del file di osservazione RINEX.
  • Esegui il fallback all'origine effemeridi NASA CDDIS per GPS e GLO, quando BKG non funziona.
  • Passaggio da igs.bkg.bund.de a igs-ftp.bkg.bund.de
  • Non uscire dall'analisi se il download delle effemeridi GAL, QZSS o BDS non va a buon fine.
  • Crea l'analisi CNo dell'antenna anche se il chipset non supporta BaseBandCNo

Guida all'installazione e manuale dell'utente.

Fornisci feedback

Vogliamo migliorare il supporto del GNSS su Android. Segnala eventuali problemi con il supporto GNSS su Android utilizzando lo strumento di monitoraggio dei problemi GNSS. Prima di pubblicare il tuo problema, controlla se è già stato risolto nelle Domande frequenti.

Se hai utilizzato gli strumenti di analisi GNSS, fornisci un feedback rispondendo a un breve sondaggio. Se hai altre domande o 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.