• Non ci sono risultati.

Capitolo 3 Modelli e algoritmi usati nel simulatore

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 3 Modelli e algoritmi usati nel simulatore"

Copied!
49
0
0

Testo completo

(1)

Capitolo 3

Modelli e algoritmi usati nel simulatore

3.1 – Generazione del codice C/A

Il codice C/A è un codice di Gold basato su due sequenze da 1,023 chip generate mediante due shift-register, G1 e G2, di 10 elementi e pilotati da un clock a 1.023 MHz.

Utilizzando tali registri con appositi feedback, realizzati mediante sommatori modulo 2, è possibile ottenere due sequenze a massima lunghezza (MLS): si tratta di sequenze periodiche di 1,023 = 210 – 1 simboli (dove 10 è il numero di elementi del registro).

(2)

In Fig 3. 1 è rappresentato un esempio di un generatore di codici C/A. Sono visibili tutti gli elementi prima discussi con i due feedback che rispondono rispettivamente alle seguenti espressioni polinomiali:

ƒ G1 ⇒ 1 + x3 + x10 ƒ G2 ⇒ 1 + x2

+ x3 + x6 + x8 + x9 + x10.

E’ interessante notare come, a differenza di G1, G2 mandi al sommatore modulo 2 finale non la MLS, ma una sua versione ritardata ottenuta mediante la scelta di due elementi dello shift-register (frecce tratteggiate) da usare come feedback, scelta che identifica il codice e, di conseguenza, il satellite cui è assegnato. Con l’algoritmo appena descritto si dimostra che è possibile realizzare 37 codici differenti (Tab. 3.1), uno per ciascuno dei 32 satelliti, più 5 riservati per altre applicazioni quali, ad esempio, le trasmissioni da terra da parte del Control Segment.

ID del satellite Numero del codice PRN Elementi del registro sommati Ritardo in chip Primi 10 chip in ottale 1 1 2⊕6 5 1440 2 2 3⊕7 6 1620 3 3 4⊕8 7 1710 4 4 5⊕9 8 1744 5 5 1⊕9 17 1133 6 6 2⊕10 18 1455 7 7 1⊕8 139 1131 8 8 2⊕9 140 1454 9 9 3⊕10 141 1626 10 10 2⊕3 251 1504 11 11 3⊕4 252 1642 12 12 5⊕6 254 1750 13 13 6⊕7 255 1764 14 14 7⊕8 256 1772

(3)

15 15 8⊕9 257 1775 16 16 9⊕10 258 1776 17 17 1⊕4 469 1156 18 18 2⊕5 470 1467 19 19 3⊕6 471 1633 20 20 4⊕7 472 1715 21 21 5⊕8 473 1746 22 22 6⊕9 474 1763 23 23 1⊕3 509 1063 24 24 4⊕6 512 1706 25 25 5⊕7 513 1743 26 26 6⊕8 514 1761 27 27 7⊕9 515 1770 28 28 8⊕10 516 1774 29 29 1⊕6 859 1127 30 30 2⊕7 860 1453 31 31 3⊕8 861 1625 32 32 4⊕9 862 1712 ** 33 5⊕10 863 1745 ** 34 4⊕10 950 1713 ** 35 1⊕7 947 1134 ** 36 2⊕8 948 1456 ** 37 4⊕10 950 1713

Tab. 3. 1 – Codici e relativi satelliti

La prima colonna della Tab. 3.1 elenca i numeri ID dei satelliti da 1 a 32. La seconda, invece, contiene i numeri dei codici PRN relativi da 1 a 37, gli ultimi 5 dei quali non corrispondono, ovviamente, a nessun satellite.

La terza colonna indica gli elementi di G2 utilizzati per la generazione del codice, il cui ritardo, rispetto alla sequenza MLS e indicato nella colonna accanto.

(4)

Infine, i numeri elencati per ultimi rappresentano, in formato ottale, i primi dieci chip del codice e possono essere utilizzati per controllare se il codice generato è corretto.

Tab. 3. 2 –Riassunto delle caratteristiche dei codici C/A

A conclusione di questo paragrafo spiegheremo perché non si farà una trattazione ugualmente approfondita del codice P. Il motivo fondamentale risiede nel fatto che tale codice non è implementato nel simulatore (il cui scopo è quello di generare un segnale per un ricevitore C/A) in quanto sostituito con una sequenza pseudo-random di chip. Realizzare il codice P in ogni suo dettaglio non avrebbe, infatti, apportato alcun beneficio in termini di maggiore realisticità della simulazione poiché, nella realtà, il codice trasmesso è il P(Y) ottenuto dal P tramite una operazione di cifratura sconosciuta agli utenti non autorizzati e, per questo, non riproducibile.

3.2 – Struttura del segnale GPS

Come già anticipato nel Capitolo 1, i dati trasmessi dallo Space Segment hanno un bit-rate pari a 50 bit/sec e vanno a sommarsi modulo 2 ai codice P(Y) e C/A, i cui chip/rate sono rispettivamente di 10.23 Mchip/sec e 1.023 Mchip/sec.

Nel caso del segnale SPS, all’interno di un solo bit di dato, di lunghezza

1

20 msec 50 bit/sec = ,

(5)

1023

1 msec 1023 Mchip/sec= .

La gerarchia del segnale GPS (Fig. 3.2) prevede 25 frame, che si compongono

ciascuno di 5 subframe; ciascun subframe è formato a sua volta da 10 word, di lunghezza pari a 30 bit, che corrispondono ad una durata di 0.6 sec. Occorrono pertanto 6 sec per la trasmissione di un subframe e 30 sec per la trasmissione di un frame(o pagina GPS), mentre la durata complessiva del messaggio GPS è pari a 12.5

minuti(ovvero 25 pagine).

Ciascuna word è composta dai primi 24 bit, contenenti l’informazione vera e propria, mentre i restanti 6 bit sono utilizzati per il controllo della parità secondo un algoritmo piuttosto complesso, descritto di seguito.

Ogni subframe, formato da 10 word, inizia sempre, con due word ben definite, la TeLeMetry word (TLM) e la Hand-Over Word (HOW), che contengono le informazioni necessarie per la sincronizzazione di trama, il tempo di trasmissione e l’identificativo del subframe, che consente un’adeguata decodifica delle successive 8 word che contengono i dati di navigazione veri e propri.

La composizione di ciascun frame prevede 5 subframe: il primo subframe di ogni frame contiene le informazioni relative alle correzioni del clock ed alla settimana corrente, mentre il secondo ed il terzo subframe di ogni frame forniscono i parametri relativi alle effemeridi di ciascun satellite. Il quarto ed il quinto subframe, al contrario dei tre precedenti, variano a seconda del frame corrente: le informazioni sono relative agli almanacchi, allo stato dell’intero sistema, alle correzioni atmosferiche ed alla conversione tra i tempi GPS e UTC1.

1

Il subframe 4 di alcuni frame è riservato oppure destinato alla comunicazione di messaggi speciali da parte del sistema

(6)

Fig. 3. 2 – Formato del segnale GPS

3.2.1 – La Telemetry Word

Un ruolo chiave è ricoperto dalla TeLeMetry word (TLM), parola di 30 bit che

ricorre ogni 6 secondi all’inizio di ogni subframe di ogni trama ed il cui formato è illustrato in Fig. 3.3.

I primi 8 bit vanno a formare il preambolo, costituito dalla sequenza binaria 1 0 0 0 1 0 1 1, che sancisce l’inizio di un nuovo subframe; il ricevitore deve andare quindi alla ricerca del preambolo, ma di per sé questo non garantisce una corretta sincronizzazione al subframe, a causa di potenziali ambiguità con sequenze di 8 bit di dati.

(7)

Fig. 3. 3 – Formato della TLM

Una ulteriore verifica che il sistema GPS offre consiste soprattutto nella

possibilità di verificare la parità (bit 25-30), di cui parleremo nel Par. 3.2.3. I bit 9-22 sono invece destinati ad utenti autorizzati, mentre i bit 23-24 sono riservati al sistema.

3.2.2 – La Hand-Over Word

La Hand-Over Word (HOW), il cui formato2 è mostrato in Fig. 3.4, è la seconda

parola di ogni subframe, sempre successiva alla TLM Word.

Fig. 3. 4– Formato della HOW

I primi 17 bit della parola rappresentano i 17 bit più significativi del conteggio del Time–Of–Week (TOW), costituito dai 19 bit meno significativi del cosiddetto Z–

count, registro contenente le informazioni relative all’istante corrente.

2

Occorre specificare che in questa word, così come in tutto il resto del messaggio GPS, viene seguita la convenzione secondo cui il bit più significativo (MSB, Most Significant Bit) è trasmesso per primo

(8)

Come avevamo anticipato nel Cap. 1, infatti, il tempo GPS è mantenuto dal

Control Segment in riferimento alla mezzanotte (00:00 UTC) tra Sabato 5 e Domenica

