• Non ci sono risultati.

3.1 La sincronizzazione

N/A
N/A
Protected

Academic year: 2021

Condividi "3.1 La sincronizzazione "

Copied!
15
0
0

Testo completo

(1)

3. A CQUISIZIONE DEI SEGNALI

In questo capitolo sarà affrontato il problema della temporizzazione ed in particolare quello dell’acquisizione dei segnali illustrandone i relativi schemi proposti per i segnali Galileo.

3.1 La sincronizzazione

Tra le proprietà della sequenza di spreading è stata citata l'autocorrelazione praticamente nulla. La conseguenza di ciò sul ricevitore è che se la sequenza di despreading non è sincronizzata con il segnale ricevuto abbiamo:

0 N 0

n n

n

c c+

=

0

per (3.1)

e, di conseguenza, il segnale non viene ricevuto.

II modo più semplice di procedere ad una sincronizzazione è quello di effettuare una ricerca esaustiva della giusta soluzione. Sfruttando le proprietà delle sequenze di

(2)

spreading, si assume una temporizzazione e si procede a misurare l'energia del segnale in uscita dalla correlazione tra il segnale in ingresso e la sequenza di despreading. Questa energia ha il valore massimo nel momento in cui si ha la sincronizzazione. In pratica, si confronta il risultato della misurazione con una soglia prefissata e se risulta maggiore allora la temporizzazione viene ritenuta valida ed il ricevitore è pronto a ricevere il segnale trasmesso, altrimenti si cambia temporizzazione e si ripete la misura. In figura 3.1 è illustrato lo schema a blocchi di un sincronizzatore.

Figura 3.1 Schema a blocchi di un circuito di sincronizzazione

In questo caso viene fatto variare l’istante di campionamento del segnale in ingresso. Lo schema propone un ricevitore di tipo non coerente. Si hanno quindi due rami, uno in cui il segnale viene demodulato da un coseno, l'altro invece da un seno. Su ciascun ramo il risultato viene opportunamente filtrato, campionato e poi sottoposto a despreading.

Il moltiplicatore ed il sommatore realizzano la correlazione su N chip e, del risultato, ne viene poi fatto il quadrato. Infine, il risultato dei due rami viene sommato ottenendo l'energia effettiva dell'uscita della correlazione. Prima di procedere al confronto con la soglia vengono accumulate W diverse misurazioni per ottenere una precisione maggiore.

Allo stesso scopo sarebbe opportuno campionare più volte per chip il segnale in ingresso, ad esempio m volte.

Il problema di tutti gli algoritmi in cui si procede ad una ricerca esaustiva delle soluzioni è le prestazioni. Se assumiamo che il periodo della sequenza di spreading sia L, risulta che la durata della sincronizzazione, nel caso peggiore, è proporzionale a

(3)

sincro

t m L N W (3.2)

e cresce linearmente con L.

Dall’altra parte si ha la necessità di avere L molto grande per poter trovare un maggior numero di sequenze a correlazione quasi nulla per poter permettere a più terminali di trasmettere insieme.

Si ha quindi la necessità di migliorare le prestazioni e questo si può ottenere in vari modi, ad esempio:

effettuando più misurazioni in parallelo, a costo di impiegare più risorse hardware;

utilizzando per la sincronizzazione un segnale apposito detto pilot, che utilizza una sequenza dì spreading diversa da quella utilizzata per i dati normali e di periodo minore, in modo da ottenere un abbassamento del tempo dì sincronizzazione.

