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 ed eseguibili per l'app GNSS Analysis per computer per Linux, Windows e macOS. Manuale di installazione e dell'utente.

Google Smartphone Decimeter Challenge

Google, la divisione satellitare dell'Institute of Navigation e Kaggle sponsorizzano la terza Smartphone Decimeter Challenge 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 di fatto 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à in occasione di ION GNSS+ 2024.

Per saperne di più, incluse le regole e i regolamenti, visita la pagina della competizione su Kaggle, che sarà disponibile 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 del 2016 o versioni successive. Attualmente, oltre il 90% degli smartphone Android esistenti dispone di 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:

  • Pseudorange e frequenza di pseudorange.
  • Messaggio di navigazione.
  • Valore del controllo automatico del guadagno (AGC).
  • Intervallo delta accumulato (ADR) o fase della portante.
  • Supporto di più frequenze

La maggior parte degli smartphone di punta di Pixel, Motorola, Samsung, Xiaomi, OnePlus e altri importanti produttori di smartphone supporta già le frequenze L1 e L5. Gli smartphone Pixel di punta e altri smartphone di punta dei principali produttori di smartphone che non utilizzano chipset Qualcomm Snapdragon forniscono l'ADR (fase della portante) come parte delle misurazioni non elaborate.

Un database di funzionalità GNSS di diversi dispositivi Android, fornite dalla community, è disponibile nell'articolo "Crowdsourcing GNSS features of Android devices".

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

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

Codice campione 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, come le coordinate dell'offset del centro di fase (PCO), le correzioni della variazione del centro di fase (PCV) e le 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 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 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.

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 non elaborate.

Dopo aver acquisito il log GNSS utilizzando GNSS Logger, puoi copiare i file di log dal dispositivo al computer per un'analisi più approfondita. Da 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 oppure puoi utilizzare Android Debug Bridge (ADB) come spiegato in Copia file da/su 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.

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 di GNSS Analysis

Il pannello di controllo di GNSS Analysis, 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 l'ora di fine.

Pannello di controllo di GNSS Analysis)

Figura 2. Pannello di controllo di GNSS Analysis

Grafici interattivi di GNSS Analysis

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

Grafici interattivi di 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 della densità del rapporto portante/rumore (C/No).
  • Lo skyplot 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 della National Marine Electronics Association (NMEA) con riferimento di verità PVT.
  • L'offset dell'orologio di standby che tiene il tempo 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 pseudorange 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 pseudorange per ogni misurazione.
  • Gli errori di ogni frequenza di 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 ricevitore ha superato o meno il test in base alle prestazioni misurate rispetto ai 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 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 fianco a fianco, mostrato nella figura 5, del C/No di diversi file di log GNSS, utile per confrontare le prestazioni RF di più dispositivi.

Confronto dei dati C/No affiancati

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 della costellazione GPS:

  • Leggere i 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 di trasporto.

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:

  • Abbiamo creato GnssAnalysisTool su Matlab R2022a, che consente di accedere a nuove funzionalità:
  • Scorrimento automatico della finestra di stato: l'ultimo messaggio di stato è sempre visibile.
  • È stata aggiunta una tabella di confronti C/N0, per costellazione, e un confronto tra L1 e L5.
  • Aggiunto il grafico dei residui della velocità dello pseudorange.
  • Sono state rimosse le schede separate per PVT di riferimento stazionario 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 Stato.
  • Rimossa la scheda Mission Planner. Utilizza gnssmissionplanning.com/ o www.gnssplanning.com/.
  • Correzioni relative all'analisi dei file di osservazione RINEX.
  • Fallback alla sorgente di effemeridi CDDIS della NASA per GPS e GLO, quando BKG non funziona.
  • Spostamento 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 un'analisi CNo dell'antenna anche se il chipset non supporta BaseBandCNo

Manuale di installazione e dell'utente.

Invia il tuo feedback

Vogliamo migliorare il supporto per il GNSS su Android. Segnalaci eventuali problemi con il supporto GNSS su Android utilizzando l'Issue Tracker GNSS. Prima di pubblicare il tuo problema, controlla se è già stato affrontato nelle domande frequenti.

Se hai utilizzato gli strumenti di analisi GNSS, fornisci un feedback rispondendo a un breve sondaggio. Per altre domande o per richiedere assistenza, consulta le risorse di assistenza per gli sviluppatori.

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