15.2 Scelta dell’impulso dati
Fino ad ora si è ragionato sulla base di un segnale dati generato secondo lo schema del §
15.1.2, in cui l’impulso
g(t) è definito come
g(t) = rectτ(t), mentre nei sistemi di comunicazione questa è solamente una di diverse alternative, i cui criteri di scelta andiamo ora ad illustrare.
15.2.1 Codici di linea a banda infinita
Come anticipato al §
15.1.2 il grafico dello spettro di densità di potenza
PX(f) = σ2AEg(f)Ts di un segnale dati dipende direttamente da quello dello spettro di densità di energia
Eg(f) della risposta impulsiva
g(t) usata nel formatore di impulsi, e dunque nel caso in cui
g(t) = rectτ(t) si ottiene che
PX(f) ha andamento di tipo
sinc2(fτ) (vedi eq.
(10.58) a pag.
1), che come noto si estingue come
1⁄f2, con il primo zero per
f = 1⁄τ. Nel caso in cui si operi a bassa velocità (ossia con
τ sufficientemente grande), si può considerare il canale come se fosse
a banda infinita o perfetto, e quindi capace di riprodurre il segnale inalterato.
La figura a lato mostra lo spettro di densità di potenza
Px(f) calcolato per
f che va da zero fino al doppio di
fb, per un segnale dati binario che ricade in una delle categorie illustrate di seguito, dette
codici di linea. Il risultato è ottenuto generando i valori (0 o 1) per 400 simboli binari
ak in modo pseudo-casuale, campionando il segnale dati (
21.1) con 16 campioni per periodo di bit, e valutando con questi una
stima spettrale.
Ogni scelta per il codice di linea a cui corrisopnde una diversa definizione di impulso
g(t) ha particolari proprietà, e può essere usato per trasmettere informazioni di natura binaria sotto determinate condizioni. Elenchiamo quindi caratteristiche e proprietà di tali scelte, con riferimento agli esempi riportati in figura
15.12.
Sono realizzati come segnali sbilanciati, e codificano i due livelli logici 0 ed 1 rispettivamente con un valore nullo, od un valore positivo.
- NRZ o No Return to Zero: l’acronimo che lo descrive significa che il segnale “non torna a zero” per tutto il periodo di bit, essendo g(t) = rectTb(t); pertanto lo spettro G(f) è di tipo sinc(fTb), con il primo zero a f = 1 ⁄ Tb, e presenta una componente continua. Rimane costante per dati costanti e ciò complica la sincronizzazione (§ 15.7) del clock del ricevitore stante l’assenza in questo caso di transizioni. La mancanza di energia per f = 1 ⁄ Tb aggrava inoltre la situazione anche per dati qualsiasi.
- RZ o Return to Zero: in questo caso l’impulso g(t) ha durata pari a Tb ⁄ 2, il segnale presenta (a parità di ampiezza) minore energia di NRZ, mentre lo spettro presenta una componente pronunciata esattamente a frequenza fb, agevolando la sincronizzazione sul bit ma occupando una banda maggiore. Ma anche questo segnale si mantiene costante per lunghe sequenze di zeri.
Usano segnali bilanciati o antipodali, e sono ricevuti mediante uno stadio di ingresso differenziale, riducendo la sensibilità al rumore. In funzione del tipo di codice, è possibile garantire l’assenza di una componente continua nel segnale.
- NRZ polare, RZ polare: realizzano l’impulso con polarità negativa quando associato ad un bit pari a zero, e presentano media nulla solo se i valori 0 ed 1 sono equiprobabili. RZ polare non è mai costante, facilitando il compito della sincronizzazione.
- Manchester: realizza una codifica di fase, in quanto usa un impulso RZ a piena dinamica, in salita od in discesa, in corrispondenza dei bit 1 e 0. Per questo motivo il segnale risulta sempre a media nulla. L’occupazione spettrale è intermedia tra il caso NRZ ed RZ, dato che la durata dell’impulso può essere Tb o Tb⁄2. L’uso del codice Manchester è prescritto dallo standard ieee 802.3 per le LAN a bus con contesa di accesso cdma/cd (vedi § 23.1.4).
- AMI o Alternate Mark Inversion: codifica gli 1 con polarità alternate, mediante un impulso g(t) rettangolare di estensione Tb o Tb ⁄ 2, e gli zeri con assenza di segnale, garantendo assenza di valore medio. La caratteristica di alternare valori positivi e negativi gli fa meritare il nome di codice pseudo-ternario, e denota la presenza di memoria. Da un punto di vista spettrale, l’AMI esibisce una occupazione di banda ridotta rispetto a RZ, per via dei periodi silenti corrispondenti agli zeri. Se il periodo silente è prolungato, l’assenza di transizioni può compromettere la sincronizzazione di bit, e per questo motivo sono stati definiti ulteriori codici derivati, come ad esempio l’HDB3.
Sono ancora di tipo bipolare, ma la forma d’onda non è più legata al valore di un solo bit, bensì dipende da quello di due bit contigui (vedi anche §
16.4). Ciò permette di risolvere l’ambiguità che si determina qualora si scambino tra loro gli estremi del collegamento.
- Manchester Differenziale: usa un impulso RZ a piena dinamica come per il Manchester, la cui polarità risulta però invertita rispetto all’impulso precedente se il nuovo bit è uno, mentre è mantenuta uguale nel caso arrivi uno zero (in corrispondenza delle frecce); pertanto, in presenza degli uni non si verifica transizione al confine tra i periodi di bit. Questa soluzione è utilizzata nel contesto dello standard ieee 802.5 per LAN Token Ring. L’occupazione spettrale è simile a quella osservabile per la codifica Manchester.
- NRZI: deriva dall’NRZ, e la I sta per Inverted. Ora il livello del segnale permane nello stesso stato per i bit pari ad uno, e cambia stato per i bit pari a zero. L’assenza di valor medio è legata alla statistica che descrive le sequenze di uni e dunque non può essere garantita, mentre permangono i problemi legati alla sincronizzazione. La ridotta occupazione spettrale lo rende però interessante.
15.2.2 Segnale dati limitato in banda
Discutiamo ora come la scelta di un impulso g(t) non rettangolare permetta di ridurre l’occupazione di banda del relativo segnali dati, indipendentemente dalla codifica multilivello.
15.2.2.1 Requisiti per l’impulso di trasmissione
Organizziamo il ragionamento analizzando ordinatamente i requisiti che deve avere l’impulso g(t) per soddisfare tre diverse esigenze parzialmente contrapposte, anticipando che la soluzione sarà necessariamente una forma di compromesso.
Al §
15.1.2 abbiamo osservato che (sotto opportune condizioni) il segnale dati
(21.1) ha densità di potenza pari a
Px(f) = σ2A |G(f)|2Ts (eq.
(21.2)), e la sua ricezione inalterata è possibile solo se
x(t) è trasmesso per il tramite di un
canale perfetto (pag.
243). Se al contrario la banda del segnale eccede quella del canale gli effetti di distorsione lineare non sono trascurabili e gli impulsi
g(t) si deformano, causando problemi di
interferenza tra simboli (ISI).
Ad esempio adottando
g(t) = rectτ(t) con
τ ≤ Ts il relativo spettro di ampiezza
G(f) = τ sinc(fτ) presenta il primo passaggio per zero a frequenza
1τ ≥ 1Ts = fs, e la densità di potenza
Px(f) può essere considerata nulla solo dopo diversi multipli di tale valore.
Il problema della limitazione di banda potrebbe essere risolto adottando un impulso elementare di tipo
g(t) = sinc(fst) che, essendo
fs = 1⁄Ts, ha trasformata
G(f) = Ts ⋅ rectfs(f) strettamente limitata nella banda
|f| < fs2: in tal caso se il canale presenta un comportamento ideale in tale (limitato) intervallo di frequenze il segnale dati non subisce alterazioni. Ma lo svantaggio di adottare una forma d’onda
g(t) limitata in frequenza è che la stessa è illimitata nel tempo, e dunque l’impulso può essere realizzato solo in modo approssimato!
Notiamo ora che con questa scelta
g(t) passerebbe da zero per
t = nTs e quindi non provocherebbe
interferenza tra i simboli collocati agli istanti
nTs, come verificabile notando che in tal caso l’espressione (
21.1) risulta del tutto simile alla (
10.66) relativa alla ricostruzione
cardinale di un segnale campionato.
Limitazione di precisione
Contrariamente al caso del campionamento, ora
non siamo interessati al valore del segnale negli istanti
intermedi a quelli a cui sono centrati i simboli, e desideriamo unicamente recuperare i valori originali
ak. D’altra parte anche ammettendo di poter adottare una
g(t) = sinc(fst) il recupero degli
ak può avvenire solamente campionando il segnale dati
x(t) esattamente agli istanti
t = nTs,
dato che al di fuori di tali istanti il valore del segnale dipende dal valore delle
code degli impulsi
g(t) centrati sugli altri simboli come mostrato in figura, in cui la linea spessa rossa rappresenta il segnale dati
x(t) risultato della somma dei contributi di termini
ak sinc(fs(t − kTs)) con
ak = ±1. L’orologio (
clock) del ricevitore deve quindi comandare il campionatore esattamente agli istanti
kTs, e non in anticipo o in ritardo, perché altrimenti si verifica
isi, tanto maggiore e da parte di tanti più simboli anche lontani, quanto più
lentamente si attenuano le code della
g(t). Dato però che nessun oscillatore ha una precisione infinta e che anzi i metodi di sincronizzazione (§
15.7) presentano piccole variazioni (
jitter) della loro frequenza, occorre ricercare una soluzione per
g(t) che pur rimanendo limitata in banda presenti oscillazioni di ampiezza ridotta, in modo da tollerare meglio modesti
errori di precisione nella determinazione degli istanti di campionamento.
Vorremmo soddisfare contemporaneamente le esigenze
- occupare una banda contenuta;
- ricorrere ad un filtro con g(t) di durata ridotta e quindi poco complesso;
- ridurre la sensibilità agli errori di campionamento.
Per i punti 2 e 3 sarebbe sufficiente adottare g(t) di tipo rettangolare producendo un segnale dati del tipo x(t) = ∑k ak ⋅ rectτ(t − kTs), ma questo ha lo svantaggio di occupare una banda troppo elevata, che può essere ridotta ad un valore finito (punto 1) pur di accettare una durata per g(t) maggiore di Ts, come per il caso del sinc, che però ha eccessiva estensione temporale e code troppo ampie. Mostriamo ora come a partire dalla formalizzazione analitica dell’esigenza di non subire isi sia possibile ottenere una soluzione di compromesso a tutti e tre i problemi.
15.2.2.2 Criterio di Nyquist per l’assenza di ISI
Il fatto che sia un
rect che un
sinc permettano di evitare interferenza intersimbolica sembra suggerire che possano essere accomunate dal soddisfare un criterio generale: infatti, sia
rect che
sinc sono casi particolari di impulsi che rispettano le
condizioni espresse nel seguito, e che alla fine ci permettono di
negoziare il compromesso necessario a soddisfare le tre esigenze espresse sopra.
Condizioni di Nyquist nel tempo
Torniamo a riferirci alla (
21.1) per osservare che, affinché
x(t = nTs) dipenda dal solo valore
an e non dagli altri
ak con
k ≠ n, deve risultare
e cioè
g(t) deve passare da zero in tutti gli istanti multipli di
Ts, tranne che per
t = 0 dove deve valere
1, mentre per valori di
t intermedi può assumere qualunque valore. In tal caso infatti dalla
(21.1) si ottiene:
x(nTs) = ⎲⎳k ak ⋅ g(nTs − kTs) = ⎲⎳k ak ⋅ g((n − k)Ts) = an
dato che
m = n − k è un intero che vale zero solo quando
k = n. Le condizioni (
21.3) prendono il nome di
condizioni di Nyquist per l’assenza di interferenza intersimbolo (
isi) nel dominio del
tempo. Se una forma d’onda
g(t) soddisfa tali condizioni, allora viene detta
impulso di Nyquist().
Condizioni di Nyquist in frequenza
Dalle condizioni di Nyquist
nel tempo (21.3) se ne derivano altre
in frequenza, mediante i seguenti passaggi. Moltiplicando
g(t) per un treno di impulsi
πTs(t) = ∑k δ(t − kTs) si ottiene
g(t) ⋅ πTs(t) = δ(t)
dato che
g(nTs) = 0 e
g(0) = 1. Trasformando (vedi eq.
(10.61)) si ottiene:
1 = G(f) * 1Ts ⋅ Π1Ts(f) = G(f) * 1Ts ⋅ ⎲⎳k δ(f − k1Ts)
Indicando con
fs = 1Ts la frequenza di simbolo, ed eseguendo la convoluzione tra
G(f) e gli impulsi centrati in
f = kfs, risulta infine
che rappresenta la condizione
in frequenza per l’assenza di interferenza intersimbolo.
Il risultato ottenuto si interpreta considerando che una qualunque
G(f) va bene purché, se sommata con le sue repliche traslate di multipli di
fs, dia luogo ad una costante, ovvero se
G(f) manifesta
simmetria dispari rispetto ad
fs⁄2. In tal caso
G(f) può essere descritta come la risposta in frequenza di un
filtro di Nyquist. Notiamo che seppure
G(f) possa essere qualsiasi, anche non limitata in banda, il nostro interesse è appunto per le
G(f) limitate in banda, come quella triangolare dell’esempio a fianco.
15.2.2.3 Filtro a coseno rialzato
Descrive una famiglia parametrica di filtri di Nyquist limitati in banda, detti a
coseno
rialzato in quanto la
G(f) è realizzata mediante 2 semiperiodi di coseno raccordati da una retta, come mostrato a lato. La fig.
15.19-a)() illustra l’andamento di
G(f) per diverse scelte del parametro
0 < γ < 1 chiamato coefficiente di
roll-off, che rappresenta l’indice
di dispersione del ramo di coseno attorno alla frequenza
fs⁄2, detta
frequenza di Nyquist.
La banda occupata a frequenze positive da
G(f) può quindi essere espressa in funzione di
γ come
e varia da
un minimo B|γ = 0 = fs ⁄ 2 in corrispondenza di un
G(f)|γ = 0 = Ts rectfs(f) rettangolare, ad un
massimo pari a
B|γ = 1 = fs a cui corrisponde una
G(f)|γ = 1 = Ts2 [1 + cos(2π12fsf)] ⋅ rect2fs(f) con |f| < fs
che rappresenta esattamente un periodo di coseno (in
f) di periodo
2fs,
rialzato.
Il caso di
γ = 0 individua una
G(f) = Ts rectfs(f) e come già discusso a pag.
1 corrisponde ad un impulso
g(t) = sinc(fst).
Tale scelta viene detta
a banda minima poiché non è possibile occupare una banda
inferiore, dato che in tal caso non sarebbero verificate le condizioni di Nyquist in frequenza, in quanto nella
(21.4) resterebbero dei
“buchi”.
Abbiamo già osservato alla nota (
367) a pagina
1 come la realizzazione di
G(f) a banda minima sia complicata, dato che la corrispondente
g(t) = sinc(fst) va a zero con
t → ∞ come
1πfst, sviluppando
code che si estendono su di un elevato numero di simboli adiacenti: oltre a complicare la realizzazione del filtro, ciò comporta la possibilità di introdurre notevole
isi in presenza di errori negli istanti di campionamento. Ma la situazione migliora decisamente usando
γ > 0, con
γ via via più grande, come ora illustriamo.
Roll off
γ diverso da zero
In questo caso per
g(t) si può ottenere l’espressione generale
a cui corrisponde una forma d’onda
simile a
sinc(fst), ma che va a zero molto più rapidamente, come verificabile osservando la parte destra di Fig.
15.19. Pertanto se
γ → 1 le oscillazioni di
g(t) sono molto più smorzate, ed anche in presenza di errori negli istanti di campionamento
t = kTs ogni impulso estende la sua
influenza ad un numero di simboli limitrofi
molto ridotto rispetto al caso
γ = 0.
Per verificare visivamente quanto affermato, aiutiamoci con la fig.
15.23 che in alto a sinistra mostra l’andamento di un segnale dati realizzato adottando la
g(t) fornita dalla (
21.6), calcolata per
γ = 0.5, e per simboli
ak a due valori, pari a
0 e
1. Notiamo che al di fuori degli istanti di simbolo
t = kTs il segnale può assumere valori arbitrari, anche oltre la dinamica degli
ak. La rappresentazione fornita dal diagramma ad occhio per questo segnale dati, mostrato in alto a destra in fig
15.23, permette di valutare meglio la precisione di temporizzazione che è necessaria per evitare
isi, e che è pari a metà della
apertura orizzontale dell’occhio.
Gli ultimi due diagrammi nella parte inferiore di fig.
15.23 permettono il confronto tra le scelte relative alla banda minima e
massima: notiamo che nel primo caso (a destra)
g(t) è un
sinc, e l’apertura orizzontale dell’occhio si è ristretta, mentre nel secondo (a sinistra, con
γ = 1) l’occhio è alla sua apertura massima, ed i tracciati sono quasi del tutto identici tra loro, indipendentemente dai simboli precedenti e successivi.