6 Gennaio 1980, utilizzando come unità di misura maggiore la settimana, composta da 604,800 secondi; per questo motivo il tempo GPS, che segue una scala continua e che

pertanto può differire da quello UTC3, in quanto quest’ultimo viene periodicamente

corretto con un numero intero di secondi, si compone di due parti: una prima parte misura il numero di settimane trascorse dal 6 Gennaio 1980, mentre la seconda tiene conto dei secondi passati dallo scoccare della mezzanotte (approssimativamente 00:00 UTC) tra il Sabato e la Domenica appena scorsi. Queste due informazioni vanno a costituire lo Z–count, formato da 29 bit, dove i primi 10 sono destinati al numero della settimana, che è pertanto conteggiata modulo , mentre gli ultimi 19 sono riferiti al tempo della settimana TOW, misurato a passi di 1.5 secondi.

10

2 =1024

La Fig. 3.5 mostra la relazione tra le varie scale temporali nel computo del tempo della settimana: la prima riga rappresenta i secondi della settimana, mentre le restanti due illustrano il TOW nell’ambito rispettivamente dello Z–count e della HOW. Come si può notare, il tempo riportato all’interno della HOW ha una sensibilità di 6 secondi, ovvero quattro volte inferiore a quella dell’intero TOW (1.5 sec), in virtù dell’utilizzo di 2 bit in meno; inoltre, occorre evidenziare che il tempo riportato nella HOW si riferisce al bit iniziale del subframe successivo e non a quello corrente, come

testimoniano le frecce di Fig. 3.5.

Il bit 18 è un bit di “allerta” (il cosiddetto “Alert” Flag), che, se settato ad 1, avverte gli utenti civili che i dati che seguono possono non essere significativi, mentre il bit 19 è destinato alla segnalazione della configurazione Anti-Spoofing (AS): se è

pari ad 1, la configurazione AS è attiva.

3

(9)

Fig. 3. 5 – Relazioni tra le varie scale temporali del sistema GPS

I bit 20, 21 e 22 forniscono, secondo la convenzione di Tab. 3.3, il numero del subframe di cui la HOW fa parte, informazione indispensabile per una decodifica

opportuna dei dati che seguono nelle successive 8 parole.

I bit 23 e 24 sono, invece, riservati al sistema in modo da garantire che gli ultimi due bit (29-30) siano pari a 0, mentre gli ultimi 6 bit sono dedicati alla verifica della parità (cfr. Par. 3.2.3). Subframe Codice ID 1 001 2 010 3 011 4 100 5 101

Tab. 3. 3 – Decodifica dell’identificativo del subframe

Queste due ultime caratteristiche (bit 20-22 e bit 29-30) permettono una ulteriore verifica del sincronismo di trama: il ricevitore può, infatti, controllare che i

(10)

bit 29 e 30 ricevuti siano pari a 0 e che i bit 20-22 diano luogo ad un subframe ID

coerente con la Tab. 3.3.

3.2.3 – L’algoritmo per il controllo della parità

Una caratteristica comune a tutte le word, sia TLM e HOW che quelle dedicate ai dati, è la presenza degli ultimi 6 bit destinati al controllo della parità, pensato per incrementare le prestazioni in decodifica dei ricevitori e per ridurre od individuare eventuali errori in ricezione.

D1 = d1 ⊕D30* D2 = d2 ⊕D30* D3 = d3 ⊕D30* ---- = ---- D24 = d24⊕D30* D25 = D29*⊕ d1⊕ d2⊕ d3 ⊕ d5 ⊕ d6 ⊕ d10 ⊕ d11 ⊕ d12 ⊕ d13 ⊕ d14 ⊕ d17 ⊕ d18 ⊕ d20 ⊕d23 D26 = D30*⊕ d2⊕ d3⊕ d4 ⊕ d6 ⊕ d7 ⊕ d11 ⊕ d12 ⊕ d13 ⊕ d14 ⊕ d15 ⊕ d18 ⊕ d19 ⊕ d21 ⊕d24 D27 = D29*⊕ d1⊕ d3⊕ d4 ⊕ d5 ⊕ d7 ⊕ d8 ⊕ d12 ⊕ d13 ⊕ d14 ⊕ d15 ⊕ d16 ⊕ d19 ⊕ d20 ⊕d22 D28 = D30*⊕ d2⊕ d4⊕ d5 ⊕ d6 ⊕ d8 ⊕ d9 ⊕ d13 ⊕ d14 ⊕ d15 ⊕ d16 ⊕ d17 ⊕ d20 ⊕ d21 ⊕d23 D29 = D30*⊕ d1⊕ d3⊕ d5 ⊕ d6 ⊕ d7 ⊕ d9 ⊕ d10 ⊕ d14 ⊕ d15 ⊕ d16 ⊕ d17 ⊕ d18 ⊕ d21 ⊕d22⊕ d24 D30 = D29*⊕ d3⊕ d5⊕ d6 ⊕ d8 ⊕ d9 ⊕ d10 ⊕ d11 ⊕ d13 ⊕ d15 ⊕ d19 ⊕ d22 ⊕ d23 ⊕ d24 1

D, D2, …, D29, D30 sono i bit trasmessi dal satellite;

1

d , d2, …, d24 sono i bit dei dati di sorgente;

25

D , D26, …, D30 sono i bit di parità calcolati;

*

è il simbolo usato per identificare gli ultimi due bit della word precedente;

Tab. 3. 4– Equazioni per il controllo della parità

L’algoritmo, le cui equazioni sono illustrate in Tab. 3.4, non si limita ad utilizzare i 24 bit presenti nella word, ma coinvolge anche gli ultimi due bit della word

(11)

precedente, indicati con e . Come possiamo notare, infatti, le quantità che entrano in gioco sono i 24 bit , ottenuti sommando modulo 2 i bit ricevuti con . Una volta che il ricevitore ha calcolato, secondo le equazioni di Tab. 3.4, i bit , può confrontarli con i bit ricevuti e, nel caso in cui essi coincidano, la parità è verificata; in caso contrario, la causa dell’errore va ricercata tipicamente nel sincronismo di simbolo e soprattutto in quello di trama: in questo caso, occorre controllare nuovamente la parità nelle successive word e, se l’errore persiste, sarà necessario avviare una nuova procedura di sincronismo, scartando tutti i dati finora ricevuti.

* 29 D * 30 D i d Di * 30 D 25... 30 D D D25...D30 3.2.4 – Subframe 1

Il subframe 1 presenta un formato (Fig. 3.6) che non dipende dal numero di trama corrente e pertanto si ripete ogni 30 secondi, corrispondenti al tempo di trasmissione di 5 subframe (un frame).

Le otto parole di dati, costituite complessivamente da 240 bit, contengono un totale di 190 bit informativi, se si escludono i 6 8× =48bit destinati alla parità ed i due bit della parola 10 (bit 23-24), riservati per garantire la parità nella TLM word

successiva.

I primi 10 bit della word 3 contengono i 10 bit più significativi dello Z – count (cfr. Par. 3.2.2), vale a dire la rappresentazione binaria (modulo 1024) della settimana GPS corrente, che si va ad accompagnare all’informazione del TOW ottenuta nella

(12)

Fig. 3. 6 – Formato del subframe 1

I bit 11-12 della stessa parola indicano il codice utilizzato sulla portante L2, che può contenere o meno dati di navigazione a seconda che il bit L2 P Data Flag, corrispondente al bit 1 della word 4, valga rispettivamente 0 o 1 (cfr. Tab. 3.5), mentre i bit 13-16 forniscono l’indice URA (User Range Accuracy) del satellite trasmittente, che consente una stima dell’incertezza della posizione del satellite calcolata con i parametri forniti nel resto del messaggio (Tab. 3.6).

I bit 17-22 rappresentano, invece, la salute del satellite (SV Health), parametro

(13)

è pari a 0, tutti i dati di navigazione sono corretti, altrimenti possono esserci degli errori4.

Tab. 3. 5 – Valori del parametro URA

Indice URA URA (in metri) Indice URA URA (in metri)

0 0.00<URA≤2.40 8 48.00<URA≤96.00 1 2.40<URA≤3.40 9 96.00<URA≤192.00 2 3.40<URA≤4.85 10 192.00<URA≤384.00 3 4.85<URA≤6.85 11 384.00<URA≤768.00 4 6.85<URA≤9.65 12 768.00<URA≤1536.00 5 9.65<URA≤13.65 13 1536.00<URA≤3072.00 6 13.65<URA≤24.00 14 3072.00<URA≤6144.00 7 24.00<URA≤48.00 15 URA>6144.00*

* nessuna accuratezza è garantita: gli utenti non autorizzati usano i dati del satellite a loro rischio

I bit 23-24 della parola 3 costituiscono i 2 MSB del termine IODC (Issue Of Data,

Clock), che contraddistingue un intero set di parametri di correzione del clock,