La procedura fin qui illustrata fornisce solo una prima soluzione al problema, insufficiente a completare in modo affidabile la ricezione dei dati. Infatti nella sincronizzazione è insita una imprecisione ed inoltre possibili movimenti del ricevitore si traducono in errori di sincronizzazione. Questi errori vengono limitati, durante la normale ricezione dei dati, dall'esecuzione di una procedura detta di time tracking. Questa viene implementata con una struttura detta early-late gate che esegue il campionamento del chip leggermente in anticipo e leggermente in ritardo rispetto a quanto fatto dalla sincronizzazione. Vengono poi ricavate e confrontate tra loro le due misurazioni dell'energia, in modo analogo a quanto fatto per la sincronizzazione; in base all'esito del risultato si effettuano gli eventuali aggiustamenti sulla temporizzazione. In questo modo si rifinisce la stima iniziale ottenuta con la sincronizzazione e si compensa l'errore introdotto da eventuali movimenti del ricevitore.

(4)

Quindi la funzione cruciale di un ricevitore di segnali a spettro espanso, per avere delle buone prestazioni nella misura dell'offset prodotto dallo pseudorange, è la sincronizzazione del codice.che viene divisa in due parti (figura 3.2):

coarse acquisition, prima fase in cui si compie un’acquisizione grossolana;

fine tracking, seconda fase in cui si cerca di ottenere un tracking migliore.

Figura 3.2 Fasi della sincronizzazione del codice

3.2 Coarse acquisition

Nella fase iniziale, prima di iniziare la fase di tracking e quindi prima della rivelazione dei dati di navigazione ricevuti, il ricevitore deve effettuare una stima grossolana del ritardo m del segnale.

I circuiti per eseguire tale operazione possono essere distinti in linea di principio in:

seriali;

sequenziali;

paralleli.

Gli ultimi danno prestazioni migliori, ma i primi due sono più facili da implementare.

L’acquisizione seriale viene realizzata correlando la sequenza di codice ricevuto con una generata localmente per un tempo di integrazione prefissato. Per ricercare il

(5)

corretto timing la sequenza locale è ritardata tipicamente di intervalli pari a mezzo chip ed il risultato della correlazione viene poi confrontato con una soglia, oppure è memorizzato per essere confrontato con i risultati ottenuti da una rivelazione ML sull’intera lunghezza del codice. E’ anche possibile eseguire una seconda verifica come ulteriore conferma dei risultati grossolani ottenuti.

L’acquisizione sequenziale è ottenuta cercando di stimare direttamente dal segnale ricevuto la sequenza di codice. I relativi chip sono poi inseriti nello shift register del correlatore. Tecniche di tipo sequenziale sono inutilizzabili per segnali con basso rapporto segnale-rumore poiché la stima del codice è basata su decisioni di tipo hard riferite al valore possibile del chip.

Infine abbiamo l’acquisizione parallela. In tal caso i circuiti permettono di correlare simultaneamente il segnale ricevuto per tutte le possibili repliche ritardate del codice.

Prima impraticabile, oggi questo tipo di tecnica è resa possibile dall’avvento dei circuiti VLSI, ma l'eccessiva lunghezza del codice (10230 chips) rende praticamente inutilizzabile un circuito di tipo esclusivamente parallelo.

3.3 Acquisizione seriale nel sistema GPS

Prima di trattare l’acquisizione seriale nel sistema Galileo diamo uno sguardo a quella del GPS.

Il processo di acquisizione consiste in una ricerca di tre elementi: il codice C/A disponibile, il code phase e l’offset di frequenza. Se supponiamo che il ricevitore sappia quale codice del satellite stia cercando, allora la ricerca diventa bidimensionale.

Il ricevitore deve quindi stimare il code phase, con una risoluzione di mezzo chip (il picco della correlazione è considerato corretto solo se il code phase è minore di mezzo chip), su tutti i possibili offset del codice che ha lunghezza pari a 1023 chips (1ms).

L’altra ricerca è per l’offset di frequenza ed il suo range è di ±10KHz centrati attorno alla frequenza intermedia pari a 1.25MHz. In questo caso, per un’integrazione di 1ms, la risoluzione è di 667Hz, ma può essere utilizzato uno step di ricerca pari a 500Hz.

