L'Android Framework 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 gli eseguibili per l'app GNSS Analysis per computer per Linux, Windows, e macOS. Installazione e manuale dell'utente.
Google Smartphone Decimeter Challenge
Google, la Satellite Division 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 empirici reali 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à all'ION GNSS+ 2024.
Per ulteriori informazioni, incluse le regole e le normative, 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 per le 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 per le misurazioni GNSS non elaborate è obbligatorio su 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 per alcuni campi di misurazione GNSS non elaborati è facoltativo e può variare in base al chipset GNSS utilizzato. Di seguito sono riportati alcuni esempi di questi campi:
- Pseudorange e velocità di pseudorange.
- Messaggio di navigazione.
- Valore del controller automatico del guadagno (AGC).
- Intervallo delta accumulato (ADR) o fase portante.
- Supporto multi-frequenza
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 di punta Pixel e altri smartphone di punta di importanti produttori di smartphone che non utilizzano chipset Qualcomm Snapdragon forniscono ADR (fase portante) come parte delle misurazioni non elaborate.
Nell'articolo "Crowdsourcing GNSS features of Android devices" (Crowdsourcing delle funzionalità GNSS dei dispositivi Android) viene fatto riferimento a un database delle funzionalità GNSS dei diversi dispositivi Android fornite dalla community.
Per ulteriori informazioni sulle definizioni dei campi di misurazione non elaborati forniti dai dispositivi Android, consulta Sistemi satellitari di navigazione globale.
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 le 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 del client SUPL. 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
GnssAntennaInfo classe per accedere alle
caratteristiche dell'antenna, ad esempio: coordinate dell'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 per il modello del dispositivo, non per un singolo dispositivo.
Registrazione delle misurazioni non elaborate
Puoi utilizzare Android Studio per creare un'app che acquisisce le misurazioni GNSS non elaborate e altri dati sulla posizione e li registra in un file. Per il codice sorgente di esempio 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 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 descritto in Copiare file da/su un dispositivo.
Analisi delle misurazioni non elaborate
L'app GNSS Analysis legge le misurazioni non elaborate 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 i sistemi Linux, Windows, e macOS.

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:
- Selezionare i satelliti da visualizzare.
- Controllare la posizione, la velocità e l'ora di riferimento (PVT) utilizzate per il calcolo degli errori di misurazione.
- Generare report di analisi.
- Definire una finestra nei dati tra l'ora di inizio e quella di fine.
)
Figura 2. Pannello di controllo di GNSS Analysis
Grafici interattivi di GNSS Analysis
L'app GNSS Analysis fornisce grafici interattivi organizzati in colonne di frequenza radio (RF), orologi e misurazioni, come mostrato nella Figura 3.
)
Figura 3. App GNSS Analysis che mostra i 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à di portante/rumore (C/No).
- Il grafico del cielo 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 NMEA (National Marine Electronics Association) con PVT di riferimento.
L'offset dell'orologio di standby che mantiene l'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 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 velocità di pseudorange per ogni misurazione.
Report di 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 l'accuratezza della misurazione. Per ogni caso, l'app indica se il ricevitore ha superato o meno il test in base al rendimento misurato 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.

Figura 4. Report di test di GNSS Analysis
La scheda Confronta fornisce un confronto fianco a fianco, mostrato nella Figura 5, di C/No da diversi file di log GNSS, utile per confrontare il rendimento RF di più dispositivi.

Figura 5. Confronto fianco a fianco dei dati C/No di più 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:
- Leggi 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 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:
- GnssAnalysisTool è stato creato su Matlab R2022a, che consente di accedere 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 e confrontando L1 con L5.
- È stato aggiunto il grafico dei residui della velocità di pseudorange.
- Sono state rimosse le schede separate per PVT di riferimento stazionario o in movimento, in modo da facilitare la visualizzazione del tipo di PVT di riferimento selezionato.
- I risultati di "Crea report" sono stati spostati da HTML alla finestra di stato.
- È stata rimossa la scheda Mission Planner. Utilizza gnssmissionplanning.com/ o www.gnssplanning.com/.
- Sono state apportate correzioni relative all'analisi dei file di osservazione RINEX.
- Quando BKG non funziona, viene utilizzata come origine delle effemeridi NASA CDDIS per GPS e GLO.
- È stato eseguito il passaggio da igs.bkg.bund.de a igs-ftp.bkg.bund.de.
- L'analisi non viene interrotta se il download delle effemeridi GAL, QZSS o BDS non riesce.
- Viene creata l'analisi CNo dell'antenna anche se il chipset non supporta BaseBandCNo.
Installazione e manuale dell'utente.
Fornisci feedback
Vogliamo migliorare il supporto per GNSS su Android. Segnalaci eventuali problemi relativi al supporto GNSS su Android utilizzando lo strumento di monitoraggio dei problemi GNSS. Prima di pubblicare il problema, controlla se è già stato risolto nelle Domande frequenti.
Se hai utilizzato gli strumenti di GNSS Analysis, fornisci un feedback rispondendo a un breve sondaggio. Per altre domande o richieste di assistenza, consulta Risorse di assistenza per gli sviluppatori.
Puoi trovare le risposte alle domande frequenti nelle Domande frequenti sugli strumenti di GNSS Analysis.