l’informazione principale contenuta all’interno del primo subframe. Lo IODC5, i cui 8

LSB (Least Significant Bit) si trovano nei primi 8 bit della word 8, serve infatti, insieme al termine IODE, descritto nel Par. 3.2.5, a verificare la coerenza tra i vari parametri orbitali; per il calcolo delle coordinate dell’utente occorrono posizione e distanza del satellite, che possono essere ricavate solo disponendo degli stessi set di dati sia per quanto riguarda il clock che per quanto concerne le effemeridi.

I bit 17-24 della parola 7 codificano il termine di correzione per il ritardo di

gruppo TGD, destinato ad utenti che utilizzano, come nel nostro caso, una sola

4

Per informazioni esaustive su tutti i possibili valori e relativi significati del parametro SV Health, si veda [11]

5

(14)

frequenza (L1). Il tempo di riferimento del clock è contenuto nei bit 9-24 della parola 8, mentre i coefficienti per la correzione della fase del clock

oc t 0 f a , 1 f a e 2 f a

sono da ricercarsi rispettivamente nei bit 1-22 della parola 10, nei bit 9-24 della parola 9 e nei bit 1-8 ancora della parola 9. Le parole 4, 5, 6 ed i bit 1-16 della parola 7 sono, invece, riservati al sistema.

La Tab. 3.6 riporta i fattori di scala e le unità di misura di ciascun parametro contenuto all’interno del subframe 1.

Tab. 3. 6 – Parametri del subframe 1

Parametro Numero di bit† Fattore di scala Unità di misura Codice su L2 2 L2 P Data Flag 1

Week Number (WN) 10 1 settimane

Indice URA 4 (cfr. Tab. 3.5) SV Health 6 GD T 8* 31 2− sec IODC 10 oc t 16 4 2 sec 0 f a 22* 2−31 sec 1 f a 16* 2−43 sec/sec 2 f a 8* 2−55 sec/sec2

I parametri indicati con * sono rappresentati in complemento a 2 (con il bit di segno che occupa il posto più significativo)

(15)

3.2.5 – Subframe 2 e 3

I subframe 2 e 3, come il subframe 1, non variano al variare del numero di trama, per cui ricorrono ogni 30 secondi all’interno del messaggio GPS. Anche in

questo caso, i bit informativi di ciascun subframe sono in totale 190, come si può notare nelle Figg. 3.7 e 3.8, dove è illustrato il formato dei due subframe in esame.

Il contenuto principale di essi è costituito dai parametri delle effemeridi, presentati nella formulazione classica kepleriana in riferimento al sistema di coordinata di tipo Earth-Centered Earth-Fixed (ECEF), definito nel Cap. 2.

Fig. 3. 7 – Formato del subframe 2

L’unico dato non appartenente al set di parametri delle effemeridi è il cosiddetto

Age Of Data Offset (AODO), collocato nei bit 18-22 della word 10, cui fa riferimento

(16)

Il primo parametro trasmesso è il cosiddetto IODE (Issue Of Data, Ephemeris),

sia nei bit 1-8 della word 3 del subframe 2 che nei bit 1-8 della word 10 del subframe 3, che consente di distinguere un determinato set di dati delle effemeridi; affinché i dati di navigazione siano consistenti, tale valore deve essere coerente con lo IODC: in

particolare, se IODE è pari a IODC mod 256, i dati del clock e delle effemeridi sono

significativi, altrimenti occorre attendere una ulteriore trama.

Fig. 3. 8 – Formato del subframe 3

Il tempo di riferimento delle effemeridi è codificato nei bit 1-16 della word 10 del subframe 2, seguito da un flag (Fit Interval Flag, bit 17) che, se settato a 0, indica che l’intervallo di linearizzazione ai minimi quadrati della curva usato dal Control Segment nel computo delle effemeridi è di 4 ore, mentre risulta maggiore se uguale ad 1.

oe

(17)

L’eccentricità è data dai bit 17-24 di word 6 (MSB) e 1-24 di word 7 (LSB) del

subframe 2, mentre la radice quadrata del semiasse maggiore orbitale

e

A è riportata

nei bit 17-24 della parola 8 (MSB) e 1-24 della parola 9 (LSB) ancora del subframe 2.

L’angolo di inclinazione è codificato nei bit 17-24 di word 5 (MSB) e 1-24 di

word 6 (LSB) del subframe 3, mentre il suo tasso di variazione è collocato nei bit 9-22 della word 10 dello stesso subframe.

0

i

/

di dt

Tab. 3. 7 – Parametri dei subframe 2 e 3

Parametro Numero di bitFattore di scala Unità di misura IODE 8 – – oe t 16 24 sec 0 M 32* 2−31 semicerchi n ∆ 16* 43 2− semicerchi/sec e 32 2−33 A 32 2−19 m1/2 0 Ω 32* 2−31 semicerchi 0 i 32* 2−31 semicerchi ω 32* 31 2− semicerchi Ω 24* 2−43 semicerchi/sec / di dt 14* 2−43 semicerchi/sec uc C 16* 29 2− rad us C 16* 29 2− rad rc C 16* 5 2− m rs C 16* 2−5 m ic C 16* 2−29 rad is C 16* 2−29 rad

I parametri indicati con * sono rappresentati in complemento a 2 (con il bit di segno che occupa il posto più significativo)

(18)

La longitudine del nodo ascendente Ω0 è inserita nei bit 17-24 della parola 3 (MSB) e 1-24 della parola 4 (LSB) del subframe 3, mentre il suo tasso di variazione

si trova nei bit 1-24 della word 9 dello stesso subframe.

L’argomento del perigeo ω è dato dai bit 17-24 di word 7 (MSB) e 1-24 di word 8 (LSB) del subframe 3, mentre l’anomalia media M è codificata nei bit 1-24 della 0

parola 4 (MSB) e 1-24 della parola 5 (LSB) del subframe 2.

La differenza di moto medio n∆ rispetto a quello nominale n è rappresentata dai bit 1-16 di word 4 del subframe 2, mentre i termini di correzione armonica di latitudine, raggio orbitale ed inclinazione, indicati rispettivamente con , , ,

, e , sono riportati all’interno delle varie parole come mostrato nelle Figg. 3.7 e 3.8.

uc

C Cus Crc

rs

C Cic Cis

Nella Tab. 3.7 sono riportati i fattori di scala, il numero di bit e l’unità di misura di ciascuno dei parametri delle effemeridi, con cui sono codificati i dati all’interno dei subframe 2 e 3.

3.2.6 – Subframe 4

Il subframe 4 varia il proprio contenuto in funzione del numero di trama corrente; una caratteristica comune a tutti i formati è però la presenza, nei bit 1-3 della word 3, del cosiddetto SV (Page) ID, che consente, attraverso un’associazione univoca nota al ricevitore6, di risalire al numero di frame.

I possibili formati del subframe 4 sono i seguenti:

6

(19)

a) trame 1, 6, 11, 12, 16, 19, 20, 21, 22, 23, 24: riservato ad utenti autorizzati

b) trame 14, 15: riservato al sistema

c) trama 17: riservato alla trasmissione di messaggi speciali d) trama 13: Navigation Message Correction Table (NMCT)

e) trame 2, 3, 4, 5, 7, 8, 9, 10: dati degli almanacchi relativi ai SV 25…..327 f) trama 18: dati ionosferici e UTC

g) trama 25: AS flag dei 32 satelliti e parametri di funzionamento dei SV 25– 32

Non ci occupiamo dei formati (a), (b) e (c), ai quali gli utenti non autorizzati (civili) non possono accedere.

Fig. 3. 9 – Formato del subframe 4 della trama 13

7

Il SV (Satellite Vector) è l’identificativo del satellite, cui è associato in modo univoco un codice PRN, indicato con lo stesso numero

(20)

Il formato (d), riportato in Fig. 3.9, contraddistinto da SV (Page) ID pari a 52,

consente di ottenere i parametri per il calcolo dell’errore stimato sulla distanza, il cosiddetto ERD (Estimated Range Deviation), dovuto alla componente radiale delle

effemeridi cui è sottratto l’errore del clock moltiplicato per la velocità della luce. Il formato (e) è identico a quello del subframe 5 delle prime 24 trame, per cui si rimanda al Par. 3.2.7.

Fig. 3. 10 – Formato del subframe 4 della trama 18

In Fig. 3.10 è riportato, invece, il formato (f), ovvero la struttura del subframe 4 della trama 18, contraddistinto da SV (Page) ID pari a 56, contenente i parametri di correzione ionosferica ed i dati per la conversione da tempo GPS a tempo UTC.

I parametri di correzione ionosferica sono comuni a tutto il sistema GPS; una considerazione importante consiste nel fatto che, poiché tali informazioni ricorrono solo una volta ogni 12.5 minuti ed hanno validità anche di diversi giorni, è opportuno,

(21)

