Misurazioni GNSS non elaborate

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

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

Sfida Google Smartphone Decimeter Challenge

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

Per ulteriori informazioni, incluse norme e regolamenti, visita la pagina del concorso su Kaggle, che verrà 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 con hardware anno 2016 o versioni successive. Attualmente, oltre il 90% degli smartphone Android esistenti utilizza 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:

  • Pseudodistanza e tasso di pseudodistanza.
  • Messaggio di navigazione.
  • Valore del controllo automatico del guadagno (AGC).
  • Intervallo delta accumulato (ADR) o fase del vettore.

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 di trasporto) 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 offre ancora la funzione ADR.

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

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

Codice di esempio del client SUPL

Suplclient è un codice campione che accede a supl.google.com per ottenere effemeridi in tempo reale. La classe SuplTester fornisce un esempio di come utilizzare il progetto client SUPL. SuplTester configura le specifiche di connessione TCP SUPL, quindi invia una richiesta LPP SUPL a una determinata latitudine e longitudine 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 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 migliorarne la precisione.

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 utilizzare Android Studio per creare un'app che acquisisca le 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, consulta Strumenti di misurazione GPS.

GNSSLogger di Google è 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 non elaborate.

Dopo aver acquisito il log GNSS utilizzando il GNSS Logger, puoi copiare i file di log dal dispositivo al computer per ulteriori analisi. All'interno di GNSS Logger puoi inviarti i file via email o salvarli su Google Drive. In alternativa, puoi salvare i file utilizzando l'app di gestione dei file sul dispositivo o Android Debug Bridge (ADB) come spiegato in 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.

Analisi GNSS Logger e GNSS

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 del runtime MATLAB.

Pannello di controllo analisi GNSS

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

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

Pannello di controllo di analisi GNSS)

Figura 2. Pannello di controllo di GNSS Analysis

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 di analisi GNSS 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 della densità del rapporto tra segnale e rumore (C/No).
  • Lo skyplot delle posizioni dei satelliti.

La colonna dell'orologio mostra i seguenti dati:

  • I pseudointervalli.
  • 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 NMEA (National Marine Electronics Association) con riferimento PVT.
  • L'offset dell'orologio in standby che mantiene l'ora quando il ricevitore reimposta il duty cycle dell'oscillatore principale.

La colonna Misurazioni mostra i seguenti dati:

  • I risultati della posizione dei minimi quadrati ponderati ottenuti dai pseudointervalli non elaborati. 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 pseudointervallo per ogni misurazione.
  • Gli errori di ogni frequenza pseudorange per ogni misurazione.

Report del test di analisi GNSS

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 l'accuratezza 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 sui test è utile per i produttori di dispositivi, che possono utilizzarlo durante 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 fornisce un confronto affiancato, mostrato in figura 5, del rapporto C/No di diversi file di log GNSS, utile per confrontare le prestazioni RF di più dispositivi.

C/Confronto fianco a fianco senza dati

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

Ti interessa il codice sorgente? Il GPS Measurement Project fornisce un esempio di MATLAB open source che puoi utilizzare per eseguire le seguenti azioni utilizzando i segnali della costellazione GPS:

  • Lettura dei dati acquisiti con l'app di esempio GNSS Logger.
  • Calcola e visualizza gli pseudorange.
  • Calcola la posizione e la 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:

  • GnssAnalysisTool è stato creato su Matlab R2022a, offrendo l'accesso a nuove funzionalità:
  • Scorri automaticamente la finestra di stato: il messaggio di stato più recente è sempre visibile.
  • È stata aggiunta una tabella di confronti C/N0, per costellazione, e di confronto tra L1 e L5.
  • È stato aggiunto il grafico residuo della frequenza della pseudodistanza.
  • Sono state rimosse le schede separate per il PVT di riferimento stazionario o in movimento, in modo da vedere più facilmente quale tipo di PVT di riferimento è stato selezionato.
  • I risultati di "Crea report" sono stati spostati dall'HTML alla finestra di stato.
  • È stata rimossa la scheda Progettazione missione. Utilizza gnssmissionplanning.com/ o www.gnssplanning.com/.
  • Correzioni relative all'analisi dei file di osservazione RINEX.
  • Ripristino dell'origine delle effemeridi 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 delle effemeridi GAL, QZSS o BDS non va a buon fine.
  • Creare l'analisi CNo dell'antenna anche se il chipset non supporta BaseBandCNo

Manuale di installazione e dell'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. Prima di pubblicarlo, controlla se il tuo problema è già stato risolto nelle Domande frequenti.

Se hai utilizzato gli strumenti di analisi GNSS, ti invitiamo a fornire il tuo feedback rispondendo a un breve sondaggio. Per qualsiasi altra domanda o richiesta di assistenza, consulta la pagina Risorse di assistenza per gli sviluppatori.

Puoi trovare le risposte alle domande frequenti nelle Domande frequenti su GNSS Analysis Tools.