Navigazione da satellite - Laboratorio di Geomatica
Transcript
Navigazione da satellite - Laboratorio di Geomatica
Laboratorio di Navigazione Laurea Specialistica in Ingegneria Informatica, Ingegneria per l’Ambiente e il Territorio Politecnico di Milano – Campus Como NAVIGAZIONE DA SATELLITE 1 La navigazione da satellite Per navigazione satellitare (in inglese satellite navigation), o meglio navigazione da satellite, si intende la navigazione assistita da segnali trasmessi da satelliti artificiali. Il termine può essere talvolta mal interpretato, intendendo erroneamente la navigazione dei satelliti stessi, cioè il calcolo e l’eventuale correzione della loro orbita. Cenni storici L’inizio della navigazione satellitare può essere fatto risalire al lancio del satellite russo Sputnik nel 1957. Disponendo di tale satellite nello spazio, fu possibile sviluppare studi sulla determinazione della sua orbita attraverso l’effetto Doppler. Il ragionamento inverso consente in principio di sfruttare l’informazione del satellite per il posizionamento/navigazione terrestre: se una singola stazione a terra è sufficiente per determinare l’orbita dello Sputnik tramite l’effetto Doppler, allora la posizione incognita di un ricevitore a terra può essere derivata dallo stesso tipo di osservazioni Doppler se l’orbita del satellite è già nota. Si ricorda che l’effetto Doppler produce una variazione (shift) apparente della frequenza del segnale emesso, percepita da un ricevitore in moto relativo rispetto alla sorgente. In particolare detta v la loro velocità relativa (lungo la direzione di vista), l’effetto Doppler in prima approssimazione è pari a ∆f = f r − f e = − fe v c dove fe e fr sono rispettivamente la frequenza del segnale emesso e ricevuto. In altri termini l’effetto Doppler fornisce una misura della velocità con cui si muove per esempio la sorgente emittente e, dopo integrazione nel tempo, la distanza fra sorgente e ricevitore. Lancio dello Sputnik da Baikonur Sputnik Sputnik (dettagli) Sulla base di questa esperienza, negli anni Sessanta la marina militare americana sviluppò un sistema chiamato Transit. Nel 1964 questo sistema era operativo per scopi militare; dal 1967 fu operativo anche per scopi civili. Fu dismesso nel 1996. L’idea del sistema Transit fu alla base del successivo sistema GPS. I satelliti del sistema Transit volavano su orbite circolari, polari a una quota di 1075 km (LEO=low earth orbit); tipicamente sette satelliti erano attivi e ciascuno di essi trasmetteva segnali su due portanti (a 150 e 400 MHz). Ogni volta che un satellite era a vista di una stazione di controllo, questa riceveva i due segnali emessi e sfruttando l’effetto Doppler calcolava l’orbita del satellite e trasmetteva al satellite stesso l’orbita predetta per le successive 12 ore. Nota l’orbita, era possibile per un ricevitore calcolare la sua posizione quando il satellite era a vista, con accuratezze dell’ordine della decina di metri in modalità navigazionale. 2 Satellite Transit Satellite Tsikada Occorre ricordare nel 1974 i sovietici inviarono nello spazio il sistema Tsikada che sfruttava gli stessi principi del Transit. Nominalmente il sistema è ancora operativo. Tuttavia la vera rivoluzione nella navigazione dallo spazio si deve alla seconda generazione di sistemi satellitari, lanciati intorno agli anni Ottanta, ovvero il sistema americano GPS (Global Positioning System) e la controparte russa GLONASS (GLObal Navigation Satellite System). A breve verranno affiancati da un sistema europeo denominato Galileo e da un sistema cinese denominato Compass. Satellite GPS Satellite GLONASS Global Positioning System (GPS) Il sistema di posizionamento GPS è basato sulla ricezioni di segnali radio emessi da una costellazione di satelliti artificiali in orbita attorno alla Terra. E’ progettato in maniera tale da permettere in ogni luogo e istante il posizionamento tridimensionale di oggetti anche in movimento. L’architettura del sistema è costituita da 3 parti: - Segmento spaziale, ovvero la costellazione di satelliti; - Segmento di controllo, ovvero l’insieme di stazioni a terra che gestiscono il sistema; - Segmento di utilizzo, ovvero gli utenti civili e militari che utilizzano appositi ricevitori con antenna. 3 Segmento spaziale E’ costituito nominalmente da 24 satelliti, in orbita quasi circolare attorno alla Terra ad un’altezza di circa 20200 km (MEO=mean earth orbit). Il periodo orbitale è di 12 ore. Ogni satellite ha una vita media di 7.5 anni. I 24 satelliti sono disposti su 6 piani orbitali equamente spaziati tra loro, con un inclinazione di 55° rispetto al piano equatoriale. Ci sono nominalmente quattro satelliti per piano. Costellazione GPS Una copertura globale con almeno quattro satelliti è garantita; si raggiungono fino a otto satelliti con un’elevazione minima di 15° sull’orizzonte, fino a 10 satelliti con un’elevazione superiore a 10° e fino a 12 satelliti con un’elevazione superiore a 5° (si definisce elevazione del satellite l’angolo fra la direzione del segnale ed il piano tangente all’ellissoide nel punto occupato dal ricevitore, vedi Figura). Elevazione del satellite η I satelliti, aventi massa dell’ordine di 800 kg e dotati di pannelli solari con una superficie di circa 7.2 m2, sono stati lanciati in varie epoche e appartengono a diversi blocchi: - Blocco I: sperimentali e lanciati dal 1978 al 1985 (ormai tutti fuori uso); - Blocco II, SVN 13-21: lanciati dal 1989 al 1990; - Blocco IIA, SVN 22-40: lanciati dal 1990 al 1997; - Blocco IIR, SVN 41-62: lanciati dal 1997 a oggi. - Blocco IIF: in fase di sviluppo. I satelliti dei Blocchi II e IIA dispongono di 4 oscillatori, di cui 2 al cesio e 2 al rubidio; quelli del Blocco IIR dispongono di 3 oscillatori al rubidio. 4 Segmento di controllo E’ costituito dalle stazioni di controllo a Terra. Sono cinque, disposte in zone equatoriali (Hawaii e Colorado Springs (USA), Ascension nel sud dell’Oceano Atlantico, Diego Garcia nell’Oceano Indiano e Kwajalein nel nord dell’Oceano Pacifico) con il compito di “tracciare” e correggere l’orbita dei satelliti, controllare e sincronizzare gli orologi dei satelliti, inviare ai satelliti le effemeridi (cioè le posizioni dei satelliti) previste per le successive 12/24 ore, che verranno a loro volta trasmesse dai satelliti agli utenti. La stazione di Colorado Spring costituisce la stazione master, raccoglie i dati dalle altre stazioni e svolge i principali calcoli computazionali. Stazione di Diego Garcia Segmento di controllo Segmento di utilizzo E’ costituito dall’utenza dotata di ricevitori con antenna. Questi sono strumenti di tipo passivo ovvero non emettono segnali ma sono in grado di acquisire dati. La posizione che verrà determinata è quella del centro di fase dell’antenna, che può essere messa in stazione su treppiede/caposaldo o essere in movimento. I ricevitori possono essere indifferentemente a Terra, su un aereo, sullo Shuttle (a 150 km da Terra) e così via. Ricevitore e antenna GPS 5 La precisione del sistema è garantita dal fatto che i segnali emessi dai satelliti sono controllati da orologi atomici, in grado di “oscillare” alla frequenza fondamentale di 10.23 MHz (corrispondente ad una lunghezza d’onda dell’ordine di 30 m). A partire da questa frequenza si generano le tre parti principali del messaggio GPS: - Portanti: 2 onde sinusoidali chiamate L1 e L2 - Codici: 2 sequenze binarie dette C/A (Coarse Acquisition Code) e P (Precise Code) - Messaggio navigazionale: codice D Portanti Sono generate moltiplicando la frequenza fondamentale per 154 (portante L1) e per 120 (portante L2), ottenendo - Portante L1: f1=1575.42 MHz, λ1≈19 cm λ2≈24 cm - Portante L2: f2=1227.60 MHz, L’utilizzo della doppia frequenza è fondamentale per eliminare diverse cause di errore, come per esempio il ritardo dovuto alla rifrazione ionosferica. Esempio di portante oscillante Codici I codici sono sequenze di valori binari (+1 oppure –1), generati da un algoritmo che si ripete periodicamente nel tempo (per tale motivo sono detti “pseudo-casuali”) e utilizzati per modulare in ampiezza le portanti. Due codici sono disponibili; definendo il periodo T del codice come il tempo necessario per la trasmissione dell’intero codice, si ha - Codice C/A: f1=0.1 * 10.23 MHz, λ1≈300 m, 1023 impulsi (chip)→ T = 1 ms λ2≈30 m, T = 37 settimane - Codice P: f2=10.23 MHz, 6 Il codice C/A è disponibile per uso civile e modula solo la portante L1; serve da identificativo del satellite (ogni sequenza è diversa da satellite a satellite). Il codice P è comune a tutti i satelliti, viene modulato su entrambe le portanti e garantisce accuratezze superiori; il sistema GPS include la possibilità da parte del gestore del sistema (Department of Defence) di rendere visibile o “mascherare” il codice P, in maniera da renderlo accessibile rispettivamente a tutti gli utenti o solo a quelli autorizzati (tipicamente militari). Questa procedura è detta Anti-Spoofing (A/S) e consiste nel criptare il codice P in codice Y (encrYpted). Modulazione della portante con codice Messaggio navigazionale Il messaggio navigazionale è un altro codice binario, modulato sulle portanti e costituito da 25 blocchi di 30 secondi ciascuno. Contiene informazioni sullo stato del satellite, sull’orologio di bordo e soprattutto sulle effemeridi del satellite, ovvero sui parametri per il calcolo della posizione dei satelliti stessi. 7 Occorre sottolineare che i satelliti del blocco IIF (modernized GPS) metteranno a disposizione una terza frequenza (denominata L5, pari a 115 volte la frequenza fondamentale) ad uso civile. La notazione L5 è stata scelta perchè attualmente i satelliti trasmettono segnali aggiuntivi chiamati L3 e L4 ad uso esclusivamente militare. E’ anche prevista la separazione tra codici per utenza civile e per utenza militare. Esistono sostanzialmente due tipi diversi di osservazioni GPS: - Osservazioni di pseudo-range (pseudo distanza) - Osservazioni di fase Osservazioni di pseudo-range Il principio si basa sulla misura del “tempo di volo”, ovvero l’intervallo di tempo tra la trasmissione del segnale da parte del satellite e la ricezione dello stesso da parte del ricevitore. La misura avviene tramite un procedimento di correlazione di due segnali. Il ricevitore, dopo aver identificato il satellite (mediante il codice C/A), è in grado di generare una replica del codice e di confrontare questa replica con il segnale ricevuto. Lo sfasamento tra i due segnali non è altro che il tempo di volo. Questo procedimento può essere effettuato indifferentemente sul codice C/A o P. Principio di misura delle osservazioni di codice Detta Prs (t ) la distanza misurata tra satellite s e ricevitore r (osservazione di pseudo-range), in linea teorica vale la relazione Prs (t ) = c∆t rs (t ) dove c è la velocità della luce nel vuoto e ∆t rs (t ) il tempo di volo osservato. Occorre tener presente diverse scale temporali, ovvero 1. scala di tempo di riferimento anche detto tempo GPS. 2. scala di tempo del satellite, che non essendo perfettamente allineato con il tempo GPS, presenterà un offset dt s (t ) 3. scala di tempo del ricevitore, con un offset dt r (t ) Si noti come gli offset (anche detti errori d’orologio) varino nel tempo, per esempio a causa di fenomeni di deriva degli orologi del satellite e del ricevitore. Il tempo di volo osservato sarà quindi uguale a ∆t rs (t ) = [t r + dt r (t )] − [t s + dt s (t )] = ∆t + dt r (t ) − dt s (t ) 8 dove tr e ts sono rispettivamente il tempo di emissione del codice e di ricezione del segnale rispetto alla scala temporale di riferimento (tempo GPS). ∆t è il tempo di volo effettivo perché riferito alla stessa scala temporale (tempo GPS) ed è dell’ordine di 66 ms, tenendo conto la quota dell’orbita del satellite. L’osservazione di pseudo-range, trascurando gli effetti atmosferici che tratteremo in seguito, può essere quindi scritta come [ Prs (t ) = ρ rs + c dt r (t ) − dt s (t ) ] Gli orologi atomici dei satelliti possono essere considerati tutti sincronizzati tra loro e il corrispondente errore d’orologio modellato con un polinomio di secondo grado. Questo introduce errori che vanno dalla decina di centimetri al metro. Lo stesso ragionamento non può essere ripetuto per gli errori d’orologio dei ricevitori, essendo questi orologi generalmente al quarzo e quindi caratterizzati da una stabilità molto minore. Una loro modellizzazione porterebbe ad errori di posizionamento dell’ordine di qualche centinaia di chilometri, assolutamente inaccettabili. Per tale motivo l’errore d’orologio del ricevitore è considerato come un’incognita insieme alla distanza ρ rs tra il satellite e il ricevitore. Tale distanza può essere scritta come ρ rs = (X r −Xs ) + (Y 2 r −Y s ) + (Z 2 r −Zs ) 2 dove ( X r Yr Z r ) sono le coordinate incognite del ricevitore, mentre ( X s Y s Z s ) sono le coordinate del satellite derivate dall’orbita dei satelliti. Queste possono essere note con precisione diversa, a seconda che si tratti di 1. effemeridi predette dal segmento di controllo e trasmesse nel segnale inviato dai satelliti a terra (quindi in tempo reale). Hanno una precisione di qualche metro. 2. effemeridi “rapide”, calcolate a posteriori (entro mezza giornata) dall’International GNSS Service (IGS). Hanno una precisione di circa 10 centimetri. 3. effemeridi “precise”, calcolate a posteriori (entro 12 giorni) sempre dall’IGS con una precisione di circa 5 centimetri. Detto ns il numero di satelliti visibili, nt il numero di epoche acquisite da ogni satellite, si ha 1. nel posizionamento statico (cioè ricevitore fermo nello stesso punto), ns* nt osservazioni e 3+ nt incognite (ovvero tre coordinate più l’errore d’orologio del ricevitore per ogni epoca), quindi 3 ns − 1 cioè sono richiesti solo due satelliti per un minimo di 3 epoche per ottenere una soluzione. Questa soluzione è comunque mal condizionata e si preferisce avere a disposizione almeno 4 satelliti che garantisce una soluzione anche con un’unica epoca di osservazione. 2. nel posizionamento cinematico il numero di incognite diventa 4nt perché le coordinate del punto cambiano da osservazione a osservazione, quindi n s nt ≥ 3 + nt nt ≥ n s nt ≥ 4 nt ns ≥ 4 cioè sono richiesti sempre almeno 4 satelliti per tracciare la traiettoria del veicolo. Osservazioni di fase Il range satellite-ricevitore può essere ottenuto anche con misure di fase sulle portanti L1 e L2. Si supponga di seguire un satellite lungo la sua orbita considerando un’epoca iniziale t0 e una generica epoca t. 9 Principio di misura delle osservazioni di fase All’istante t0 il range R osservato dal ricevitore può essere espresso come Rrs (t 0 ) = λ φ rs (t 0 ) + λ N rs (t 0 ) dove φ rs (t 0 ) è lo sfasamento osservato tra il segnale ricevuto dal satellite e la replica generata dal ricevitore, N rs (t 0 ) il numero intero di cicli compiuti dall’onda nel percorso satellite-ricevitore e infine λ la lunghezza d’onda della portante. In realtà il ricevitore misura solo φ rs (t 0 ) , mentre il termine N rs (t 0 ) costituisce una nuova incognita del problema, detta “ambiguità iniziale di fase”. All’epoca t il satellite ha percorso un tratto di orbita e la nuova misura può essere espressa ancora come Rrs (t ) = λ φ rs (t ) + λ N rs (t ) dove N rs (t ) = N rs (t 0 ) + C (t 0 , t ) Questa volta il ricevitore è in grado di contare il numero di cicli (in più o in meno) C(t0,t) compiuti dal segnale dall’epoca t0 del primo aggancio all’epoca t considerata. L’unica incognita aggiuntiva resta quindi l’ambiguità di fase iniziale all’istante t0. Ovviamente questo presuppone che durante tutto il periodo di osservazione sia mantenuto da parte del ricevitore il contatto con il satellite. La perdita di tale contatto, dovuta per esempio ad un ostacolo lungo il cammino ottico oppure a problemi circuitali del ricevitore, è detta cycle-slip e comporta la perdita del conteggio del numero di cicli interi e quindi l’introduzione di una nuova ambiguità di fase incognita. Tenendo nuovamente conto degli errori d’orologio [ Rrs (t ) = ρ rs + c dt r (t ) − dt s (t ) ] e esprimendo l’equazione di fase in termine della vera osservabile φ rs (t ) (in cicli) si ottiene ρ rs φ (t ) = − N rs (t ) + f [dt r (t ) − dt s (t )] λ s r dove la frequenza f =c /λ. 10 Per quanto riguarda la configurazione base per arrivare ad una soluzione, si ha 1. nel posizionamento statico, ns nt osservazioni e 3+nt+ns incognite (cioè vanno aggiunte le ambiguità iniziali, una per ogni satellite), quindi n s nt ≥ 3 + nt + n s nt ≥ ns + 3 ns − 1 cioè sono richiesti solo due satelliti per un minimo di 5 epoche per ottenere una soluzione. Come nel caso delle osservazioni di codice, questa soluzione è mal condizionata e si preferisce avere a disposizione almeno 4 satelliti che permette di ottenere una soluzione anche con tre epoche di osservazione. 2. nel posizionamento cinematico il numero di incognite diventa 4nt+ns perché le coordinate del punto cambiano da osservazione a osservazione, quindi n s nt ≥ 4 nt + n s nt ≥ ns ns − 4 cioè sono richiesti almeno 5 satelliti per ottenere poi una soluzione con 5 epoche di misura. Nel caso di 6 satelliti servono 3 epoche e nel caso di 8 satelliti 2 epoche. La soluzione cinematica con un’unica osservazione non è possibile a causa dell’ambiguità di fase. Occorre quindi definire una procedura di “inizializzazione”, per esempio stando inizialmente fermi fino a quando non viene stimata l’ambiguità iniziale. Sono state sviluppate anche tecniche di determinazione dell’ambiguità iniziale in movimento, dette On The Fly (OTF). La precisione delle misure GPS dipende anche dal disturbo (o ritardo) atmosferico, legato al fatto che il segnale emesso dal satellite deve attraverso l’atmosfera prima di giungere al ricevitore. La velocità di propagazione del segnale subisce variazioni dovute allo stato fisico del mezzo. Tale ritardo deve essere considerato poiché il conseguente errore di posizionamento ha un’entità superiore a 5 metri e può arrivare anche a 200 metri. Si possono individuare sostanzialmente tre tipi di disturbo atmosferico: - optical path curvature - tropospheric refraction - ionospheric refraction Curvatura del percorso Qualunque segnale elettromagnetico, nell’attraversare un mezzo, segue il percorso di minimo tempo (legge di Fermat) che non necessariamente coincide con la minima distanza geometrica. Può essere modellato secondo il seguente modello empirico R (η ) = 1.92 η + 0.6 2 dove R è l’effetto della curvatura sulla lunghezza del percorso in metri, mentre η è l’angolo di elevazione in gradi. Nel seguito si trascurerà il termine di curvatura. 11 Curvatura del percorso del segnale elettromagnetico Rifrazione troposferica La troposfera rappresenta la parte “bassa” dell’atmosfera, compresa tra la superficie della Terra e un’altezza approssimativamente di 40 km. Può essere divisa in due parti: - parte “idrostatica”: dalla superficie ad un’altezza di circa 11 km - parte “secca”: compresa fra le altezze di 11 e 40 km La rifrazione troposferica provoca sempre un ritardo del segnale per cui la misura del range risulta sistematicamente più lunga. Il ritardo troposferico è indipendente dalle frequenze ed è quindi identico per la portante L1 e L2. Dipende da parametri atmosferici (come la pressione, il vapor acqueo, la temperatura) e dall’angolo zenitale z del satellite. L’errore troposferico aumenta notevolmente superato l’angolo zenitale di 75° (ovvero 15° di elevazione). Tra i vari modelli usati per descrivere il disturbo troposferico ricordiamo quello di Saastamoinen e quello di Hopfield. Nella seguente tabella vengono riportati alcuni valori tipici, in funzione dell’elevazione del satellite. Elevazione (°) Basso (m) Medio (m) Alto (m) 15 8.9 9.2 10.4 30 4.6 4.8 5.4 45 3.3 3.4 3.8 90 2.3 2.4 2.7 Basso: clima secco e freddo. Medio: clima normale. Alto: clima caldo e umido Rifrazione ionosferica La ionosfera rappresenta la parte alta dell’atmosfera, compresa tra un’altezza di 40-50 km fino a 1000 km approssimativamente. Il disturbo ionosferico (positivo per i codici e negativo per le portanti) dipende dalla frequenza del segnale ed è dunque diverso per le portanti L1 e L2. Tale disturbo è legato sostanzialmente alla densità di elettroni liberi, che a sua volta varia in funzione dell’intensità dell’attività solare e dall’intensità di radiazione solare incidente sull’atmosfera (periodo diurno o notturno). Tra i vari modelli usati per descrivere il disturbo ionosferico ricordiamo quello di Klobuchar. Nella seguente tabella vengono riportati alcuni valori tipici, in funzione dell’elevazione del satellite. Elevazione (°) Basso (m) Medio (m) Alto (m) 15 3.9 18 180 30 2.0 10 100 45 1.4 7 70 90 1 5 50 Basso: periodo notturno. Medio: periodo diurno, normale attività solare. Alto: periodo diurno, intensa attività solare. 12 Detto J il ritardo ionosferico e T quello troposferico, l’equazione di osservazione di pseudo-range da misure di codice può essere scritta come [ ] Prs (t ) = ρ rs + c dt r (t ) − dt s (t ) + J rs (t ) + Trs (t ) mentre nel caso dell’equazione di fase si ha ρ rs J rs (t ) Trs (t ) s s φ (t ) = − N r (t ) + f [dt r (t ) − dt (t )] − + λ λ λ s r Si noti che l’effetto ionosferico sulle due portanti L1 e L2 è legato dalla seguente relazione J rs, L 2 = λ2L 2 s J r , L1 λ2L1 Oltre ai disturbi atmosferici, sono presenti altre fonti di errore come quelle legate agli effetti relativistici, alle variazioni del centro di fase dell’antenna, al multipath (che si presenta quando parte del segnale arriva all’antenna in maniera indiretta, riflesso da altre superfici), all’elettronica del ricevitore, ecc. Vi sono poi gli errori accidentali che, approssimativamente, sono dell’ordine di 3 m per il codice C/A, 30 cm per il codice P, 2 mm per le portanti. Consideriamo ora tre diverse tecniche di posizionamento/navigazione: - posizionamento assoluto (point positioning) - posizionamento relativo - GPS differenziale (DGPS o in generale DGNSS) Point positioning Per posizionamento assoluto di un ricevitore si intende la stima delle coordinate del ricevitore e del suo offset di orologio (tipicamente da osservazioni di codice). Può essere effettuato in modalità statica stazionando più tempo sullo stesso punto, oppure in modalità cinematica quando il ricevitore è in movimento. In quest’ultimo caso occorre stimare la posizione assoluta del ricevitore istante per istante disponendo di almeno 4 satelliti a vista. La stima delle incognite si basa su una soluzione ai Minimi Quadrati (MQ), dopo aver linearizzato le equazioni di osservazione (a partire da un valore approssimato delle coordinate). Essendo interessati alla soluzione navigazionale, consideriamo il problema MQ in singola epoca, ~ ~ ~ supponendo disponibili i valori approssimati delle coordinate del ricevitore ( X R , YR , Z R ); inoltre si suppongono noti i disturbi ionosferici J e troposferici T (da modelli), posizione e offset d’orologio dei satelliti (dalle effemeridi trasmesse o precise). Tenendo conto del noise di misura ν P si ha [ ] ) + (Z Prs (t ) = ρ rs (t ) + c dt r (t ) − dt s (t ) + J rs (t ) + Trs (t ) + ν P = = (X r −Xs ) + (Y 2 r −Y s 2 r −Zs ) 2 [ ] + cdt r (t ) + − cdt s (t ) + J rs (t ) + Trs (t ) + ν P 13 Linearizzando ρ rs rispetto alle coordinate del ricevitore si ha ∂ρ s ∂ρ s ∂ρ rs ~ ~ ~ ( X r − X r ) + r (Yr − Yr ) + r ( Z r − Z r ) = ∂Z r ∂Yr ∂X r ~ s Xr − X ~ = ρ~rs + (X r − X r ) + 2 2 2 ~ ~ ~ X r − X s + Yr − Y s + Z r − Z s ~ Yr − Y s ~ (Yr − Yr ) + + 2 2 2 ~ ~ ~ X r − X s + Yr − Y s + Z r − Z s ~ Zr − Z s ~ (Z r − Z r ) = + 2 2 2 ~ ~ ~ X r − X s + Yr − Y s + Z r − Z s ρ rs ≅ ρ~rs + ( ( ) ) ( ) ) ( ) ) ( ) ( ( ) ( ( ) ( ( ( ( ) ) ) ) ( ) ( ) ~ ~ ~ X −Xs Y −Y s Z −Zs ~ ~ ~ ( X r − X r ) + r ~ s (Yr − Yr ) + r ~ s = ρ~rs + r ~ s (Z r − Z r ) ρ ρ ρ r r r In questo modo l’equazione di pseudo-range linearizzata diventa s r P ~ ( X = r ) ( ) ( r r [ r ] + cdt r (t ) + ρ~rs − cdt s + J rs + Trs + ν P = ~ X ( = ) ~ ~ −Xs Yr − Y s Zr − Z s ~ ~ ~ (Z r − Z r ) + ( X r − X r ) + ~ s (Yr − Yr ) + s s ~ ~ ρ ρ ρ r ) ( ) ( ) ~ ~ −Xs Yr − Y s Zr − Z s δX r + ~ s δYr + δZ r + cdt r + brs + ν P s s ~ ~ ρ ρ ρ r dove r ~ δX r = X r − X r ; r ~ δYr = Yr − Yr ; ~ δZ r = Z r − Z r brs = ρ~rs − cdt s + J rs + Trs L’equazione ottenuta può essere scritta per ognuno dei n satelliti in vista all’epoca fissata t. Il modello dei Minimi Quadrati risulta Y0 = Ax + b + ν dove δX r δY x= r δZ r cdt r 14 A= (X~ (X~ r − X1 ρ~ 1 r 2 r − X ρ~ 2 ) (Y~ − Y ) (Z~ 1 r ( ρ~ 1 ) (Y~ − Y ) (Z~ r r 2 r −Z ρ~ 2 M ~ Yr − Y n ρ~ n M ~ Zr − Z n ρ~ n r ρ~ 2 r ) ( r − Z1 ρ~ 1 2 r M ~ Xr − X n ρ~ n r r Pr1 2 P Y0 = r M n Pr ) ) r ) ( r ) 1 1 M 1 br1 2 b b= r M n br dove il noise ν è caratterizzato dalla seguente matrice di covarianza Cνν = σ 02 Q = σ 02 I cioè le osservazioni dai vari satelliti sono considerate incorrelate e di ugual precisione. La stima MQ dei parametri x risulta δXˆ r ˆ δY xˆ = r = A + A δZˆ r cdˆt r ( ) −1 A + (Y 0 − b ) e, di conseguenza, le coordinate stimate del ricevitore sono ~ X r X r δXˆ r Y = Y~ + δYˆ r ~r r Z r Z r δZˆ r Vi sono alcuni indici grezzi, che però non tutti i ricevitori di bassa fascia rendono disponibili agli utenti, che permettono di dare un primo giudizio sulla qualità del rilevamento, sia statico che cinematico. Questi sono: - il numero dei satelliti in vista; più è alto migliore è il rilevamento, - il rapporto S/N, segnale/rumore, che è cruciale per mantenere agganciato il segnale del satellite - il PDOP (positioning dilution of precision); questo non è altro che PDOP = Tr N −1 dove N-1 = (A+A)-1 è l’inversa della matrice normale dei minimi quadrati; il PDOP, moltiplicato per σ0 rappresenta la precisione complessiva della pura determinazione geometrica del punto. Si noti che la matrice N, oltre che dal numero dei satelliti tracciati, dipende anche dalla loro posizione nel cielo visibile da Rr (sky plot). Di norma i ricevitori scartano le osservazioni per cui PDOP supera una certa soglia. 15 Oltre a PDOP talvolta si prendono in considerazione indici che rappresentano la diluizione di precisione nelle coordinate di altezza o nelle coordinate orizzontali (VDOP, HDOP); occorre tenere a mente che per motivi intrinseci si ha normalmente VDOP pari a 1.5 o 2 volte HDOP. Un point positioning in modalità navigazionale permette di ricostruire il moto con un errore dell’ordine di 1 – 3 metri (non peggiore dei 10 metri). Un notevole salto di qualità può essere ottenuto con un posizionamento/navigazione di tipo relativo. Posizionamento relativo Consideriamo due ricevitori che abbiano effettuato osservazioni da un satellite k alla medesima epoca t. I due ricevitori sono denominati master m (tipicamente fermo) e rover r (tipicamente in movimento). Consideriamo inizialmente il caso dei codici. Date le due equazioni di osservazione [ ] [ ] Pmk = ρ mk + c dt m − dt k + J mk + Tmk + ν mk Prk = ρ rk + c dt r − dt k + J rk + Trk + ν rk 16 la cosiddetta differenza singola è la differenza dei codici osservati dai due ricevitori ( ) ( ) ( ) ( Prmk = Prk − Pmk = ρ rk − ρ mk + c(dt r − dt m ) + J rk − J mk + Trk − Tmk + ν rk − ν mk ) dove è sparita la dipendenza rispetto agli errori di orologio del satellite. Si noti inoltre che le correzioni di ionosfera e troposfera sono così correlate spazialmente che se rover e master distano meno di 10 km, le loro differenze possono essere trascurate. Se ora si considerano due satelliti k e h, tracciati allo stesso istante t dai ricevitori r e m, e si effettua un’ulteriore differenziazione si ottengono le cosiddette differenze doppie, ovvero ( ) [( + [(T ) ( ) ( ) − (T )] [( )] + [(ν ) ( ) − (ν )] Prmkh = Prk − Pmk − Prh − Pmh = ρ rk − ρ mk − ρ rh − ρ mh + J rk − J mk − J rh − J mh + k r − Tmk h r − Tmh k r − ν mk h r )] − ν mh = kh kh kh = ρ rm + J rm + Trmkh + ν rm dove è sparita la dipendenza rispetto agli errori di orologio del ricevitore. Nel caso di più di 2 satelliti, uno di questi viene scelto come riferimento (pivot) e vengono effettuate le differenze doppie rispetto a lui per non creare combinazioni linearmente dipendenti. Poiché il ricevitore master sosta fermo mentre il rover si muove da punto a punto, è logico ritenere che le coordinate del master siano note con una precisione superiore e la linearizzazione viene fatta rispetto alle coordinate del ricevitore rover. La linearizzazione delle differenze doppie è equivalente a linearizzare le singole osservazioni di pseudo-range e poi calcolare le differenze doppie delle quantità linearizzate, cioè kh rm P ( ) ( ) ( ) ~ ~ ~ ~k Xr − X k Yr − Y k Zr − Z k = P − P − P − P ≅ ρ r + δX r + ~ k δYr + δZ r − ρ mk + k k ~ ~ ρr ρr ρr ~ ~ ~ X −Xh Y −Y h Z −Zh kh kh − ρ~rh + r ~ h δX r + r ~ h δYr + r ~ h δZ r − ρ mh + J rm + Trmkh + ν rm ρ ρ ρ r r r ( k r k m ( ) ( h r h m ) ) ( ) ( ) ovvero 17 kh rm P ( ) ( ~ ~ Xr − X k Xr − X h ≅ − ρ~rk ρ~rh kh kh + brm + ν rm dove ~ δX r = X r − X r ; ( ) ( )δX ( r ) ( ~ ~ Yr − Y k Yr − Y h + ~k − ρ~rh ρr ~ )δY r ( ) ( ~ ~ Zr − Z k Zr − Z h + ~k − ρ~rh ρr )δZ r + ~ δYr = Yr − Yr ; δZ r = Z r − Z r ) kh kh brm = ρ~rk − ρ mk − ρ~rh − ρ mh + J rm + Trmkh L’equazione ottenuta può essere scritta per ognuna delle n-1 doppie differenze (dove n è il numero di satelliti in vista) calcolate all’epoca t. Il modello dei Minimi Quadrati risulta Y0 = Ax + b + ν dove δX r x = δYr δZ r M ~ X~ − X k X −Xh − r ~h A = r ~k ρr ρr M ( ) ( M Y0 = Prmkh M ) M (Y~ − Y ) − (Y~ − Y ) k r ρ~ h r k r M ρ~ h r M ~ k h − − Z Z Z r − r ~h k ~ ρr ρr M (Z~ ) ( ) M kh b = brm M kh Occorre tener presente che il noise ν rm delle diverse osservazioni di differenze doppie è correlato. Consideriamo per esempio tre satelliti k, h, l , dove k è il pivot; le due differenze doppie che si possono scrivere saranno caratterizzate dal seguente noise kh ν rm = (ν rk − ν mk ) − (ν rh − ν mh ) kl ν rm = (ν rk − ν mk ) − (ν rl − ν ml ) Assumendo che le singole osservazioni di fase abbiano noise con varianza σ 02 e siano incorrelate tra loro, cioè ( ) E ν rk ,ν mh = σ 02 δ khδ rm si ha 18 ( E ν ,ν kh rm kl rm ) 4σ 02 = 2 2σ 0 per h = l per h ≠ l In generale la matrice dei cofattori Q può essere scritta come 4 2 Q= 2 2 2 2 2 4 2 2 2 O M 2 K 4 cosicché la matrice di covarianza del noise risulta Cνν = σ 02 Q Con una stima ai minimi quadrati utilizzando le differenze doppie delle osservazioni di codice si può stimare la base rispetto alla posizione del master, ricostruendo il moto con un errore dell’ordine del decimetro. Passiamo ora alle misure di fase: ρ mk Jk Tk − N mk (t ) + f [dt m − dt k (t )] − m + m + ν mk λ λ λ φ mk (t ) = ρ rk J rk Trk k k φ (t ) = − N r (t ) + f [dt r (t ) − dt (t )] − + + ν rk λ λ λ k r Le differenze singole sono date da: φ k rm ρ rk ρ mk J rk J mk Trk Tmk k k + + ν rk − ν mk = φ −φ = − − N r − N m + c(dt r − dt m ) − − − λ λ λ λ λ λ k r ( k m ) ( ) mentre le differenze doppie: φ kh rm ( = φ −φ k r k m ) − (φ h r −φ h m ) ρ rk ρ mk ρ rh ρ mh − − N rk − N mk − N rh − N mh + = − − λ λ λ λ [( )] ) ( J k J k J h J h T k T k T h T h − r − m − r − m + r − m − r − m + ν rk − ν mk − ν rh − ν mh = λ λ λ λ λ λ λ λ ρ kh J kh T kh kh kh = rm − N rm − rm + rm + ν rm [( λ λ ) ( )] λ Poiché le osservazioni di fase sono affette da un noise di almeno un ordine di grandezza più piccolo rispetto allo pseudorange, è auspicabile che la stima del moto utilizzando le differenze doppie di fase sia significativamente migliore. Tuttavia queste equazioni contengono un’incognita aggiuntiva (l’ambiguità iniziale) che si sa dover essere intera. Come visto in precedenza, la soluzione 19 navigazionale, epoca per epoca, non è possibile con le misure di fase senza una stima preliminare dell’ambiguità di fase. Una prima soluzione consiste nell’utilizzare una cosiddetta stima “float” (non intera), ovvero la seguente media nel tempo kh = Nˆ rm 1 tn − t0 Prmkh (t ) kh (t ) − φ rm ∑ λ t =t0 tn supponendo che nell’intervallo di tempo considerato non ci siano cycle-slip. Si noti che la combinazione codice-fase utilizzata non dipende dalla distanza satellite-ricevitore (geometry-free), kh può essere trascurata se master e rover non sono troppo mentre la dipendenza dalla ionosfera J rm distanti. Tuttavia la deviazione standard di tale combinazione è elevata, approssimativamente pari all’errore del codice espresso in cicli, ovvero P − φ ≅ 3 cicli λ σ Pertanto se utilizzassimo una sola epoca per stimare N, il valore trovato non solo non sarebbe intero, ma in un ragionevolmente intervallo di confidenza, diciamo 4σ , sarebbero contenuti molti valori interi accettabili come stime di N. Utilizzando invece lo stimatore prima citato, il suo scarto quadratico medio risulta ( ) σ Nˆ = P −φ λ tn − t0 σ Supponendo di avere un’osservazione al secondo, con circa 4 minuti (240 secondi) di dati senza cycle-slip, si ha ( ) σ Nˆ ≅ 3 = 0.2 cicli 15 che in un intervallo di 4σ, contiene al più un unico valore intero, ovvero la stima intera di N. Fissato N è possibile linearizzare le equazioni di fase in maniera analoga a quelle di codice e ricavare una stima delle coordinate del punto nel tempo con una precisione dell’ordine del centimetro. Si noti che per evitare cycle-slip dovuti per esempio a ostruzione del segnale, si preferisce in un rilevamento cinematico mantenere il rover fermo una decina di minuti prima di iniziare le misure, per fissare in questo modo l’ambiguità iniziale riducendo la probabilità di interferenza o cycle-slip. Talvolta per incrementare l’accuratezza della traiettoria calcolata si utilizza un approccio stop-andgo, in cui ci si ferma periodicamente, così sfruttando il maggior numero di osservazioni disponibili per il punto di stazionamento. Si ricorda infine che la distanza di 10 km tra master e rover, fissata come soglia per trascurare gli errori atmosferici, può essere significativamente incrementata con l’uso di una rete di stazioni permanenti. GPS differenziale Analogamente al caso del posizionamento relativo, anche il GPS differenziale si basa sull’uso di (almeno) due ricevitori: un master situato in un punto di coordinate note e un rover in movimento. 20 In questo caso però non vengono differenziate direttamente le osservazioni dei due ricevitori, ma la posizione nota del master viene utilizzata per calcolare le correzioni da applicare poi alle misure del rover. La tecnica del GPS differenziale si è sviluppata come contromisura alla cosiddetta Selective Availability (SA). Infatti, originariamente, il sistema GPS era stato progettato per offrire agli utenti civili un’accuratezza nella navigazione dell’ordine di 400 metri. I primi test sui satelliti del blocco I rivelarono la possibilità di ottenere accuratezze di un ordine di grandezza migliori. Per tale motivo il Dipartimento della Difesa statunitense introdusse a partire dal Marzo 1990 sui satelliti del blocco II un deterioramento del segnale (denominato Selective Availabity). Il deterioramento fu mantenuto fino al Maggio 2000. La Selective Availability consisteva di due componenti: il primo, detto δ-process, agiva sulla stabilità dell’orologio di bordo, mentre il secondo, detto ε-process, deteriorava le effemeridi trasmesse dai satelliti, ovvero l’informazione sull’orbita dei satelliti. Il disturbo risultante era dell’ordine di 50-150 metri in termini di posizionamento a terra. L’utilizzo del GPS differenziale permetteva di ovviare all’effetto della Selective Availability, ottenendo accuratezze (almeno nel posizionamento orizzontale) dell’ordine di 1-10 metri. Oggi che la Selective Availability non è più attiva, il posizionamento differenziale permette di ottenere accuratezze abbastanza elevate (dell’ordine dei decimetri) anche con ricevitori di basso costo. Il GPS differenziale consiste nell’applicare correzioni ai dati del rover sfruttando la posizione nota del master. Queste correzioni possono essere riferite o alle posizioni o alle misure. Nel primo caso, la posizione del master è prima calcolata utilizzando le osservazioni satellitari e poi confrontata con la posizione nominale (assunta nota). Sulla base di questo confronto viene calcolata la correzione (traslazione) da applicare direttamente alla posizione stimata dal rover. Questo concetto è molto semplice ma richiede che sia master che rover stiano osservando la stessa configurazione di satelliti. Questo può risultare difficoltoso specialmente nel caso di grande distanza fra master e rover oppure nel caso di ostruzioni locali per il rover. Nel secondo approccio (quello basato sulle misure), le singole misure di distanza satellite-master sono confrontate con i valori attesi per quelle distanze ricavate dalle coordinate note del master e dalle effemeridi trasmesse dal satellite. Questo confronto dà luogo a delle correzioni specifiche per ogni satellite. Tali correzioni vengono applicate direttamente alle misure del rover che poi usa i dati corretti per calcolare la sua posizione. Il vantaggio di questo approccio è che non è necessario che il rover e il master vedano la stessa configurazione di satelliti, in quanto la correzione è specifica per il singolo satellite. D’altro canto il calcolo di una correzione individuale per il singolo satellite richiede un più elevato carico computazionale da parte del master. In generale le correzioni sono trasmesse dal master al rover attraverso un opportuno collegamento telemetrico (per es. via internet o via rete telefonia cellulare). Ci concentriamo ora sulle correzioni alle misure (secondo approccio) nel caso di osservazioni di codice. Ovviamente il GPS differenziale può essere applicato anche alle osservazioni di fase (si parla in tal caso di “precise DGPS”), ma trova applicazione solo nei casi in cui è richiesta un’accuratezza molto elevata (per es. nel controllo di aerei). Nella maggior parte delle applicazioni comuni di navigazione, l’uso del codice (o eventualmente di un codice lisciato con la fase) è più che sufficiente. L’osservazione di pseudo-range del ricevitore master m può essere scritta come [ ] Pms (t ) = ρ ms (t ) + c dt m (t ) − dt s (t ) + J ms (t ) + Tms (t ) + ν ms (t ) dove ρ ms (t ) è la distanza satellite-ricevitore rispetto alle effemeridi trasmesse dal satellite (eventuali errori orbitali sono inclusi nel termine ν ms (t ) ). Comunque si tenga presente che gli errori orbitali e i 21 ritardi d’orologio del satellite sono molto diminuiti dopo la dismissione della Selective Availabity, cosicché oggi la principale fonte di errore è la rifrazione ionosferica. Il primo passo per ricavare le correzioni differenziali consiste nel confrontare il pseudo-range osservato con la distanza satellite-ricevitore derivata dalla conoscenza delle coordinate del master e delle effemeridi trasmesse del satellite, ovvero all’istante t si ha [ ] PRC ms (t ) = ρ ms (t ) − Pms (t ) = −c dt m (t ) − dt s (t ) − J ms (t ) − Tms (t ) − ν ms (t ) dove l’acronimo PRC sta per Pseudo-Range Correction. Poiché il calcolo e la trasmissione delle PRC richiedono del tempo, le correzioni differenziali arrivano al rover con un leggero ritardo. L’effetto di questo ritardo può essere ridotto estrapolando il valore del PRC all’istante t di misura del rover. Al fine di ottenere una estrapolazione lineare (di primo grado) occorre stimare la velocità di variazione del PRC, ovvero il Range Rate Correction (RRC), attraverso differenziazione numerica: dPRC ms (t ) RRC (t ) = dt s m Il valore estrapolato del PRC all’epoca t risulta quindi PRC ms (t ) = PRC ms (t ) + RRC ms (t )(t − t ) dove (t − t ) è il tempo di latenza delle correzioni differenziali. Il ricevitore rover applica poi queste correzioni alle proprie osservazioni di pseudo-range, ovvero Prs (t ) corr = Prs (t ) + PRC ms (t ) Supponendo che la correzione estrapolata al tempo t possa essere descritta con una espressione analoga a quella della correzione calcolata al tempo t , si ha [ ] [ ] Prs (t ) corr = ρ rs (t ) + c dt r (t ) − dt s (t ) + J rs (t ) + Trs (t ) + ν rs (t ) − c dt m (t ) − dt s (t ) − J ms (t ) − Tms (t ) − ν ms (t ) = s s = ρ rs (t ) + c dt rm (t ) + J rm (t ) + Trms (t ) + ν rm (t ) Si noti come sia importante che master e rover utilizzino le stesse effemeridi trasmesse, altrimenti i termini comuni di errore non si elidono. Si noti anche che i disturbi atmosferici tra satellite-master e tra satellite-rover sono molto correlati per basi fino a centinaia di km, quindi la loro differenziazione ne riduce significativamente l’effetto. Complessivamente la precedente relazione può essere semplificata come s Prs (t ) corr = ρ rs (t ) + c dt rm (t ) + ν rm (t ) dove dt rm (t ) è la combinazione degli errori d’orologio del master e del rover. L’equazione ottenuta ha una struttura del tutto identica a quella utilizzata nel point-positioning, con il vantaggio che i bias atmosferici sono ridotti per via della differenziazione. Nuovamente la combinazione degli errori d’orologio del master e del rover è da trattare come un’incognita aggiuntiva nella soluzione ai minimi quadrati, che richiede quindi la simultanea osservazione di almeno quattro satelliti comuni fra master e rover. 22 Occorre chiarire bene la differenza tra posizionamento differenziale e relativo. Mentre nel primo caso vengono applicate al tempo t delle correzioni al fine di determinare la posizione assoluta del rover, nel secondo caso vengono utilizzate misure simultanee compiute da due ricevitori al fine di determinare il vettore di base (cioè la differenza tra le due posizioni assolute). Tipicamente questa seconda procedura veniva effettuata in post-processing, dopo il rilievo. Con il Real-Time Kinematic (RTK) le misure del master (tipicamente misure di fase) sono trasmesse direttamente al rover. Contrariamente al DGPS, nessuna correzione o estrapolazione viene effettuata, ma la differenza delle due osservazioni al tempo t viene elaborata per trovare la posizione relativa del rover. Di conseguenza la traiettoria è restituita con un certo ritardo (t − t ) , ma con un’accuratezza nel posizionamento circa un ordine di grandezza meglio che nel caso del DGPS. Si noti infine che dal punto di vista teorico posizionamento differenziale e relativo coincidono se i tempi di latenza diventa nulla. Il GPS differenziale può essere basato sul concetto di singola o multipla stazione di riferimento. L’architettura con una stazione di riferimento è quella considerata fino ad ora, è molto semplice ma ha lo svantaggio che l’accuratezza nel posizionamento decresce all’aumentare della distanza fra i ricevitori, essendo gli errori meno correlati spazialmente. Nell’approccio multi-stazione, molti ricevitori di riferimento (master) sono utilizzati per generare le correzioni. Il principale vantaggio di questa soluzione è che l’area coperta dal servizio è più estesa con un’accuratezza nel posizionamento abbastanza omogenea. Lo svantaggio è rappresentato dall’aumento dei costi per l’installazione e la manutenzione e i tempi di latenza aggiuntivi nella produzione delle correzioni differenziali legati alla comunicazione fra i vari master della rete. All’interno dell’approccio multi-stazione, esistono a sua volta due tecniche per l’applicazione delle correzioni differenziali. La prima (denominata local-area differential GNSS, LAD GNSS) consiste nell’applicare al rover le correzioni del master più vicino oppure una media pesata delle correzioni di tutte le stazioni. Ovviamente questo approccio richiede un’alta densità di master nell’area servita ed è per questo motivo che è applicato soprattutto a problemi locali. La seconda tecnica (denominata wide-area differential GNSS, WAD GNSS) consiste nel calcolare una griglia di correzioni ionosferiche sull’area di interesse. Le correzioni specifiche per ogni coppia satellite-rover sono derivate tramite opportuna interpolazione dei valori sulla griglia. Sono richiesti ricevitori a doppia frequenza come master, anche se la densità delle stazioni può essere meno elevata che nel caso della LAD. Bibliografia A. Cina (2000). “GPS. Principi, modalità e tecniche di posizionamento”. Celid. B. Hofmann-Wellenhof, H. Lichtenegger, J. Collins (2001). “GPS. Theory and Practice”. Fifth, revised edition. Springer-Verlag. B. Hofmann-Wellenhof, K. Legat, M. Wieser (2003). “Navigation. Principles of positioning and guidance”. Springer-Verlag. L. Biagi (2003). Appunti del corso di Misure Geodetiche. http://geomatica.como.polimi.it/corsi/misure_geodetiche/ F. Sansò (2006). “Navigazione geodetica e rilevamento cinematico”. Polipress. 23