Source: https://teoriadeisegnali.it/libro/html/html/libro-8.2.html
Timestamp: 2018-12-13 15:44:38+00:00

Document:
Codice di linea e impulso di Nyquist
Prec Sezione 8.1: Trasmissione su canale numerico Su Capitolo 8: Trasmissione dati in banda base Sezione 8.3: Errori nelle trasmissioni numeriche di banda base Segue
8.2 Generazione del segnale dati↓
Facendo di nuovo riferimento allo schema di generazione del segnale dati proposto al § 8.1.2↑, svolgiamo le considerazioni relative alla scelta della forma d’onda elementare g(t).
8.2.1 Codici di linea↓ a banda infinita
Come anticipato, lo spettro di densità di potenza PX(f) = σ2A(ℰG(f))/(Ts) di un segnale dati ha andamento che dipende direttamente [276] [276] In realtà al § 6.9.3↑ si mostra come il risultato possa essere un pò diverso nel caso di simboli statisticamente dipendenti e/o non a media nulla. da quello dello spettro di densità di energia ℰG(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 fig. 3.16↑ 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, e quindi capace di riprodurre il segnale inalterato.
La figura a lato mostra lo spettro di densità di energia ℰG(f) corrispondente alla scelta di alcune delle forme d’onda g(t) discusse nel seguito, e mostrato per frequenze fino al doppio di fb. Gli andamenti riportati in figura sono ottenuti generando i valori (0 o 1) per 400 simboli binari ak in modo pseudo-casuale [277] [277] La non perfetta indipendenza statistica dei simboli prodotti dal generatore di numeri casuali di un computer si può riflettere su di una ridotta generalità del risultato mostrato, che tuttavia rispecchia molto bene i casi reali., campionando il segnale dati (10.58↑) con 16 campioni per periodo di bit, e valutando con questi una stima spettrale [278] [278] Ottenuta applicando ai dati una finestra triangolare (§ 3.9.3↑) e quindi valutando il periodogramma (§ 6.3.1↑). . Ogni particolare g(t) dà origine alla definizione di un codice di linea corrispondente, usato nella pratica per trasmettere informazioni di natura binaria. Elenchiamo di seguito caratteristiche e proprietà di tali segnali, aiutandoci con gli esempi riportati in figura.
Codici unipolari
Sono associati a segnali sbilanciati, e presentano un valore nullo o diverso da zero per i due livelli logici 0 ed 1.
NRZ ↓ o No Return to Zero: il suo nome significa che il segnale “non torna a zero” per tutto il periodo di bit, essendo g(t) = rectTb(t); pertanto ha spettro 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 (§ 8.6↓) del clock del ricevitore, data l’assenza in questo caso di transizioni; la presenza di uno zero ad f = 1 ⁄ Tb aggrava inoltre la situazione.
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. Il segnale si mantiene però costante per lunghe sequenze di zeri.
Codici bipolari↓
Usano segnali bilanciati, e sono ricevuti mediante uno stadio di ingresso differenziale [279] [279] Vedi https://it.wikipedia.org/wiki/Amplificatore_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↓ o Diphase NRZ: realizza una codifica di fase, in quanto usa un impulso RZ a piena dinamica, in salita od in discesa, corrispondentemente ai 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 § 18.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. Qualora la logica sia invertita (impulsi per gli zeri, e silenzio per gli uni) il codice prende il nome di pseudo-ternario. Da un punto di vista spettrale, l’AMI esibisce una occupazione di banda [280] [280] La densità spettrale mostrata in figura è relativa all’uso di una g(t) di tipo RZ. 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 [281] [281] La codifica HDB3 è utilizzata per trasmettere il segnale pcm a 2 Mbps (vedi § 19.3.1↓), e l’acronimo significa High-Density Bipolar-3-zeroes. Come per ami, rappresenta gli uni con polarità alternate, ma rimpiazza le sequenze di quattro zeri consecutivi forzando una violazione della regola sull’ultimo bit dei quattro, in modo che il ricevitore, rilevando la violazione, è in grado di riportare il bit a zero. Dato però che la presenza della violazione creerebbe la comparsa di una componente continua nel segnale, sono inseriti anche dei bit di bilanciamento, per rimuovere quest’ultima. I bit di bilanciamento si collocano al posto del primo dei quattro zeri, e la loro polarità è scelta in modo che la sequenza delle violazioni abbia un polarità alternata; in definitiva, dopo la prima violazione, si usa sempre anche il bit di bilanciamento.. ↓
Codici differenziali↓
Sono ancora di tipo bipolare, e la forma d’onda non è più legata al solo valore dei bit, ma anche alla loro relazione temporale (vedi anche § 14.4↓). Ciò permette di risolvere l’ambiguità presente qualora si scambino le polarità degli estremi del collegamento [282] [282] In tal caso tutti gli zeri diventerebbero uni e viceversa, mentre con le codifiche differenziali questo viene evitato..
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.
Manchester Differenziale: usa un impulso RZ a piena dinamica come per il Manchester, ma la polarità risulta invertita rispetto al bit precedente se il nuovo bit è uno, mentre è mantenuta nel caso arrivi un 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.
8.2.2 Segnale dati↓ limitato in banda
Analizziamo ora i requisiti necessari per l’impulso g(t) in modo da realizzare un segnale dati che impegni una banda strettamente limitata, ed evidenziando le alternative di progetto.
8.2.2.1 Requisiti per l’impulso di trasmissione
Limitazione di banda
Abbiamo già osservato (vedi § 8.1.2↑) che (sotto opportune condizioni) la densità di potenza del segnale dati risulta pari a Px(f) = σ2A(|G(f)|2)/(T) (eq. (10.58↑)), e la sua trasmissione inalterata è possibile solo qualora sia inviato attraverso un canale perfetto (pag. 120↑), ovvero la cui risposta in frequenza presenti modulo costante e fase lineare nella banda di frequenze occupata da G(f). Se al contrario la banda del segnale eccede quella del canale, gli effetti di distorsione lineare introdotti su (10.58↑) non sono trascurabili, e gli impulsi g(t) si deformano (vedi § 8.1.2.2↑); in particolare, possono estendersi per una durata maggiore di Ts [283] [283] Come mostrato al § 8.1.2.2↑, il segnale dati filtrato è basato su impulsi g'(t) = g(t)*h(t), con una durata pari alla somma delle durate di g(t) e h(t). Pertanto, anche se g(t) è limitato nel tempo, come nei casi descritti al § 8.2.1↑, l’impulso g'(t) si può estendere a valori di t > Ts. Considerando ad esempio la trasmissione di soli due simboli a0 ed a1, si otterrebbe x(t) = a0g'(t) + a1g'(t − Ts), e dunque x(Ts) = a0g'(Ts) + a1g'(0) dipenderà da entrambi i simboli anziché solamente da a1, osservando quindi un errore pari a a0g'(Ts), detto appunto interferenza tra simboli., causando problemi di interferenza tra simboli (ISI).
Ad esempio, nel caso in cui si adotti g(t) = rectτ(t), allora G(f) = τsinc(fτ), con τ ≤ Ts; pertanto, il primo passaggio per zero è a frequenza (1)/(τ) ≥ (1)/(Ts), e la densità di potenza Px(f) può essere considerata nulla solo dopo diversi multipli di tale valore.
Limitazione nel tempo
Il problema della limitazione di banda potrebbe essere risolto adottando un impulso elementare di tipo g(t) = sinc(t⁄Ts), che ha trasformata G(f) = Ts⋅rect1⁄Ts(f) strettamente limitata in banda, dato che la massima frequenza è W = 1⁄2Ts: in tal caso il segnale dati non subisce alterazioni se il canale presenta un comportamento ideale in tale (limitato) intervallo di frequenze. Notiamo ora che questo particolare g(t) passa da zero per t = nTs, e quindi non provoca interferenza tra i simboli collocati agli istanti nTs, come verificabile notando che in tal caso l’espressione (10.58↑) risulta del tutto simile alla (8.21↑) relativa alla ricostruzione cardinale di un segnale campionato; ora però non siamo interessati al valore del segnale negli istanti che intercorrono tra quelli in cui sono centrati i simboli, mentre desideriamo unicamente recuperare i singoli valori originali, che troviamo in modo esatto agli istanti t = nTs.
Lo svantaggio di adottare una forma d’onda g(t) limitata in frequenza, è che il suo andamento è illimitato nel tempo, e dunque g(t) può essere realizzata solo in modo approssimato [284] [284] Come noto, un sistema fisico non può presentare una risposta impulsiva h(t) ≠ 0 per t < 0, perché questo equivarrebbe a produrre una uscita prima ancora che sia applicato un segnale al suo ingresso. Dunque lo schema mostrato al § 8.1.2↑ con g(t) = sinc(t⁄Ts) di estensione temporale illimitata, può essere realizzato solo in forma approssimata, ricorrendo ad una versione ritardata e limitata g’(t) = ⎧⎨⎩ g(t − TR) con t ≥ 0 0 altrimenti . Se TR≫Ts, l’entità dell’approssimazione è accettabile, ed equivale ad un semplice ritardo pari a TR; d’altro canto, quanto maggiore è la durata della risposta impulsiva, tanto più difficile (ossia costosa) risulta la realizzazione del filtro relativo.
Limitazione di precisione
Abbiamo appena mostrato come, adottando una g(t) = sinc(t⁄Ts), si evita l’interferenza tra simboli, purché i campioni vengano prelevati esattamente agli istanti nTs ( [285] [285] Al contrario, se g(t) = rectTs(t), il campionamento può avvenire ovunque nell’ambito del periodo di simbolo, ma si torna al caso di elevata occupazione di banda.). Infatti, al di fuori di tali istanti il valore del segnale dipende dal valore delle code degli impulsi g(t) centrati sugli altri simboli.
L’orologio (clock) del ricevitore, però, non ha una precisione infinita, e gli istanti di campionamento↓ saranno affetti da errori di fase. Pertanto, è interessante ricercare una soluzione per g(t) che, anche in presenza di errori di precisione nella determinazione degli istanti di campionamento, dia luogo ad errori quanto più ridotti possibile.
vorremmo soddisfare contemporaneamente le esigenze:
occupare una banda contenuta;
ricorrere ad un filtro poco complesso;
ridurre la sensibilità agli errori di campionamento.
Per i punti 2 e 3, è sufficiente adottare g(t) di tipo rettangolare, generando un segnale dati del tipo x(t) = ∑kak⋅rectτ(t − kTs), che ha lo svantaggio di occupare una banda infinita, e quindi la sua ricezione inalterata è possibile solo per canali ideali.
Prima di esporre una soluzione di compromesso a tutti e tre i problemi, consideriamo che la trasmissione di x(t) su di un canale non ideale H(f) determina un effetto di cui al § 8.1.2.2↑ abbiamo tenuto conto, considerando di ricevere un segnale dati caratterizzato da un impulso g’(t) = g(t)*h(t). Pertanto, nel caso in cui H(f) sia noto a priori, i risultati che troveremo (validi per g’(t)) individueranno in realtà un formatore di impulsi con G(f) = (G’(f))/(H(f)). Qualora viceversa l’H(f) non sia nota a priori, l’eventuale isi introdotta potrà essere contrastata adottando tecniche di equalizzazione (§ 15.4↓) al lato ricevente.
8.2.2.2 Condizioni di Nyquist↓
Con questo termine individuiamo i requisiti che devono essere soddisfatti dagli impulsi usati per generare un segnale dati privo di interferenza intersimbolica.
Torniamo a riferirci alla (10.58↑) per osservare che, affinché x(t)|t = nTs dipenda dal solo valore an e non dagli altri ak con k ≠ n, deve risultare
(10.60) g(t) = ⎧⎪⎨⎪⎩ 1 se t = 0 0 se t = mTs con m ≠ 0 ∀ altrove
condizioni di Nyquist nel tempo
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 (10.58↑) si ottiene:
x(nTs) = ⎲⎳kak⋅g(nTs − kTs) = ⎲⎳kak⋅g((n − k)Ts) = an
Le condizioni (10.60↑) prendono il nome di condizioni di Nyquist per l’assenza di interferenza intersimbolo (isi↓↓, Inter Symbol Interference) nel dominio del tempo. Se una forma d’onda g(t) soddisfa tali condizioni, allora viene detta impulso di Nyquist↓( [286] [286] Ad esempio, l’impulso rettangolare è di Nyquist, in quanto rectTs(t) = ⎧⎨⎩ 1 se |t| < (Ts)/(2) 0 se t = kTs .).
In frequenza
Dalle condizioni di Nyquist nel tempo (10.60↑) 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 § 3.8.3↑) si ottiene:
1 = G(f)*(1)/(Ts)⋅Π(1)/(Ts)(f) = G(f)*(1)/(Ts)⋅ ⎲⎳kδ⎛⎝f − k(1)/(Ts)⎞⎠
Indicando con fs = (1)/(Ts) la frequenza di simbolo, ed eseguendo le convoluzioni tra G(f) e gli impulsi centrati in f = kfs, risulta infine
(10.61) ⎲⎳kG(f − kfs) = Ts
condizioni di Nyquist in frequenza
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 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 lato.
8.2.2.3 Filtro a coseno rialzato ↓
Individua una famiglia parametrica di filtri di Nyquist limitati in banda, e viene detto a coseno rialzato in quanto è composto da 2 archi di coseno, raccordati da una retta, come mostrato in Fig. 8.12↓( [287] [287] La fig. 14.4↓ a pag. 1↓ mostra la stessa funzione su di una scala quadratica e in decibel.). La banda occupata a frequenze positive ha espressione
(10.62) B = (fs)/(2)(1 + γ) = (fb)/(2log2L)(1 + γ)
in cui γ è chiamato coefficiente di roll-off [288] [288] Il termine roll-off può essere tradotto come “rotola fuori “., è compreso tra 0 e 1, e rappresenta l’indice di dispersione del ramo di coseno. La banda di G(f) varia quindi da un minimo (per γ = 0) pari a B = fs ⁄ 2, con G(f)|γ = 0 = Tsrectfs(f) rettangolare, ad un massimo (per γ = 1) pari a B = fs e con G(f)|γ = 1 = (Ts)/(2)⎡⎣1 + cos⎛⎝2π(1)/(2fs)f⎞⎠⎤⎦⋅rect2fs(f), che è proprio un periodo di coseno rialzato.
Figura 8.12 Filtro a coseno rialzato e impulso di Nyquist per fs = 0.5, variando γ
Il caso di γ = 0 viene quindi detto a banda minima ↓, e corrisponde ad un impulso g(t) = sinc(fst), come già discusso a pag. 1↑ in relazione ai requisiti di limitazione nel tempo. Occupare una banda inferiore a quella minima non è possibile, perché in tal caso non sarebbero verificate le condizioni di Nyquist in frequenza, in quanto nella (10.61↑) resterebbero dei “buchi”. Abbiamo già osservato alla nota (137↑) a pagina 1↑ come la realizzazione di G(f) a banda minima sia complessa, mentre l’inviluppo di ampiezza per g(t) con andamento (1)/(πfs) determina code che si attenuano lentamente, e la possibilità di introdurre notevole isi in presenza di errori negli istanti di campionamento. La situazione però migliora decisamente usando γ > 0, con γ via via più grande.
Se γ ≠ 0, per g(t) si può ottenere [289] [289] Non ho trovato questi passaggi già svolti, qualche lettore può aiutare? Quel che sono riuscito a calcolare è relativo al caso γ = 1:
F − 1{G(f)|γ = 1} = (T)/(2)⎡⎣δ(t) + (1)/(2)δ⎛⎝t − (T)/(2)⎞⎠ + (1)/(2)δ⎛⎝t + (T)/(2)⎞⎠⎤⎦*(2)/(T)sinc⎛⎝(2)/(T)t⎞⎠ = = sinc⎛⎝(2)/(T)t⎞⎠ + (1)/(2) sinc⎛⎝(2)/(T)⎛⎝t − (T)/(2)⎞⎠⎞⎠ + (1)/(2) sinc⎛⎝(2)/(T)⎛⎝t + (T)/(2)⎞⎠⎞⎠
l’espressione generale [290] [290] Osserviamo che per t = 1⁄2γfs il denominatore di (10.63↓) si annulla, ma lo stesso avviene anche per il numeratore, che in tal caso vale cos(π)/(2), dando luogo alla forma (0)/(0).
(10.63) g(t) = sinc(tfs)⋅(cosγπtfs)/(1 − (2γtfs)2)
a cui corrisponde una forma d’onda simile al (sin(x))/(x), ma che va a zero molto più rapidamente, come verificabile osservando la parte destra di Fig. 8.12↑. Pertanto, se γ → 1 ogni singola onda g(t − kTs)estenderà la sua influenza ad un numero di impulsi limitrofi molto ridotto rispetto al caso γ = 0, in quanto le oscillazioni sono molto più smorzate, e dunque il termine di errore di ampiezza in presenza di un errore di istante di campionamento è ridotto, dato che dipende da un minor numero di impulsi limitrofi.
La fig 8.13↑ mostra in alto a sinistra l’andamento del segnale dati con g(t) fornito dalla (10.63↑), calcolata per γ = 0.5, e per ak a due valori, pari a 0 e 1. Notiamo che, al di fuori degli istanti caratteristici t = kTs il segnale può assumere valori arbitrari, anche esterni alla dinamica degli ak. La rappresentazione fornita dal relativo diagramma ad occhio, mostrato in alto a destra in fig 8.13↑, permette di valutare meglio la precisione di temporizzazione che è necessaria per evitare isi, e che è pari a metà della apertura orizzontale↓ dell’occhio.
Figura 8.13 Segnale dati e diagramma ad occhio per diversi valori di roll-off
Gli ultimi due diagrammi nella parte inferiore di fig. 8.13↑ permettono il confronto con i casi rispettivamente a banda minima e massima (per γ = 1), evidenziando l’influenza del roll-off.

References: § 8
 § 6
 § 18
 § 19
 § 14
 § 8
 § 8
 § 8
 § 8
 § 8
 § 8
 § 3