una volta ricevute, memorizzarle in una memoria non volatile, da cui attingere anche nelle successive accensioni; è infatti impensabile che la fase di Positioning debba attendere, ad ogni attivazione del dispositivo, i dati provenienti dal subframe della trama 18, che nel caso peggiore può richiedere 12.5 minuti, rendendo così il ricevitore estremamente poco reattivo.

Tab. 3. 8 – Parametri di correzione ionosferica

Parametro Numero di bitFattore di scala Unità di misura 0 α 8* 2−30 sec 1 α 8* 2−27 sec/semicerchi 2 α 8* 2−24 sec/semicerchi2 3 α 8* 24 2− sec/semicerchi3 0 β 8* 11 2 sec 1 β 8* 214 sec/semicerchi 2 β 8* 216 sec/semicerchi2 3 β 8* 216 sec/semicerchi3

I parametri indicati con * sono rappresentati in complemento a 2 (con il bit di segno che occupa il posto più significativo)

In Tab. 3.8 sono riportate le caratteristiche relative agli otto parametri di correzione ionosferica, indicati rispettivamente con α0, α1, α2, α3, β0, β1, β2 e β3.

Il Data ID, riportato nei bit 1-2 della word 3, è relativo al SV (Page) ID del

satellite trasmettente, mentre, come già anticipato, SV ID è pari a 56. 0

α e α1 sono codificati nei bit 9-16 e 17-24 della word 3, mentre α2, α3, β0 si trovano nella word 4, rispettivamente nei bit 1-8, 9-16 e 17-24. I rimanenti tre parametri, vale a dire β1, β2 e β3, occupano la word 5, rispettivamente nei bit 1-8, 9-16 e 17-24.

(22)

Il subframe 4 della trama 18 contiene anche le informazioni relative alla correzione del tempo GPS in tempo UTC, per cui valgono le medesime considerazioni

effettuate al riguardo dei parametri ionosferici sull’opportunità di una memorizzazione. In Tab. 3.9 sono indicati i vari dati forniti per la conversione GPS

-UTC, corredati di fattore di scala ed unità di misura.

Tab. 3. 9 – Parametri di conversione GPS-UTC

Parametro Numero di bitFattore di scala Unità di misura 0 A 32* 2−30 sec 1 A 24* 50 2− sec/sec LS t ∆ 8* 1 sec ot t 8 212 sec t WN 8 1 settimane LSF WN 8 1 settimane DN 8 1 giorni LSF t8* 1 sec

I parametri indicati con * sono rappresentati in complemento a 2 (con il bit di segno che occupa il posto più significativo)

Come si può osservare in Fig. 3.10, i coefficienti di correzione e occupano rispettivamente i bit 1-24 di word 7 (MSB), 1-8 di word 8 (LSB) e 1-24 di word 6; il tempo di riferimento dei dati UTC è rappresentato dai bit 9-16 della parola 8, mentre la settimana di riferimento segue nei successivi 8 bit (bit 17-24 di word 8). I parametri , e 0 A A1 ot t t WN LS t

WNLSF DN occupano nell’ordine la parola 9, mentre i

primi 8 bit della word 10 sono utilizzati per la codifica di ∆tLSF; gli ultimi 16 bit della stessa parola sono poi riservati al sistema.

(23)

una seconda parte, contenente i parametri di funzionamento dei SV 25-32 per quanto

riguarda gli almanacchi. Il Data ID (bit 1-2 della word 3) è pari al SV ID del satellite

trasmittente, mentre il SV (Page) ID è settato a 63.

Fig. 3. 11 – Formato del subframe 4 della trama 25

Ciascun satellite è rappresentato da 4 A-S flag, associati ai bit del subframe come in Fig. 3.11. Nel caso in cui il bit più significativo dell’A-S flag sia posto pari a 1, significa che per quel satellite la modalità AntiSpoofing (AS) è attiva, ovvero il codice P destinato ad utenti autorizzati è nella forma criptata Y; i tre bit meno significativi indicano, invece, la configurazione di ciascun satellite8.

A partire dalla word 8, il subframe 4 della trama 25 contiene lo stato di funzionamento (SV Health) dei satelliti SV 25-32, rappresentato su 6 bit. Il bit più

8

Al momento attuale, è prevista solo la combinazione 001, che indica la configurazione standard dei satelliti BLK II / IIA / IIR

(24)

significativo è pari a 0 se i dati relativi agli almanacchi sono consistenti, mentre, in caso contrario, i restanti 5 bit illustrano tutte le possibili situazioni di errore9.

3.2.7 – Subframe 5

Il subframe 5 ha un contenuto che cambia al variare del numero di trama corrente. Poiché l’informazione offerta da tale subframe è costituita dagli almanacchi, questa caratteristica nasce dall’esigenza di rendere disponibili tutti gli almanacchi all’interno di ogni singolo canale.

Per fare questo, nel sistema GPS si è deciso di trasmettere, per ogni frame, un set di parametri di almanacco per ogni satellite; così facendo, però, il numero di trame, pari a 25, non è di per sé sufficiente a coprire una costellazione di 32 satelliti: in virtù di questo fatto, i dati di almanacco vanno ad occupare anche parte del contenuto del subframe 4.

In definitiva, il subframe 5 delle prime 24 pagine contiene i dati di almanacco dei SV 1-24, mentre il subframe 4 delle trame 2, 3, 4, 5, 7, 8, 9 e 10 è dedicato agli

almanacchi dei SV 25-32. Il subframe 5 della trama 25 è, invece, destinato a fornire un

riepilogo dello stato di funzionamento dei SV 1-24.

Così come avevamo visto per il subframe 4, anche questo subframe presenta una caratteristica comune al variare del numero di trama: i bit 1-2 e 3-8 della parola 3, infatti, rappresentano sempre rispettivamente il Data ID ed il SV (Page) ID, con cui è

possibile risalire al numero di frame corrente.

Il subframe 5 delle trame 1-24, così come il subframe 4 delle trame 2-5 e 7-10, presenta il formato riportato in Fig. 3.12. Il contenuto di tale messaggio è costituito dai parametri degli almanacchi, che sono calcolati, così come le effemeridi, seguendo

9

(25)

la formulazione classica kepleriana e utilizzando il sistema di coordinata ECEF. Si può

capire che gli almanacchi costituiscono un set di parametri meno accurati delle effemeridi, in quanto hanno a disposizione lo spazio di un solo subframe al cospetto dei due delle effemeridi; la posizione stimata è dunque più approssimata e non a caso, nella fase di Positioning, si utilizzano le effemeridi, mentre nelle prime fasi è sufficiente una stima tramite gli almanacchi.

Fig. 3. 12 – Formato del subframe 5 delle trame 1-24

Il Data ID ed il SV (Page) ID coincidono e sono pari all’identificativi del satellite cui sono relativi i dati che seguono.

Il tempo di riferimento è inserito nei bit 1-8 della word 4, mentre l’eccentricità è rappresentata dai bit 9-24 della parola 3. La radice del semiasse

maggiore

oa

t e

(26)

l’inclinazione orbitale , per garantire una sufficiente sensibilità a fronte di un numero di bit inferiore rispetto a quello a disposizione per le effemeridi, viene trasmessa, nei bit 1-24 della parola 4, la variazione

0

i

i

δ , riferita ad una inclinazione di 0.30 semicerchi (le grandezze vanno poi convertite in radianti).

La longitudine del nodo ascendente 0 è codificata nei bit 1-24 della parola 7, mentre il suo tasso di variazione si trova nei bit 1-16 della parola 5. L’argomento

del perigeo

ω è riportato nei bit 1-24 della word 8, mentre l’anomalia media M è 0 data negli stessi bit della parola successiva.

I coefficienti di linearizzazione della fase del clock 0 f a e 1 f a sono codificati rispettivamente nei bit 1-8 (MSB), 20-22 (LSB) e 9-19 di word 10, mentre lo stato di

funzionamento del satellite è inserito nei bit 17-24 della parola 5.

In Tab. 3.10 sono riportati i vari parametri ottenuti nei subframe di almanacco, accompagnati dai relativi fattori di scala ed unità di misura.

Nella Fig. 3.13 è, invece, riportato il formato del subframe 5 della trama 25, destinato al riepilogo dello stato di funzionamento della costellazione GPS (SV 1-24)10.

Il SV (Page) ID è pari a 51, mentre il Data ID è relativo all’identificativo del satellite

trasmittente. Nei bit 9-16 di word 3 è presente il tempo di riferimento degli almanacchi , che serve per verificare la coerenza tra i dati di almanacco ed i parametri contenuti nel seguito: uno di questi è il numero di settimana GPS corrente

, che, come si può notare confrontando la Tab. 3.10 con la Tab. 2.2, è, insieme allo stato di funzionamento (health), l’unico dato degli almanacchi che manca nel subframe 5 dei frame 1-24. Se della trama 25 è lo stesso di quello indicato nelle altre trame, allora il numero della settimana fa riferimento ai dati di almanacco a disposizione, altrimenti occorre attendere che i due tempi coincidano (il sistema nel seguito provvederà ad aggiornare uno dei due parametri).