IL ricevitore fissa il valore di Doppler previsto, avvia la ricerca su tutti i possibili ritardi del codice e confronta il picco della correlazione con una soglia opportuna. Quando avviene il superamento della stessa allora viene fornita una stima grezza delle due

(6)

grandezze cercate, altrimenti il satellite è considerato non acquisito e la ricerca va avanti scegliendo il successivo valore di Doppler (figura 3.3).

Figura 3.3 Regione di ricerca bidimensionale

Lo schema a blocchi che rappresenta l’algoritmo di ricerca seriale utilizzato è rappresentato in figura 3.4. Viene utilizzato un correlatore non coerente dato che la fase del segnale ricevuto è casuale.

Il segnale x(n) a frequenza intermedia è moltiplicato per la replica del codice C/A(n+m), dove n rappresenta l’n-simo campione ed m è il numero di campioni di cui è sfasata la sequenza locale. La frequenza di campionamento utilizzata è di 5MHz e quindi un periodo del codice C/A è pari a 5000 campioni. Le componenti in fase (I) ed in quadratura (Q) generate sono accumulate su un periodo (N=5000), quadrate e poi

(7)

sommate. Più correlazioni, W, sono accumulate ed il valor medio ottenuto viene confrontato con la soglia fissata per determinare se il satellite è stato acquisito oppure no.

Figura 3.4 Schema a blocchi per l’acquisizione nel GPS

L’ espressione finale dell’algoritmo è:

1 2 2

0 1

2 1

( ) ( ) ( ) ( )

( ) ( ) ( )

K N

j n

N

n

R m x n CA n m cos n

x n CA n m sin n

= =

=

= + +

+ +

(3.3)

dove è la frequenza in radianti.

Di solito la ricerca è eseguita incrementando il code phase di mezzo chip per volta, così devono essere testati 2*1023=2046 possibili code phases. Se consideriamo di utilizzare uno step di 500Hz per la ricerca dell’altra dimensione e quindi 41 possibili step per l’offset di frequenza, ciò significa che bisogna testare approssimativamente 80000 combinazioni e quindi il problema di questo tipo di circuito è quello del tempo impiegato nell’elaborazione non noto a priori.

(8)

3.4 Acquisizione seriale nel sistema Galileo

II circuito per l’acquisizione seriale è rappresentato in figura 3.5. Anche in questo caso abbiamo un circuito di tipo non coerente e quindi entrambe le componenti in fase e quadratura vanno elaborate nello stesso identico modo.

Figura 3.5 Circuito per l’acquisizione seriale

Sul segnale ricevuto viene prima eseguita l’operazione di despreading per mezzo di una replica del codice generata localmente. Si ha poi l’accumulazione su un certo intervallo temporale, il modulo quadro e la media fatta su più intervalli d’integrazione. Il risultato viene poi confrontato con la soglia ed in caso di mancata acquisizione si procede alla correzione del code phase per proseguire la ricerca.

Un parametro di fondamentale importanza è il valore della soglia relativamente alla potenza del segnale ricevuto, infatti l’aumento della soglia causa una diminuzione della probabilità di falsa rivelazione, ma provoca anche un aumento della probabilità di mancata acquisizione. Per ovviare a questo problema il circuito prevede una soglia di tipo adattativo in modo da poter prevenire possibili problemi dovuti alle eventuali variazioni della potenza del segnale.

Questo metodo può essere utilizzato per le portanti E5a/E5b che sono prive di modulazione di tipo BOC. Per le portanti Galileo che utilizzano la BOC, il circuito di acquisizione del timing può essere utilizzato solo se non ci sono ambiguità nella curva ad S del DDLL. Nella figura 3.6 possiamo vedere le curve ad S per i canali con e senza BOC. Possiamo notare come nel caso della BOC(10,5) (E6 canale A) e BOC(2, 2)(L1 canale B

(9)

e C) facendo variare l'intervallo temporale tra due campioni la curva ad S perde le ambiguità, mentre su E5 non si hanno problemi.

