La risposta è complessa a causa del modo in cui funziona il sistema GPS, quindi ho intenzione di semplificare una serie di cose in modo da capire il principio, ma se sei interessato a come è davvero implementato dovrai andare a trovare un buon GPS riferimento. In altre parole, ciò che è scritto sotto ha lo scopo di darti un'idea di come funziona, ma è tecnicamente sbagliato in qualche modo. Di seguito non è abbastanza corretto per implementare il proprio software GPS.
sfondo
Tutti i satelliti trasmettono essenzialmente sulla stessa frequenza. Stanno tecnicamente camminando su tutti i segnali degli altri.
In che modo il ricevitore GPS si occupa di questo?
Innanzitutto, ogni satellite trasmette un messaggio diverso ogni mS. Il messaggio è lungo 1024 bit ed è generato da un generatore di numeri pseudo casuale.
Il ricevitore GPS riceve l'intero spettro di tutti i trasmettitori, quindi esegue un processo chiamato correlazione: genera la sequenza specifica di uno dei satelliti, lo moltiplica per l'ingresso del segnale e se il suo segnale corrisponde esattamente al segnale di un satellite, allora il correlatore ha trovato un satellite. Il mixaggio in sostanza estrae il segnale del satellite dal rumore e ha verificato che 1) abbiamo la giusta sequenza e 2) abbiamo il giusto tempismo.
Tuttavia, se non ha trovato una corrispondenza, deve spostare il segnale di un bit e riprovare, fino a quando non ha attraversato tutti i periodi di 1023 bit e non ha trovato un satellite. Quindi passa al tentativo di rilevare un satellite diverso in un periodo diverso.
A causa del time shifting (1023 bit, 1.000 trasmissioni al secondo), in teoria può cercare completamente un codice in un secondo per trovare (o determinare che non c'è nulla) in un particolare codice.
A causa del cambio di codice (al momento ci sono 32 codici PRN diversi, uno per ciascun satellite), quindi possono essere necessari più di 30 secondi per cercare ciascun satellite.
Inoltre, lo spostamento del doppler dovuto alla velocità del satellite rispetto alla velocità del suolo, significa che la base dei tempi potrebbe essere spostata fino a +/- 10kHz, richiedendo quindi la ricerca di circa 40 diversi turni di frequenza per un correlatore prima che possa rinunciare a un particolare PRN e tempistiche.
Cosa significa
Questo ci lascia con un possibile scenario peggiore (un satellite in aria, e proviamo prima tutto tranne la corrispondenza esatta) di un tempo per riparare prima un avvio a freddo (cioè, nessuna informazione sull'ora o sulla posizione del ricevitore, o posizione dei satelliti) di 32 secondi, supponendo che non facciamo ipotesi o eseguiamo trucchi intelligenti, il segnale ricevuto è buono, ecc.
Tuttavia, se hai due correlatori, hai dimezzato quel tempo perché puoi cercare due satelliti contemporaneamente. Ottieni 12 correlatori sul lavoro e richiede meno di pochi secondi. Ottieni un milione di correlatori e in teoria possono volerci alcuni millisecondi.
Ogni correlatore è chiamato "canale" per motivi di marketing. Non è del tutto sbagliato - in un certo senso, il correlatore sta demodulando una particolare frequenza codificata alla volta, che è essenzialmente ciò che fa un ricevitore radio quando si cambia canale.
Ci sono molte ipotesi che un ricevitore GPS può fare, tuttavia, che semplificano lo spazio problematico in modo tale che un generico ricevitore a 12 canali possa ottenere una soluzione, nel peggiore dei casi, in circa 1-3 minuti.
Mentre puoi ottenere una correzione 3D con un GPS a 4 canali, quando perdi un segnale GPS (va oltre l'orizzonte o vai sotto un ponte, ecc.) Quindi perdi la correzione 3D e vai alla correzione 2D con tre satelliti mentre uno di i tuoi canali tornano in modalità correlazione.
Ora il tuo ricevitore inizia a scaricare le effemeridi e l'almanacco, che consente al ricevitore di cercare in modo molto intelligente i segnali. Dopo circa 12 minuti, sa esattamente quali satelliti dovrebbero essere in vista.
Quindi la ricerca procede abbastanza rapidamente perché conosci la posizione e il codice per ciascun satellite, ma hai ancora una correzione 2D fino a quando non trovi effettivamente un nuovo satellite.
Se hai un ricevitore a 12 canali, tuttavia, puoi utilizzare 4 dei canali più potenti per fornire la tua correzione, alcuni canali per bloccare i satelliti di backup in modo che possa passare i calcoli a loro se necessario, e diversi canali per continuare a cercare i satelliti il ricevitore dovrebbe essere in grado di vedere. In questo modo non perderai mai la correzione 3D completa.
Dal momento che puoi vedere solo fino a 12 satelliti, perché dovresti avere bisogno di più di 12 canali?
Ci sono circa 24 satelliti GPS che funzionano in un dato momento, il che significa che su un punto della terra puoi davvero vederne solo la metà.
Ma ricorda: puoi cercare un solo satellite per correlatore, quindi il motivo principale per aumentare i correlatori oltre le dodici è quello di migliorare il tempo per la prima correzione e il motivo principale per migliorare quello è il consumo di energia.
Se il tuo chipset GPS deve essere alimentato continuamente, è sempre un consumo di energia di 100mW. Se, tuttavia, devi solo accenderlo una volta al secondo per soli 10mS ogni volta, riduci il consumo energetico a 1mW. Ciò significa che il telefono cellulare, il radiofaro di posizione, ecc. Possono funzionare per due ordini di grandezza più a lungo sullo stesso set di batterie, pur mantenendo una correzione in tempo reale completa sulla loro posizione.
Inoltre, con milioni di correlatori, si possono fare ricerche più esatte che possono aiutare a ridurre gli effetti delle riflessioni radio nei canyon urbani (edifici alti nelle grandi città usati per sporcare i ricevitori GPS con meno correlatori).
Infine, mentre per ottenere una correzione 3D sono necessari solo 4 satelliti, i buoni ricevitori usano più satelliti nel suo algoritmo di posizione per ottenere una correzione più accurata. Quindi è richiesto solo un ricevitore a 4 canali, ma un ricevitore a 12 canali può ottenere una maggiore precisione.
Conclusione
Quindi i milioni di correlatori:
- Accelera l'acquisizione satellitare
- Riduce il consumo energetico
- Riduce la probabilità di perdere una correzione 3D anche nei canyon urbani
- Fornisce una migliore sensibilità, consentendo correzioni in fitte foreste e persino in alcuni tunnel
- Fornisce una migliore precisione di posizionamento
Grazie a borzakk per alcune correzioni .