oa t a WN oa t a WN oa t

(27)

Per quanto riguarda lo stato di salute dei satelliti, riportato nella struttura del subframe come in Fig. 3.13, valgono le stesse osservazioni fatte a proposito del formato (g) relativo al subframe 4 della trama 25, per cui si rimanda al Par. 3.2.6.

Le considerazioni effettuate in merito ai dati di correzione ionosferica e UTC,

riguardo all’opportunità di memorizzare i parametri per l’impiego anche nelle future accensioni del dispositivo GPS, valgono anche nel caso dei dati degli almanacchi. Il

ricevitore, al momento dell’accensione, deve recuperare da una memoria non volatile i parametri degli almanacchi, che vengono utilizzati nella fase di Predizione satellitare; una volta attivata la fase di Navigazione, occorre verificare che i dati ricevuti per ciascun satellite siano effettivamente più recenti di quelli a disposizione e, in caso affermativo, è opportuno aggiornare i dati di almanacco relativi al particolare satellite: questa operazione può essere effettuata, però, solo dopo che si è ricevuto anche il subframe 5 della trama 25, contenente il numero di settimana, perché altrimenti i dati difetterebbero di una informazione essenziale.

Tab. 3. 10 – Parametri del subframe 5 delle trame 1-24

Parametro Numero di bitFattore di scala Unità di misura e 16 2−21 oa t 8 12 2 sec i δ 16* 19 2− semicerchi A 24 2−11 m1/2 0 24* 2−23 semicerchi Ω 16* 2−38 semicerchi/sec ω 24* 2−23 semicerchi 0 M 24* 23 2− semicerchi 0 f a 11* 2−20 sec 1 f a 11* 2−38 sec/sec

I parametri indicati con * sono rappresentati in complemento a 2 (con il bit di segno che occupa il posto più significativo)

(28)

Come si può intuire fin da queste prime osservazioni, l’aggiornamento dei dati di almanacco è un’operazione resa piuttosto problematica dalle esigenze di reattività del dispositivo: è pertanto consigliabile, anche in virtù delle possibilità offerte da un ricevitore di tipo software, aggiornare periodicamente gli almanacchi non solo grazie ai dati di Navigazione, ma anche reperendo i dati direttamente su Internet, all’interno dei siti che attingono ai dati forniti dal Control Segment ([12]).

Fig. 3. 13 – Formato del subframe 5 della trama 25

3.3 – Il calcolo della posizione dei satelliti tramite le effemeridi

Questo paragrafo descrive l’algoritmo utilizzato per il calcolo della posizione dei satelliti tramite i dati forniti dalle effemeridi e già elencati nella Tab. 2.3.

(29)

In Tab. 3.11 sono riportati i passaggi impiegati per il calcolo delle coordinate

(

x y z , dove il tempo t della (3) è il tempo del satellite, ricavato dal Ts, s, s

)

OW della

Hand-Over Word e modificato con i parametri di correzione trasmessi all’interno del

subframe 1 (cfr. Par. 3.2.4).

Tab. 3. 11 - Calcolo del vettore posizione nelle coordinate ECEF tramite le effemeridi 1)

( )

2 a= a semiasse maggiore 2) 3 n n a µ

= + ∆ moto medio corretto

3) tk = −(t toe)mod 604800 sec tempo dall’epoca delle effemeridi 4) Mk =M0+ ⋅n tk anomalia media

5) Mk =Ek− ⋅e sinEk anomalia eccentrica

6) 2 1 sin arctan cos k k k e E E e ν = ⎛⎜ − ⋅ ⎞ − ⎝ ⎠ ⎟ ⎟ anomalia vera

7) ϕkk+ω argomento della latitudine

8) δϕk =Cussin 2( ϕk)+Cuccos 2( ϕk) correzione dell’argomento della latitudine 9) sin 2( ) cos 2( )

k rs k rc k

r C C

δ = ⋅ ϕ + ⋅ ϕ correzione del raggio 10) δik =Cissin 2( ϕk)+Ciccos 2( ϕk)

k

correzione dell’angolo di inclinazione 11) ukk+δϕ argomento della latitudine corretto 12) (1 cos ) k k r = ⋅ − ⋅a e Erk raggio corretto 13) ( ) 0 / k k

i = +i di dt t⋅ +δik angolo di inclinazione corretto

14)

(

)

0

k e tk t

Ω =Ω + Ω Ω− ⋅ −Ωeoe longitudine del nodo ascendente corretta 15) xp = ⋅rk cosuk posizione x sul piano orbitale

16) yp = ⋅rk sinuk posizione y sul piano orbitale 17) xs =xp⋅cosΩkyp⋅cosik⋅sinΩ k coordinata ECEF x

18) ys =xp⋅sinΩk+yp⋅cosik⋅cosΩ k coordinata ECEF y 19) zs =yp⋅sinik coordinata ECEF z

(30)

L’esigenza dei fattori correttivi è dovuta al fatto che la posizione calcolata è quella ideale riferita all’orbita assegnata a ciascun satellite, mentre in realtà questa si discosta dalla traiettoria ideale descritta dai parametri: in particolare, l’errore di posizione del satellite può essere scomposto in tre distinte componenti, perpendicolari tra loro, indicate rispettivamente con errore radiale, errore tangenziale ed errore

trasversale, tutti intesi rispetto all’orbita ideale. Secondo un’analisi statistica eseguita

su un numero molto elevato di dati, valori medi realistici di tali errori sono rispettivamente 1.3 m, 4.7 m e 3.6 m 11: il Control Segment ha pertanto il compito di monitorare nel tempo l’errore di posizione e trasmettere ai satelliti, ad intervalli di tempo prefissati12, i relativi fattori correttivi, che vengono poi inoltrati agli utenti GPS

all’interno dei subframe 2 e 3.

Parametro Simbolo Valore Unità di misura

Costante di gravitazione universale

µ 3.986005 E+14 m2

/sec3

Tasso di rotazione terrestre Ω e 7.2921151467 E-05 rad/sec

Tab. 3. 12 - Valori delle costanti definiti nello standard WGS-84

Ritornando alla Tab. 3.11 la (5) rappresenta l’equazione di Keplero descritta dalla (2.17), che richiede una soluzione di tipo iterativo. Una giustificazione piuttosto esaustiva delle equazioni (8)-(16), che conducono al calcolo del vettore posizione attraverso una composizione di rotazioni dei vari sistemi di riferimento, si può trovare in [7].

11

L’errore radiale, benché statisticamente più piccolo rispetto agli altri due, rappresenta però la componente più significativa dell’errore nel calcolo della posizione dell’utente

(31)

3.4 – Il calcolo dei satelliti in visibilità tramite i dati di almanacco

In questo paragrafo si analizzerà l’algoritmo, basato sui dati di almanacco, che consente di stimare quali siano effettivamente i satelliti visibili da una data posizione sulla superficie terrestre convertita in coordinate ECEF nel vettore

(

x y z . u, u, u

)

A questo punto, per ogni satellite disponibile negli almanacchi, per il quale è stato calcolato il vettore posizione

(

x y z , è necessario calcolare la distanza, s, s, s

)

l’angolo di elevazione e l’azimut. Per i nostri scopi, l’elemento rilevante diventa l’angolo di elevazione, poiché esiste un angolo limite (tipicamente 10°) al di sotto del quale il rapporto segnale-rumore è talmente basso da non consentire una corretta ricezione del particolare canale.

Per calcolarlo, come già detto nel Par. 2.2, è opportuno passare da un sistema di coordinate geodetico, centrato attorno alla Terra, al sistema di riferimento topocentrico ENU (East – North – Up).

Avevamo già stabilito le trasformazioni necessarie per passare dalle coordinate geodetiche a quelle ENU, ciò che resta da fare è individuare le relazioni mediante le quali è possibile risalire dalle coordinate ENU agli angoli di elevazione ε e di azimut

α ed alla distanza ρ ; sfruttando l’analogia con le formule (2.1)-(2.3), otteniamo 2 2 arctan U E N ε = ⎛ + ⎝ ⎠ arctan E N α = ⎛ ⎝ ⎠ 2 2 E N U ρ= + + 2

A questo punto bisogna capire quali siano le coordinate ECEF

(

x y z da , ,

)

(32)

calcolare il vettore differenza tra il vettore posizione del satellite in considerazione

(

x y zs, s, s

)

ed il vettore posizione dell’utente

(

x y z , ovvero u, u, u

)

s u s u s u x x x y y y z z z − ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢= ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ − ⎥ ⎣ ⎦ ⎣ ⎦ .

Una volta calcolate le corrispondenti coordinate

(

E N U è possibile risalire , ,

)

alla terna

(

ε α ρ, ,

)