-1.0 -0.5 0.0 0.5 1.0

S()

-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0

L1 Carrier BC Channel Filtered Signal

= 0.5

= 0.25

= 0.1

-1.0 -0.5 0.0 0.5 1.0

S()

-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0

E6 Carrier A Channel Filtered Signal

= 0.25

= 0.125

-2 -1 0 1 2

S()

-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0

E5 Carrier I-Q Channels Filtered Signal

= 1

= 0.5

= 0.1

Figura 3.6 Curve ad S

Come si può notare nel caso della BOC (E6A e L1B/C) aumentando il la curva ad S perde le sue ambiguità. Nel caso di ambiguità e se dall’uscita del blocco di acquisizione si avesse un offset più grande di mezzo slot, il circuito che effettua il tracking rischierebbe di agganciarsi al codice con un errore dove la curva presenta un valore nullo.

D’altra parte un aumento del , che permette di risolvere il problema delle ambiguità, provoca un aumento del jitter di fase; si deve quindi trovare un compromesso che permetta di conciliare le due cose.

Valori di che rendono ambigua la curva ad S, ma che aumentano l'accuratezza del timing, possono essere utilizzati se la probabilità che l'anello si agganci su un punto di ambiguità è irrilevante. Ciò può essere utilizzando una particolare tecnica che prevede

(10)

delle subcorrelazioni per effettuare una stima preliminare dell'offset della fase che sia inferiore al mezzo slot per evitare falsi agganci nel DDLL.

Si possono usare due diversi approcci:

subcorrelazione parallela;

subcorrelazione seriale.

3.4.1 Subcorrelazione parallela

In figura 3.7 è rappresentato lo schema a blocchi per realizzare questo tipo di acquisizione.

Figura 3.7 Schema a blocchi della subcorrelazione parallela

Vi sono 2Nslot 1 rami in parallelo e le repliche di codice utilizzate su ognuno di essi sono sfasate tra di loro di uno slot (figura 3.8).

(11)

Figura 3.8 Sfasamento temporale tra le repliche del codice per la BOC(10,5)

Il segnale d’ingresso viene correlato con tutte le repliche del codice per un intervallo di tempo fissato. Durante la fase di ricerca, le repliche del codice locale sono variate utilizzando uno step pari a mezzo slot in modo che il residuo offset di fase sia inferiore a mezzo slot e che, quindi, non si abbiano problemi di ambiguità nel DDLL.

Su ogni ramo si può anche notare la presenza di coefficienti che vanno a pesare l’uscita di ogni ramo prima di essere sommata con quella di tutti gli altri. Tali coefficienti, o pesi, sono definiti come:

2

an C

slot

R nT

= N

(

Nslot 1

)

n Nslot 1 (3.4)

dove n è un intero, TC è la durata del chip e R2( )è il quadrato della funzione di autocorrelazione del codice:

{ }

2( ) 2 ( ) ( )

R =E c t c t+ (3.5)

Per la BOC(10,5) la funzione espressa dalla (3.5) è raffigurata in figura 3.9. Se il codice locale è perfettamente agganciato a quello d’ingresso i valori della correlazione su ogni ramo sono rappresentati dai punti rossi.

Le uscite dei vari rami dopo essere state pesate e sommate sono accumulate (W volte) per ottenere un valor medio da confrontare con la soglia.

Esiste anche la possibilità di variare lo sfasamento temporale tra le varie repliche del codice locale; ad esempio si può adottare uno sfasamento di mezzo slot ed avere così un circuito con 4Nslot 1diversi codici e quindi rami.

(12)

1.0

0.5

0.0

-0.5

-1.0

-1.0 -0.5 0.0 0.5 1.0

/ Tc

R ( / Tc) R2( / Tc) in-lock correlator output

BOC(10,5)

