Incuriosito da un interessante articolo di Salanet, oggi ho tentato di capire meglio il funzionamento del sistema AGPS, in particolare di come funzionasse il download delle effemeridi dei satelliti GPS sui nostri dispositivi mobili.
Un po’ di teoria
Quando un sistema di navigazione GPS tenta di rilevare la sua posizione esatta, la prima operazione che deve essere in grado di eseguire è quella di riuscire ad individuare, nel minor tempo possibile, almeno tre satelliti in orbita e da questi raccogliere fondamentali indicazioni come la posizione degli stessi: è questo il famoso processo conosciuto come “fixing“. Con il fixing, infatti, il dispositivo mobile raccoglie i dati, li elabora, e quando le informazioni sono sufficienti “fissa” i satelliti. Il fixing può avvenire in tempi più o meno rapidi, in funzione della visibilità del cielo e della buona qualità del segnale ricevuto (>28 dB-Hz). Inoltre, siccome il satellite trasmette la propria posizione al terminale ogni 30 secondi, e non in ogni istante, se una qualsiasi causa interrompe lo scambio di dati, ad esempio il passaggio sotto un cavalcavia o l’avvicinarsi ad un alto edificio, il dispositivo dovrà attendere altri trenta secondi per riattivare il processo. Infine, il fixing dei satelliti, per essere coerente, va ripetuto ogni 4 ore.
Il ruolo dell’AGPS
Ed è qui che entra in gioco l’AGPS che, attraverso una connessione internet (via GPRS, via ActiveSync o via WiFi) , può preventivamente ottenere le informazioni relative alla posizione dei satelliti nell’orbita terrestre. Il problema è che, siccome i satelliti GPS non sono geostazionari, (orbitano a circa 20200 KM compiendo due orbite al giorno siderale intorno alla Terra) e la loro traiettoria può variare in misura infinitesimale rispetto a quella prestabilita, i dati scaricati attraverso il sistema AGPS saranno validi solo per un periodo di tempo limitato (che può variare da 3, 7 o 10 giorni; sul mio HTC TyTN II, per esempio, hanno una validità di 6 giorni e 23 ore) e sono in funzione di una determinata area geografica. In pratica, quindi, l’AGPS ha lo scopo di saltare la fase intermedia del “fixing”, per consentire l’avvio immediato del sistema di navigazione che non dovrà perdere tempo a cercare i satelliti (con un tempo di fixing che può variare da 10 a 30 secondi in condizioni ottimali, contro i 2-3 minuti senza AGPS)
Come scaricare manualmente le effemeridi
Bene, dopo questa spiegazione, mi è venuto spontaneo chiedermi da quali server il sistema AGPS scarica i dati e in quale formato. Dopo qualche ricerca su internet, ho capito che le effemeridi dei satelliti GPS sono contenute in un “XTRA data file” di circa 50 KB e che ha sempre il nome: xtra.bin (in qualche caso si potrà chiamare anche packedephemeris.ee).
Di solito, questo file viene scaricato da particolari server dedicati a cui i dispositivi mobili si collegano (via GPRS, via ActiveSync o via WiFi). Eccone alcuni prelevati dai registri di configurazione dei cellulari con Windows Mobile (qui un mio articolo su come ripristinare con un programma i dati dei server AGPS) o Symbian o dal file /etc/gps.conf degli smartphone con Android:
xtra1.gpsonextra.net
xtra2.gpsonextra.net
xtra3.gpsonextra.net
test.agps.com:7275
agps.orange.fr:7275
geoloc2.sfr.fr:7275
Se, però, avete la necessità di prelevare manualmente un file xtra.bin è sufficiente, per esempio, scaricare il file https://xtra1.gpsonextra.net/xtra.bin. Al momento solo i server gpsonextra.net permettono il download dei file attraverso la porta 80 (e quindi attraverso un qualsiasi browser); in particolare Android usa questa connessione HTTP sulla porta 80 (come si può appurare dal file /etc/gps.conf), mentre i dispositivi con Windows Mobile credo venga aperto un socket sulla porta 7275 di alcuni server (per cui, da questi server, non potrete scaricare il file xtra.bin direttamente dal browser).
xtra.bin sul HTC TyTN II
Dopo queste informazioni sono riuscito anche a localizzare il file xtra.bin sul mio smartphone HTC TyTN II. Infatti, ogni qualvolta lancio l’applicativo GPSRapido (QuickGPS in inglese) e vengono scaricate le effemeridi,
il file xtra.bin viene salvato sotto la cartella di sistema /Temp.
Commenti Recenti