Android Framework consente di accedere a 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'In Institute of Navigation e Kaggle stanno sponsorizzando la 3rd Smartphone Decimeter Challenge presso ION GNSS+. La competizione inizia il 12 settembre 2023 e termina il 23 maggio 2024. Oltre 150 nuove tracce contenenti misurazioni GNSS non elaborate, dati dei sensori e dati empirici reali precisi saranno disponibili pubblicamente. 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, tra cui regole e regolamenti, visita la pagina della competizione su Kaggle, che verrà pubblicata il 12 settembre 2023 alle 15:30 MDT.
Dispositivi Android che supportano 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, 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:
- Frequenza di pseudointervallo e pseudointervallo.
- Messaggio di navigazione.
- Valore del controllo automatico del guadagno (AGC).
- Intervallo delta accumulato (ADR) o fase operatore.
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 operatore) | 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 Pro | 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 di Samsung Galaxy Exynos offre 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 campione che accede a supl.google.com per ottenere effemeridi in tempo reale. La classe SuplTester
fornisce un esempio su come utilizzare il progetto client SUPL. SuplTester
configura le specifiche della connessione SUPL TCP, quindi a determinate 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
GnssAntennaInfo
corso per accedere
caratteristiche dell'antenna, come ad esempio: coordinate di offset di fase (PCO), coordinate di fase
delle variazioni centrali (PCV) e del guadagno del segnale. Questi
le correzioni possono essere applicate alle misurazioni non elaborate per migliorarne l'accuratezza.
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 dispositivo modello predefinito, non di un singolo dispositivo.
Logging di misurazioni non elaborate
Puoi utilizzare Android Studio per creare un'app che acquisisca misurazioni GNSS non elaborate e altri dati sulla posizione e li registra 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 mediante il Logger GNSS, è possibile copiarlo dal dispositivo al computer per ulteriori analisi. Dall'interno 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 file su il dispositivo oppure puoi utilizzare 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 Linux, Windows e macOS sistemi operativi.
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 file eseguibile che installa una copia del runtime MATLAB.
Pannello di controllo 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.
- Controllare la posizione di riferimento, la velocità e il tempo (PVT) utilizzati per il calcolo errori di misurazione.
- Generare report di analisi.
- Definisci una finestra nei dati tra le ore di inizio e di fine.
)
Figura 2. Pannello di controllo di GNSS Analysis
Grafici interattivi di analisi GNSS
L'app GNSS Analysis fornisce grafici interattivi organizzati in radiofrequenza (RF), orologi e colonne di misurazioni, come mostrato nella Figura 3.
)
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 tra segnale e rumore (C/No).
- Il grafico spaziale 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 inseriti 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 riportata , 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 sul test dell'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 test è utile per i produttori di dispositivi, che possono utilizzarlo durante l'iterazione attraverso la progettazione e l'implementazione di nuovi dispositivi. a generare il test fai clic su Crea report.
Figura 4. Report sul test dell'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.
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:
- Leggi i dati acquisiti con l'app di esempio GNSS Logger.
- Calcola e visualizza gli pseudointervalli.
- Calcola la posizione e la velocità dei minimi quadrati.
- Visualizza e analizza la fase dell'operatore.
Note di rilascio dell'app GNSS Analysis v4.6.0.1
L'app GNSS Analysis 4.6.0.1 include i seguenti aggiornamenti:
- GnssAnalysisTool creato su Matlab R2022a, dando 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 fisso o in movimento, in modo da facilitare la visualizzazione del tipo di PVT di riferimento selezionato.
- Risultati di "Crea report" spostati dal codice 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.
- Crea analisi CNo dell'antenna anche se il chipset non supporta BaseBandCNo
Manuale dell'utente e di installazione.
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 o una richiesta di assistenza, consulta la pagina Assistenza per gli sviluppatori Risorse.
Puoi trovare le risposte alle domande frequenti nelle Domande frequenti su GNSS Analysis Tools.