Figura 3.9 Funzione di autocorrelazione e autocorrelazione quadrata per la BOC(10,5)

3.4.2 Subcorrelazione seriale

L’altro metodo per effettuare la subcorrelazione è quello seriale, mostrato in figura 3.10. I registri hanno 2Nslot 1 celle di memoria dove vengono memorizzate le 2Nslot 1 correlazioni ottenute shiftando ogni volta la sequenza locale di uno slot. I risultati memorizzati sono poi combinati utilizzando i soliti pesi (3.4) e poi accumulati per ottenere la variabile da confrontare con la soglia. In caso di mancato aggancio si continua la ricerca sfasando il codice di mezzo slot e questa volta le correlazione saranno immagazzinate nel secondo registro. Se anche questa volta l’esito sarà negativo si procederà a sfasare il codice di un altro mezzo slot, ma questa volta basterà calcolare una sola correlazione in quanto le altre 2Nslot 2 sono già memorizzate nel primo registro. Se le sequenze di codice fossero spaziate tra loro di mezzo slot, allora si potrebbe utilizzare un solo registro con un’ulteriore semplificazione del circuito.

(13)

Figura 3.10 Schema a blocchi della subcorrelazione seriale

Questo schema riduce la complessità hardware ed il numero di operazioni necessarie rispetto a quello proposto dalla subcorrelazione parallela, anche se entrambi presentano lo svantaggio proprio dei circuiti di acquisizione di tipo seriale, quello di essere caratterizzati da un tempo d'acquisizione a priori sconosciuto.

3.5 Tracking del codice

Per concludere diamo uno sguardo al circuito per realizzare il tracking del codice senza entrare nel dettaglio del suo funzionamento. Lo schema a blocchi semplificato è riportato in figura 3.11.

L'anello per il tracking del codice deve calcolare l'istante di campionamento ottimo.

Nei sistemi di navigazione un preciso tracking del codice si traduce in aumento dell'accuratezza nel posizionamento.

(14)

Figura 3.11 Schema a blocchi del DDLL

Lo schema semplificato del DLL per il GRR è quello per le portanti E5a/E5b, il canale A non è utilizzato e vengono solo utilizzati i canali B/C per i rami I/Q del segnale ricevuto e filtrato dai CMF (Chip Matched Filters).

Questo tipo di dispositivo utilizza generalmente un fattore di sovracampionamento pari a 2 campioni per chip, è insensibile alla modulazione dati ed agli errori di fase della portante,

(15)

poiché utilizza una rivelazione di tipo non coerente. Il ritardo tra 2 campioni per chip può essere modificando variando il valore del parametro .

Per stimare l'istante di campionamento ottimo del canale A delle portanti E6 ed L1 si può adottare il circuito in figura 3.12.

Figura 3.12 Schema a blocchi del DDLL per il canale A

Riferimenti

Documenti correlati

3. I dati personali di cui al paragrafo 1 possono essere trattati per le finalità di cui al paragrafo 2, lettera h), se tali dati sono trattati da o sotto la responsabilità di

Corso di Laurea in

Il segnale viene inizialmente trasmesso nello stato +, quindi attraversa due canali successivi, infine viene ricevuto.. Ciascun canale trasmette il segnale correttamente con

[r]

9520 IMPOSTA SUL PATRIMONIO NETTO DELLE IMPRESE E RELATIVI INTERESSI CONCILIAZIONE G A DEBITO FRIULI VENEZIA GIULIA 1040 1 59,1 2415 IMPOSTA SUL PATRIMONIO NETTO DELL'IMPRESA

(c) la retta che hai scritto si chiama equazione del moto e permette di individuare tempo e posizione del corpo nel corso del moto; al tempo t = 3, 2s in che posizione si trova

[r]

Il parametro xspd `e peculiare della sintesi FOG rispetto alla FOF e deter- mina la velocit`a con cui ci si muove all’interno della f-table deputata alla memorizzazione del file