Il framework Android fornisce l'accesso alle misurazioni GNSS non elaborate su diversi dispositivi Android.
Puoi trovare gli strumenti nel repo 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. Manuale di installazione e dell'utente.
Sfida Google Smartphone Decimeter
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 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à 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 dell'anno 2016 o successivo. Attualmente, più del 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:
- 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 | sì | sì | sì | GPS GLO GAL BDS QZS |
Xiaomi Mi 9 | 9 | sì | no | sì | GPS GLO GAL BDS QZS |
Xiaomi Mi 8 | 8.1 | no | sì | sì | GPS GLO GAL BDS QZS |
Huawei P30 Pro | 9 | no | sì | sì | GPS GLO GAL BDS |
Huawei Mate 20 | 9 | no | sì | sì | GPS GLO GAL BDS |
One Plus 7 Pro | 9 | sì | no | sì | GPS GLO GAL |
One Plus 7 | 9 | sì | no | sì | GPS GLO GAL |
Samsung Galaxy S20/S21 Ultra (Exynos)* | 12 | sì | sì | sì | GPS GLO GAL BDS QZS |
Samsung Galaxy S9 (Exynos)* | 8.0 | no | sì | 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 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 di esempio 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 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, 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 progettate per migliorare la privacy degli utenti.
- 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.
L'app GNSS Analysis è basata su MATLAB, ma non è necessario avere MATLAB per eseguirla. L'app viene compilata in un file eseguibile che installa una copia del runtime MATLAB.
Pannello di controllo di analisi GNSS
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 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.
)
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.
)
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 indica se il ricevitore 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.
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 diversi dispositivi.
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:
- Leggi i dati acquisiti con l'app di esempio GNSS Logger.
- Calcola e visualizza i pseudointervalli.
- Calcola la posizione e la velocità con i 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 un 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 del 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, fornisci un feedback rispondendo a un breve sondaggio. Se hai altre domande o hai bisogno di assistenza, consulta le risorse di assistenza per gli sviluppatori.
Puoi trovare le risposte alle domande frequenti nelle Domande frequenti su GNSS Analysis Tools.