14.11
Sincronizzazione↓
Nelle trasmissioni numeriche occorre ottenere
allo stesso tempo sia la sincronizzazione della portante di
demodulazione, nei limiti delle ambiguità di fase residue, sia la
corretta temporizzazione di simbolo, per campionare le c.a. di
b.f. ricevute al centro del periodo di simbolo, ed evitare l’insorgenza di
isi. Le due problematiche possono
essere affrontate l’una di seguito all’altra, adottando le soluzioni già
esposte. D’altra
parte sono ora possibili varianti, come ad esempio il Costas loop
che, utilizzando entrambe le c.a. di b.f., realizza l’aggancio di
frequenza anche per tecniche di modulazione a portante soppressa, oppure
procedure che tentano di acquisire per primo il sincronismo di simbolo,
e quindi usano i valori delle c.a. di b.f. ricevute per effettuare
correzioni alla fase dell’oscillatore di demodulazione.
Qualora la portante di demodulazione presenti una
ambiguità di fase residua si può applicare la tecnica della codifica
differenziale esposta al §
14.4↑,
oppure inserire una sequenza di simboli noti (o
flag) all’inizio
della trama trasmissiva, in modo che il confronto tra i valori previsti
e quelli ricevuti permetta di correggere tale ambiguità. Da notare che i
flag o
trailer ad inizio trama possono essere
vantaggiosamente usati anche da schemi di recupero del clock del tipo di
quelli al §
156↑.
14.11.1
Sincronizzazione per sistemi a spettro espanso
↓
In questo caso occorre anche considerare la
modalità di acquisizione della fase della sequenza pn,
necessaria al despreading, che avviene in due fasi: la prima si svolge
come una ricerca sequenziale ed ha una precisione di metà del periodo di
chip Tp, mentre
la seconda riduce l’errore mediante una tecnica a controreazione, e lo
mantiene tale.
Considerando già avvenuta la sincronizzazione di portante e la
demodulazione, possiamo considerare lo schema in figura detto
sliding
correlator, in cui l’integratore (ad es. un integrate and dump)
calcola appunto la correlazione tra la
pn
in arrivo e quella generata localmente. In caso di coincidenza
temporale, il risultato
z(t) è una rampa (negativa se il bit
fosse stato
− 1), mentre per un ritardo
θ il risultato dell’integrazione
all’istante
LTp
è l’autocorrelazione
Rx̃(θ),
più termini di rumore a valor atteso nullo. Al termine del periodo di
bit
Tb = LTp
il generatore di clock resetta l’integratore, non prima però che il
rivelatore a soglia abbia prodotto un impulso di sincronismo, inibendo
il componente di decisione e terminando la ricerca. In assenza di
sincronizzazione, il decisore fa invece avanzare la fase della
pn
di
Tp⁄2, tentando di nuovo
l’aggancio. Il metodo richiede dunque
2L2Tp
secondi (nel caso peggiore), tempo che può essere ridotto eseguendo più
ricerche in parallelo.
Una volta acquista la sincronizzazione
lasca,
il controllo della generazione della
pn
passa ad un circuito indicato come
delay locked loop↓
o
dll↓, che può essere realizzato in
diversi modi, e di cui discutiamo il funzionamento dello schema
canonico
mostrato in fig.
14.61↓.
Un generatore pseudonoise produce la sequenza
pn0 affetta dall’errore di
temporizzazione residuo
− Tp⁄2
≤ |θ|
≤ Tp⁄2, che ai fini della
discussione assumiamo come un ritardo, e dunque scriviamo
pn0 = x̃(t
− θ); lo scopo del
dll
è di rendere
θ = 0. Da
pn0 sono derivate due nuove sequenze,
pnearly
= x̃(t − θ + δ) e
pnlate = x̃(t
− θ − δ), che
differiscono da
pn0
per un anticipo o ritardo
δ < Tp⁄2,
e che sono moltiplicate per il segnale allargato di banda base
x̃(t).
L’integratore del ramo superiore (
early) calcola pertanto
l’autocorrelazione
Rx̃(δ
− θ) = ∫LTp0x̃(t)x̃(t
− θ + δ)dt
tra
x̃(t) e la sua copia
in anticipo
di
δ − θ, mentre quello
inferiore (
late) calcola
Rx̃( − δ − θ)
tra
x̃(t) e la sua copia
in ritardo di
δ + θ (vedi lato destro di
fig.
14.61↑):
questi due risultati sono campionati
a fine sequenza, ed indicati con
zearly
e
zlate; notiamo
che se
θ = 0, si ha
zearly
= zlate = Rx̃(δ).
Proseguendo con l’esempio, osserviamo come
l’evenienza
zearly
> zlate indichi che
pnearly è più
vicina a
pn0
di quanto non lo sia
pnlate,
e dunque stiamo andano... troppo piano.
In questo caso la differenza
ε = zearly
− zlate risulta positiva (vedi
costruzione grafica in basso a ds in fig.
14.61↑),
e ciò determina (attraverso il filtro di loop) una
accellerazione
del
vco, che tende quindi a ridurre il
ritardo iniziale
θ. Se si fosse
verificato l’opposto (
θ < 0 e
dunque
zearly < zlate)
sarebbe risultato
ε < 0, a cui
corrisponde un
rallentamento del
vco.
Man mano che
θ
si riduce,
pnearly
e
pnlate
tendono a disporsi simmetricamente in anticipo ed in ritardo di
δ
rispetto a
pn0,
in modo che
zearly
e
zlate prendono
il medesimo valore e la loro differenza
ε
si annulla, la
fc
prodotta dal
vco è costante, e
pn0
è esattamente in fase con
x̃(t). Mentre
θ
si azzera, la costruzione grafica in basso a destra di fig.
14.61↑ transla
verso
sinistra, in modo che corrisponda
ε = 0
per
θ = 0. Ciò consente di
riformulare l’approccio grafico come nella figura a lato, che
rappresenta l’errore
ε in funzione
del disallineamento
θ, detta anche
curva di discriminazione o
curva-s, e che evidenzia
l’intervallo
|θ| < δ entro il quale il
sistema converge. Questa figura è simile a quella discussa al §
10.2.2.2↑ a proposito del
pll,
ed infatti l’analisi delle prestazioni ha molto in comune. In
particolare una diminuzione della banda del filtro di loop, se da un
lato riduce le capacità di inseguire rapide variazioni di ritardo (come
potrebbe essere per effetto doppler), d’altro canto attenua l’influenza
del rumore sulla varianza della stima di
θ.
Una possibile variante opera direttamente sul
segnale modulato, e per questo è indicato come dll
incoerente, non necessitando della sincronizzazione di portante.
Al posto dell’integratore utilizza un filtro passabanda centrato sulla
portante, seguito da un demodulatore di inviluppo. Una ulteriore
variante, indicata come tau-dither loop, affronta e risolve il
problema legato ad un possibile diverso guadagno tra i due rami del dll.