che descrive la posizione del satellite rispetto all’utente. A questo punto, iterando il procedimento per ciascun satellite, è possibile ottenere la situazione illustrata in Fig. 3.14, dove riportiamo a titolo di esempio i risultati cui possiamo giungere applicando l’algoritmo appena descritto.

Si sottolinea il fatto che tale algoritmo è basato sugli almanacchi, notoriamente meno precisi delle effemeridi che pure si hanno a disposizione. Perciò il calcolo dei satelliti in visibilità si è svolto in due passaggi: si è prima svolto il metodo sopra descritto, dopodichè si è fatto un controllo per appurare se ciò che risultava visibile per gli almanacchi lo fosse anche per le effemeridi.

3.5 – La frequenza di sovracampionamento

Nella realtà il segnale trasmesso dal satellite è, ovviamente, analogico. Per avvicinarsi il più possibile a tale situazione, nella simulazione si è usata una opportuna frequenza di sovracampionamento il cui valore è stato individuato tramite l’applicazione del teorema del campionamento a RF necessaria, per evitare ogni possibile problema di aliasing.

Applicando il teorema del campionamento in banda passante:

(

)

2

1

2

s IF IF

k f

f

B

k

f

f

B

⋅ ≥ ⋅

+

− ⋅ < ⋅

(33)

dove fs è la frequenza di sovracampionamento, BIF è la banda del trasmettitore GPS secondo il [24] pari a 34 MHz e fIF è la frequenza intermedia usata in trasmissione pari a 20.46 MHz.

GPS Constellation Satellites position with reference to: Latitude : 41° 53' 33.50" N

Longitude : 12° 29' 31.00" E Altitude : 13.00 m

Date : 12.5.2004

Time : 12:25:00.00 ( + 1.00 GMT)

PRN Distance (m) Elev. (deg) Azimuth(deg)

11 20281185.994 80.35 -35.65 20 21492440.734 47.17 -99.20 31 22069196.009 41.59 -168.02 19 22404331.553 34.05 175.03 14 22894334.979 29.41 47.13 01 23793809.822 18.48 -167.89 25 24329203.010 13.97 107.44 --- 28 24657279.042 9.89 -75.78 07 25145105.873 9.28 -38.32 03 25391991.913 4.78 163.64 --- 22 26407333.700 -4.69 62.78 15 26504337.881 -7.35 111.13

(34)

A tal proposito va precisato che l’aver utilizzato una frequenza di portante diversa, in questo caso minore, da quella effettiva del GPS si giustifica con le esigenze realizzative di eventuali e futuri filtri sia in trasmissione che in ricezione.

Ritornando al teorema del campionamento, con i valori sopra elencati, con k pari a 1, si ottiene

c 68.541

f = MHz

da cui si ottengono 67 (6.7) campioni per chip nel caso del codice C/A (P), o meglio si otterrebbero se non considerassimo il Doppler shift sul riferimento di codice che, invece, va tenuto in debita considerazione e che può far variare tale numero.

3.6 – Il rumore

Ovviamente nel corso della simulazione si è tenuto conto anche del rumore che si va ad aggiungere al segnale trasmesso, usando il classico modello AWGN (Fig.

3.15).

Fig. 3. 15 – Modello AWGN

Passando attraverso una rappresentazione vettoriale di x(t) e s(t), effettuando un loro sviluppo su una base completa di funzioni ortonormali, si giunge alla seguente formula

(35)

(3.1) 0

2

s w LIN

f

C

C

N

σ

=

dove 0 ( Hz) C dB

N è la Carrier-Noise Ratio, C è la potenza di s(t) in banda passante e fs è la frequenza di sovracampionamento usata in simulazione e di cui si è discusso nel paragrafo precedente.

Considerando la forma assunta dal segnale trasmesso sulla portante L1 e cioè

[

]

(

)

[

]

(

)

1,( ) ( ) ( ) cos 2 1 2 ( ) ( ) sin 2 1

L i i i L p i i L p

s t = ⋅A P tD t ⋅ π f t+ +ϕ τ + A G t⋅ ⊕D t ⋅ π f t+ +ϕ τ

si evince che, ponendo A=1, si ottiene C=3/2, perciò, fissata

0

C

N dalla (3.1) si calcola

la deviazione standard del rumore da usare nella funzione che lo genera.

3.7 – Modellizazione dei ritardi atmosferici

Abbiamo già detto nel capitolo precedente che il segnale satellitare attraversando l’atmosfera risulta ritardato di una quantità ∆tatm = ∆ttropo+ ∆tiono

( )

f somma di due termini legati rispettivamente alla troposfera ed alla ionosfera.

Di seguito verranno illustrati i modelli utilizzati nel simulatore per entrambi le componenti.

3.7.1 – La componente di ritardo troposferico

La troposfera può essere definita come la porzione neutra, ovvero non ionizzata, dell’atmosfera, che si estende dalla superficie terrestre fino ad un’altezza di 40 km.

(36)

L’effetto principale nell’ambito della propagazione dei segnali radio è costituito dall’introduzione di un ritardo temporale, dovuto alla variazione dell’indice di rifrazione, che comporta, in virtù del principio di Fermat, una curvatura del raggio elettromagnetico; tale indice, infatti, è funzione di parametri come temperatura, umidità e pressione, sui quali il clima esercita un forte impatto, al punto da renderli estremamente dinamici sia nello spazio (latitudine e altitudine) che nel tempo (periodo dell’anno).

Esistono numerosi modelli matematici rivolti ad approssimare il comportamento di un segnale radio nella troposfera: tra questi, i più accurati vanno a considerare il ritardo troposferico ∆ttropo come composto a sua volta da una componente secca (idrostatica) ed una componente umida. La prima, che va a contribuire per il 90% al ritardo complessivo ∆ttropo, è facilmente modellabile, in quanto è resa piuttosto stabile dal fatto che dipende quasi esclusivamente dalla pressione misurata sulla superficie terrestre, mentre la seconda, funzione della quantità di vapore acqueo lungo il percorso del segnale, risulta altamente variabile, così da rappresentare la principale fonte di errore nella stima del ritardo atmosferico all’interno dei ricevitori GPS di tipo SPS, anche se fortunatamente costituisce soltanto il 10% di ∆ttropo.

Poiché, dunque, l’effetto della troposfera va a dipendere dal percorso dell’onda elettromagnetica, diventa fondamentale una valutazione della distanza che vada a coinvolgere anche l’angolo di elevazione ε tra l’utente ed il satellite. Per considerare opportunamente questo elemento, è comodo scomporre ∆ttropo, seguendo la formulazione classica di Davis ([15]), nella forma

(3.2) ∆ttropo = ∆tdryZ

(

ϕ, ,h D m

)

dry

( )

ε + ∆twetZ

(

ϕ, ,h D m

)

wet

( )

ε

)

D

dove e sono i ritardi dovuti rispettivamente alla componente secca ed umida calcolati in corrispondenza dello zenit (

(

, ,

)

Z dry t ϕ h D ∆ ∆twetZ

(

ϕ, ,h / 2 ε π= ), mentre

(37)

( )

dry

m ε e mwet

( )

ε sono i fattori di mapping per le due componenti, che servono a

scalare adeguatamente i ritardi in funzione dell’angolo di elevazione ε .

Cerchiamo di analizzare innanzitutto i ritardi in corrispondenza dello zenit, utilizzando il modello di Langley e Collins ([16]), che rappresenta una versione del modello di Saastamoinen ([17]) ottimizzata per i ricevitori GPS che si avvalgono del

WAAS (Wide Area Augmentation System); in questo caso, i due ritardi sono calcolati

secondo le espressioni (3.3) 1 d g R z dry dry h t z T β β⋅ ⋅ ⎛ ⎞ ∆ = ⋅ − ⎝ ⎠ (3.4) ( 1) 1 1 d g R z wet wet h t z T λ β β⋅ + ⋅⋅ − ⎛ ⎞ ∆ = ⋅ − ⎝ ⎠

dove g=9.80665 m/sec2 è l’accelerazione gravitazionale, Rd =287.054 J/kg/K è la costante del gas per l’aria secca, è l’altitudine geodetica del ricevitore (in metri), mentre ,

h

T β e λ sono rispettivamente la temperatura al livello del mare (in K) ed i tassi di variazione della temperatura (in K/m) e della pressione del vapor acqueo (adimensionale). I ritardi e , che, come si evince dalle espressioni (3.3) e (3.4), coincidono con i ritardi

dry z zwet

(

, ,

)

Z dry t ϕ h D

∆ e ∆twetZ

(

ϕ, ,h D

)

misurati sul livello del mare (h=0), possono essere ricavati mediante le relazioni

6 1 10 d dry m k R z P g⋅ ⋅ = ⋅

(

)

(

)

6 2 3 10 1 m d wet m d T k k R e z g λ β R ⋅ + T = ⋅ ⋅ + − ⋅

che contengono i parametri , pari alla pressione al livello del mare (in mbar), ed e, corrispondente alla pressione del vapore acqueo al livello del mare (anch’essa in mbar), mentre la temperatura media del vapor acqueo può essere calcolata mediante la formula

P

m

(38)

(

)

1 1 d m m R T T g β λ ⎡ ⎤ = ⋅ − ⋅ + ⎣ ⎦,

che richiede la conoscenza, oltre che di T , β e λ, anche dell’accelerazione , ottenibile attraverso la relazione

m g

(

)

2 1 0.0026 cos 2 0.00000028 9.874 m/sec m g = − ⋅ ϕ− ⋅ ⋅h ,

in cui ϕ e sono rispettivamente la latitudine e l’altitudine geodetiche del ricevitore; è pari a h 2 k′ 2 2 1 wet dry M k k k M ′ = − ⋅ ,

dove 18.0153 Mwet = g/mol e Mdry =28.9644 g/mol sono rispettivamente le masse molari del vapor d’acqua e dell’aria secca, mentre le costanti di rifrattività , e ([18]) sono riportate in Tab. 3.13.

1

k k2 k3

Come si può notare, tutte le espressioni richiedono i valori di temperatura T , pressione P, umidità e, tasso di variazione della temperatura β e della pressione del vapor acqueo λ, per i quali occorrono degli strumenti di misurazione che non possono essere in dotazione ad un ricevitore GPS di tipo commerciale. Per ottemperare a queste richieste, è opportuno far riferimento a dei dati statistici, tramite i quali, secondo una interpolazione di tipo lineare, è possibile risalire ad una stima dei parametri meteorologici.

Coefficiente

di rifrattività Valore Unità di Misura

1 k 77.604 K/mbar 2 k 64.79 K/mbar 3 k 3.776 10⋅ 5 K2 /mbar

(39)

Facendo riferimento alla Tab. 3.14, che contiene il valor medio e la variazione stagionale dei vari elementi, è possibile calcolare il valore del generico parametro meteorologico ξ ϕ

(

, D

)

, con la latitudine del ricevitore ϕ∈ ⎡⎣ϕ ϕi, i+1

)

, mediante la formula (3.5)

( )

( ) ( )

{

( )

( )

( )

}

(

)

* 0 0 1 0 1 2 cos 365.25 i i i i i i D D m m π ξ ϕ +⎡ξ ϕ+ −ξ ϕ ⎤⋅ − ∆ξ ϕ + ∆⎡ ξ ϕ+ −∆ξ ϕ ⎤⋅ ⋅ ⎡⎢ ⋅ − ⎤ ⎢ ⎥ ⎣ ⎦ ⎥

)

i

in cui è il giorno dell’anno, misurato a partire dal 1° Gennaio, è una costante che vale 28 per latitudini settentrionali e 211 per latitudini meridionali,

D D*

(

i

) (

/ i 1

m= ϕ ϕ− ϕ+ −ϕ e ξ ϕ0

( )

e ∆ξ ϕ

( )

sono rispettivamente il valor medio e la variazione stagionale del parametro ξ alla latitudine ϕ.

Valore Medio

Latitudine (°) P0(mbar) T0(K) e0(mbar) β (K/m) 0 λ 0 15 ≤ 1013.25 299.65 26.31 6.30 10 −3 2.77 30 1017.25 294.15 21.79 6.05 10⋅ −3 3.15 45 1015.75 283.15 11.66 3 5.58 10⋅ − 2.57 60 1011.75 272.15 6.78 5.39 10⋅ −3 1.81 75 ≥ 1013.00 263.65 4.11 3 4.53 10⋅ − 1.55 Variazione Stagionale

Latitudine(°) ∆P(mbar) ∆T (K) ∆e(mbar) ∆β (K/m) ∆λ

15 ≤ 0.00 0.00 0.00 0.00 10 −3 0.00 30 –3.75 7.00 8.85 0.25 10⋅ −3 0.33 45 –2.25 11.00 7.24 0.32 10 −3 0.46 60 –1.75 15.00 5.36 0.81 10⋅ −3 0.74 75 ≥ –0.50 14.50 3.39 3 0.62 10⋅ − 0.30

(40)

Si noti che, non essendo riportati in Tab. 3.14 valori per latitudine minori di 15° o maggiori di 75°, occorre assumere i parametri in corrispondenza di questi ultimi valori nel caso in cui la latitudine ϕ non rientri nell’intervallo

[

15 , 75° °

]

.

Una volta ottenuti i valori ∆tdryz e ∆twetz , occorre valutare i fattori di mapping

( )

dry

m ε e mwet

( )

ε ; in questa trattazione viene esposto il modello di Niell ([19]), che, sviluppando la forma generale di Marini e Murray ([20]), consistente in una espansione infinita di termini

(

sinε

)

−1, utilizza l’espressione

mk(ε)= 1 1 1 1 sin sin sin k k k k k k a b c a b c ε ε ε + + + + + +

in cui è il pedice che indica la componente idrostatica (dry) od umida (wet), mentre , e sono dei coefficienti stimati secondo il criterio dei minimi quadrati in funzione della latitudine; a seconda che si voglia valutare

k k a bk ck

( )

dry m ε o mwet

( )

ε , occorre sostituire gli opportuni coefficienti, ottenuti applicando ancora una volta la relazione (3.5), in cui stavolta però il valore medio ξ ϕ0

( )

e la variazione ∆ξ ϕ

( )

devono essere ricavati dalla Tab. 3.15, relativa alla componente idrostatica, e dalla Tab. 3.16, relativa alla componente umida (per la quale non è considerata alcuna dipendenza temporale, per cui le variazioni stagionali non sono significative).

È importante notare che in corrispondenza di angolo di elevazione pari a π/ 2, le funzioni di mapping valgono 1, in quanto il satellite si trova nella posizione di zenit rispetto al ricevitore, per cui i ritardi dovuti alla componente secca ed umida coincidono con ∆tdryz e ∆twetz .

(41)

Tab. 3. 15 – Coefficienti per la funzione di mapping mdry( )ε Valor Medio

Latitudine (°) a0dry b0dry c0dry

15 ≤ 1.2769934 10 −3 2.9153695 10 −3 6.2610505 10 −2 30 1.2683230 10⋅ −3 2.9152299 10⋅ −3 6.2837393 10⋅ −2 45 3 1.2465397 10⋅ − 2.9288445 10⋅ −3 6.3721774 10⋅ −2 60 1.2196049 10⋅ −3 2.9022565 10⋅ −3 6.3824265 10⋅ −2 75 ≥ 3 1.2045996 10⋅ − 2.9024912 10⋅ −3 6.4258455 10⋅ −2 Variazione stagionale

Latitudine (°) ∆adrybdrycdry

15 ≤ 0.0 0.0 0.0 30 5 1.2709626 10⋅ − 2.1414979 10⋅ −5 9.0128400 10⋅ −5 45 2.6523662 10⋅ −5 3.0160779 10⋅ −5 4.3497037 10⋅ −5 60 5 3.4000452 10⋅ − 7.2562722 10⋅ −5 8.4795348 10⋅ −4 75 ≥ 4.1202191 10⋅ −5 1.1723375 10⋅ −4 1.7037206 10⋅ −3

A questo punto, il ricevitore GPS ha a sua disposizione tutti gli elementi richiesti dalla (3.2), con cui è in grado di stimare la componente troposferica del ritardo temporale ∆tatm.

Tab. 3. 16 – Coefficienti per la funzione di mapping mwet( )ε Valor Medio

Latitudine (°) a0wet b0wet c0wet

15 ≤ 5.8021897 10⋅ −4 1.4275268 10⋅ −3 4.3472961 10⋅ −2 30 4 5.6794847 10⋅ − 1.5138625 10⋅ −3 4.6729510 10⋅ −2 45 5.8118019 10⋅ −4 1.4572752 10⋅ −3 4.3908931 10⋅ −2 60 4 5.9727542 10⋅ − 1.5007428 10⋅ −3 4.4626982 10⋅ −2 75 ≥ 6.1641693 10⋅ −4 1.7599082 10⋅ −3 5.4736038 10⋅ −2

(42)

3.7.2 – La componente di ritardo ionosferico

La ionosfera, a differenza della troposfera, subisce l’effetto dei raggi ultravioletti del sole, che vanno a ionizzare una porzione delle molecole dei gas presenti rilasciando elettroni liberi, i quali vanno a modificare pesantemente il valore dell’indice di rifrazione; questo fenomeno fa sì che la velocità dell’onda elettromagnetica subisca un ritardo ∆tiono

( )

f , che va a dipendere dalla frequenza.

Per valutare in maniera accurata tale ritardo, occorre valutare l’indice di gruppo g

n , che lega la velocità di gruppo dell’onda a frequenza f alla corrispondente

velocità nel vuoto mediante la relazione

(3.6) ng np f dnp

df

= + ⋅

in cui l’indice di modo per la propagazione nella ionosfera può essere approssimato ([21]) come (3.7) 2 3 4 2 3 4 1 p c c c n f f f = + + + +…

dove i coefficienti , indipendenti dalla frequenza, variano in funzione della densità di elettroni lungo il percorso che unisce il satellite al ricevitore, indicata con .

i

c

e

n

Andando a sostituire la (3.7) nella (3.6), otteniamo 3 2 4 2 3 4 2 3 1 g c c c n f f f = − − − −…;

approssimando al primo ordine sia l’indice di gruppo n che l’indice di modo g , ricaviamo le espressioni p n 2 2 2 2 1 1 p g c c n n f f ≅ + ≅ − ,

(43)

Una volta valutati gli indici di gruppo e di modo, è possibile risalire alle rispettive velocità mediante le relazioni

p p g c v n n

= vg = c ,che caratterizzano l’effettivo moto del segnale

attraverso la ionosfera; introducendo il parametro TEC (Total Electron Count), che misura il numero di elettroni contenuti in un volume cilindrico di sezione 1 m2 e lunghezza pari allo spazio percorso dall’onda nella ionosfera, ed integrando lungo il percorso che unisce il trasmettitore al ricevitore, è possibile approssimare il ritardo ionosferico ∆tiono

( )

f mediante la relazione

( )

2 40.3 iono TEC t f c f ∆ = ⋅ ,

dove f è la frequenza della portante, che, nel caso di utenti SPS, equivale a

. 1 1575.42 MHz

L

f =

I ricevitori GPS commerciali, però, non dispongono del parametro , per cui,

come per il ritardo troposferico

TEC

tropo

t

∆ , devono utilizzare un modello semplificato che

consenta una stima di sulla base dei parametri a loro disposizione; nella pratica, il modello comunemente usato è il cosiddetto modello di Klobuchar ([22]), che permette una correzione di circa il 50% di tutto il ritardo ionosferico.

(

1

iono L

t f

)

Senza entrare nei particolari del modello di correzione usato, ci limitiamo a fornire le formule che consentono ad un utente che opera sulla frequenza L1 di stimare

:

( )

1 iono L t f

( )

2 4 9 1 9 5 10 1 1.57 2 24 (sec) 5 10 1.57 iono l x x F AMP x t f F x − − ⎧ ⎡ ⎛ ⎞⎤ ⋅ ⋅ + ⋅ − + < ⎪ ⎢ ⎜ ⎟⎥ ∆ = ⎨ ⎪ ⋅ ⋅ ≥ ⎩ ,

dove F, AMP e x sono parametri che si possono ottenere attraverso le relazioni descritte nel seguito.

(44)

Il fattore di obliquità è un parametro adimensionale che tiene conto dell’inclinazione della traiettoria e quindi della distanza percorsa nella regione ionosferica, che può essere calcolato come

F

[

]

2

1 16 0.53

F = + ⋅ −E ,

in cui E è l’angolo di elevazione del satellite rispetto all’utente, misurato in semicerchi13, mentre x può essere ottenuto mediante la relazione

(

)

2 50400 sec (sec) t x PER π⋅ − = ,

in cui il tempo locale t può essere ricavato come

(

4

)

4.32 10 i GPS mod 86400 (sec)

t= ⋅ λ +t ,

con tGPS e λi pari rispettivamente al tempo GPS disponibile al ricevitore ed alla longitudine geodetica della posizione sulla Terra del punto di intersezione ionosferico, calcolata come (3.8) sin (semicerchi) cos i u i A Ψ λ λ ϕ ⋅ = +

nella (3.8), λu è la longitudine geodetica dell’utente (in semicerchi), Ψ è l’angolo al centro della Terra tra la posizione dell’utente e la proiezione sulla Terra del punto di intersezione ionosferico, pari a

(3.9) 0.0137 0.022 (semicerchi) 0.11

E

Ψ = −

+

con E angolo d’elevazione (in semicerchi), e ϕi è la latitudine geodetica della proiezione sulla Terra del punto di intersezione ionosferico, ottenuta mediante la relazione

(3.10) ϕi =sgn

(

ϕ Ψu + ⋅cosA

)

⋅min 0.416,

(

ϕ Ψu + ⋅cosA

)

(semicerchi),

(45)

dove Ψ è definito in (3,9), è l’angolo di azimut tra l’utente e il satellite (in semicerchi) e

A

u

ϕ è la latitudine geodetica dell’utente (in semicerchi).

I parametri e , misurati in secondi, possono, invece, essere ottenuti mediante le relazioni AMP PER 3 0 max 0, n mn (sec) n AMP α ϕ = ⎛ ⎞ =

⎠ 3 0 max 72000, n mn (sec) n PER β ϕ = ⎛ ⎞ =

in cui αn e βn sono i coefficienti di correzione atmosferica trasmessi nel subframe 4 della trama 18 (cfr. Par. 3.2.6) e ϕm è definito come

(

)

0.064 cos 1.617 (semicerchi)

m i i

ϕ = +ϕ ⋅ λ − ,

dove ϕi e λi sono definiti come in (3.10) e (3.8).

In Tab. 3.17 riportiamo l’ordine dei passaggi da effettuare per la stima del parametro di correzione ionosferica ∆tiono

( )

f .

Tab. 3. 17 – Algoritmo per il calcolo del ritardo ionosferico tiono( )fl1

(1) 0.0137 0.022 0.11

E

Ψ = −

+

(2) ϕi =sgn(ϕ Ψu + ⋅cosA)⋅min 0.416,

(

ϕ Ψu+ ⋅cosA

)

(3) sin cos i u i A Ψ λ λ ϕ ⋅ = + (4) t=

(

4.32 10⋅ 4λi+tGPS

)

mod 86400 sec (5) ϕmi+0.064 cos⋅ (λi−1.617) (6) 3 0 max 0, n mn n AMP α ϕ = ⎛ ⎞ =

⎠ (7) 3 0 max 72000, n mn n PER β ϕ = ⎛ ⎞ =

(46)

(8) x 2 (t 50400 sec) PER π ⋅ − = (9) F = + ⋅1 16 0.53

[

E

]

2 (10) ( ) 2 4 9 1 9 5 10 1 1.57 2 24 5 10 1.57 iono l x x F AMP x t f F x − − ⎧ ⎡ ⎛ ⎞⎤ ⋅ ⋅ + ⋅ − + < ⎪ ⎢ ⎜ ⎟⎥ ∆ = ⎨ ⎪ ⋅ ⋅ ≥ ⎩

Termini trasmessi dal satellite n

α = coefficienti di una equazione cubica per il calcolo dell’ampiezza del ritardo verticale (4 coefficienti di 8 bit ciascuno)

n

β = coefficienti di una equazione cubica per il calcolo del periodo del modello (4 coefficienti di 8 bit ciascuno) Termini generati dal ricevitore

E = angolo di elevazione tra il satellite e l’utente*

A = angolo di azimut tra il satellite e l’utente* u

ϕ = latitudine geodetica dell’utente* (WGS-84) u

λ = longitudine geodetica dell’utente* (WGS-84) GPS

t = Tempo GPS disponibile al ricevitore * in semicerchi

3.8 – Algoritmo per la correzione dello sfasamento tra il clock del satellite e quello del sistema

All’interno di questo paragrafo ci preoccupiamo di illustrare l’algoritmo che consente di stimare il ritardo da aggiungere al segnale GPS per tener conto del fatto

che il clock del satellite si discosta da quello del sistema, nonostante sia dotato di orologi atomici a bordo, per gli effetti relativistici periodici dovuti alla lieve eccentricità dell’orbita satellitare14, introdotti nel Par. 2.4.2.

Figura

Fig. 3. 1 – Esempio di un generatore di codici C/A
Tab. 3. 2 –Riassunto delle caratteristiche dei codici C/A
Fig. 3. 2 – Formato del segnale G PS
Fig. 3. 4– Formato della H OW
+7

Riferimenti

Documenti correlati

It is shown that the choice between the two regimes is crucially dependent upon four factors: the specification of the objective function of the authorities as

- At the beginning, the programme aimed at a 30% increase in trade volume of E- commerce in demonstration counties. This implied raising the share of total retail consumer

Tutti si trovano a tavola con i piatti tipici della cucina lilibetana: dalla pasta col matarocco al tonno ammuttunatu, dai capidduzzi di ricotta alla cubbaita di

La cifratura a chiave simmetrica (chiave condi- visa tra mittente e ricevente) è molto veloce, ma è difficile distribuire le chiavi in modo sicuro La cifratura a chiave pubblica

[r]

[r]

I dati binari sono semplici sequenze di bits senza nessuna particolare codifica di conseguenza gli operatori bit-a-bit prendono come operandi solo espressioni a valore di tipo

Alla domanda su come fare a rappresentare tre, i bambini ci hanno pensato un attimo per poi concludere correttamente che dovevano alzarsi sia quelli della prima che della seconda