8 - IL CANALE BIANCO GAUSSIANO (AWGN) Processi aleatori E' importante distinguere tra i segnali cosiddetti certi e quelli aleatori. Un esempio di segnale certo può essere una cosinusoide di cui sia nota sia l'ampiezza che la fase, mentre un segnale aleatorio (casuale) non è noto con esattezza prima che questo venga prodotto (ad esempio il rumore di un ruscello, o le notizie presenti in un telegiornale). Anche nel caso in cui il segnale non è noto a priori, e dunque è impossibile calcolarne la trasformata di Fourier in forma chiusa, si può ugualmente giungere ad una rappresentazione che caratterizzi le realizzazioni del processo nei termini della distribuzione (statistica) in frequenza della potenza di segnale. Ciò è possibile considerando la funzione di autocorrelazione, che esprime il grado di interdipendenza statistica tra i valori assunti in istanti diversi dalle realizzazioni del processo, e che costituisce un elemento unificante ai fini della stima spettrale dei segnali. Consideriamo un processo casuale x(t): l’autocorrelazione vale Rx ( ) E[ x * (t ) x(t )] e per =0 R x (0) E[| x(t ) | 2 ] Se Rx()=0, x(t) e x(t+) si dicono incorrelati. Dato un processo casuale a media nulla, si avrà quindi (essendo Var (X)=E[X2]-E[X] 2 ) Rx (0) E[| x(t ) |2 ] x . 2 Valor medio e autocorrelazione di un processo casuale hanno valore rispettivamente T / 2 1 x(t )dt T T T / 2 x lim T / 2 1 Rx ( ) lim x * (t ) x(t )dt T T T / 2 La densità spettrale di potenza di un processo casuale x(t) è definita come la trasformata di Fourier dell’autocorrelazione Rx(): Sx(f) viene chiamata densità spettrale di potenza perchè l’autocorrelazione in =0 rappresenta la potenza del processo T / 2 1 x 2 (t )dt Px T T T / 2 Rx (0) lim e l’autocorrelazione in =0 è uguale all’integrale della sua trasformata: R x (0) S x ( f )df Px La densità spettrale di potenza per un processo casuale x(t) rappresenta quindi come è distribuita statisticamente la potenza alle varie frequenze. Rumore bianco Chiamiamo AWGN (Additive White Gaussian Noise channel) il canale di trasmissione teorico in cui il rumore ha densità spettrale S(f) costante e pari ad N0 watt/Hz, unità di misura che proviene dal rapporto fra potenza e unità di banda di frequenza: S(f)=N0 f . Dunque il suo spettro è piatto (nella realtà questo vale almeno in un vasto range di frequenze): (in figura si considera solo lo spettro positivo) Il nome “bianco” dipende dal fatto che in ottica il bianco è la sovrapposizione di tutte le frequenze della luce visibile. Dal punto di vista statistico, il rumore bianco è caratterizzato dall'avere valori istantanei del tutto privi di correlazione. Nell' ambito dell' elettronica e delle telecomunicazioni il canale AWGN è rappresentativo del fenomeno del rumore termico per il quale gli elettroni di un conduttore sono in continua agitazione anche in assenza di forze esterne. Questo è equivalente ad avere sul conduttore un segnale di fondo incognito. Tale segnale costituisce un rumore di disturbo per i segnali elettrici utili. L' agitazione termica non è deterministica, perciò il segnale è descritto come una variabile aleatoria con distribuzione gaussiana, valor medio nullo e varianza che corrisponde alla potenza del disturbo. Si chiama additivo in quanto si somma sempre ai segnali utili. La funzione densità di probabilità f(z), espressa in probabilità per unità di ampiezza, dp/dz) che il rumore sia compreso fra z e z+dz è espressa dalla funzione di distribuzione gaussiana f ( z) 1 2 exp( z2 ) 2 2 dove z è una variabile continua avente valor medio 0 e varianza 2 che – come discende dalla teoria dei processi aleatori descritta nel paragrafo precedente - rappresenta la potenza di rumore PN. La distribuzione ha la consueta forma a campana. Consideriamo un canale gaussiano dove la variabile casuale è il rumore z, con media 0 e varianza PN, ingresso il segnale X e uscita il segnale Y, devono essere legati dalla relazione Y=X+Z. X è costituito dalle forma d’onda che rappresentano i simboli della sequenza di ingresso. Se si indica con xi la forma d’onda che rappresenta l’i-esimo simbolo di una sequenza di n simboli, avremo che per n abbastanza grande la potenza massima P del segnale di ingresso, espressa in energia per unità di tempo (watt) limita superiormente la media della potenza delle singole forma d’onda: 1 n 2 xi P n i 1 Consideriamo blocchi di lunghezza n di ingresso x, uscita y e rumore z, avremo y=x+z e quindi 1 n 2 1 n z i ( y i xi ) 2 PN n i 1 n i 1 ossia (8.1) ||y-x||2nPN Questa relazione esprime il concetto che molto probabilmente, quanto più grande è n la n-pla di uscita y sarà dislocata nella sfera ad n dimensioni di centro x e raggio (nP N)1/2. Ma ingresso e rumore sono statisticamente indipendenti, per cui la potenza di uscita non dovrà superare la somma di quella di ingresso e di quella di rumore: 1 n 2 yi P PN n i 1 ossia ||y||2n(P+PN). (8.2) L’ipersfera di raggio R così definita è centrata nell’origine dello “spazio delle uscite” visto che con elevata probabilità ogni uscita gace al suo interno. Analogamente al ragionamento fatto per il secondo teorema di Shannon, ci dobbiamo chiedere: quante n-ple x sono trasmissibili in modo che le loro ipersfere di uscita definite dalla (8.1) non siano mai sovrapposte, ovvero siano tali che ogni uscita y appartenga ad una ed una sola ipersfera (8.1) in modo da individuare uno ed un solo ingresso x in cui possa essere univocamente decodificata ? In altre parole, quante ipersfere (8.1) entrano senza sovrapporsi nell’ipersfera (8.2) ? Come per il secondo teorema di Shannon, la risposta è che il numero cercato è il rapporto fra (8.2) le (8.1). Il volume di un’ipersfera in n dimensioni è dato da 4 Vn=KnRn , Kn costante indipendente dal raggio Rn (per n= 3, K ). 3 r nPN R n( P PN ) Nel caso più generale, il numero massimo di messaggi o n-ple x che possono essere trasmessi in modo affidabile, cioè in modo da associare ogni uscita ad uno ed un solo ingresso, è: K n( P PN ) M n K n (nPN ) n / 2 n/2 (1 P / PN ) n / 2 . Si ottiene che la massima velocità consentita, ovvero la capacità del canale AWGN è C 1 1 log M log( 1 P / PN ) . n 2 (8.3) Ricordiamo ora il teorema del campionamento: Dati due segnali ingresso e rumore limitati in banda nell’intervallo (-W,W), essi possono essere rappresentati con almeno 2W campioni per unità di tempo. Se il rumore è un processo gaussiano bianco, ha densità spettrale N0/2 (si considera solo la parte positiva dello spettro), con varianza 2 pari alla potenza del segnale Nella condizione di limitazione ad una banda W del rumore bianco gaussiano, si può ottenere un canale “discreto” campionando alla frequenza di Nyquist, e la potenza del rumore per campione sarà W PN W N0 df N 0W . 2 Sostituendo nella (8.3) otteniamo C 1 P log 1 bit/campione trasmesso. 2 N 0W Trasmettendo 2W campioni al secondo, si giunge a P C* W log 1 bit/sec N 0W formula di Shannon per la capacità del canale AWGN. Dunque i fattori che determinano la capacità del canale AWGN sono la larghezza di banda W, la densità spettrale di rumore N0 e la potenza del segnale P. Tuttavia la potenza è argomento del logaritmo e quindi l’incremento di potenza produce solo au lento aumento della capacità. Invece l’aumento della larghezza di banda produce due effetti: - aumento del tasso di informazione (quindi del numero di campioni al secondo) - ingresso di maggior rumore nel sistema. Infatti facendo tendere W all’infinito si ottiene: lim C* log e W P P 1.44 N0 N0 avendo applicato la regola di De L’Hospital. (8.4) Dunque si vede che anche un illimitato incremento della larghezza di banda non produce un illimitato incremento della capacità del canale rumoroso. Se dividiamo per W e introduciamo la nozione di bit rate spettrale r R* W (8.4a) dove R* è il tasso di informazione/bit rate corrispondente a C*, si ottiene r log( 1 P ) N 0W (8.5) Se poniamo Eb da cui anche r log( 1 P R* energia per bit rEb ) N0 per una trasmissione affidabile (R*<C*) si vede che, dalla 8.4, 1.44 P R* R * R * N0 da cui Eb 0.693 N0 Famosa disuguaglianza che limita la trasmissione affidabile. Si possono prevedere due casi estremi: r<<1 (caso a banda limitata data la definizione di r) r>>1 (caso a potenza limitata, dalla (8.5)). Esistono altre due limitazioni notevoli, note in generale: una relativa all’entropia di sorgente H(S)<C l’altra relativa alla funzione di distorsione R(D)<C. PULSE CODE MODULATION La Pulse Code Modulation (PCM) è una tecnica basilare per la codifica in forma digitale dei segnali analogici. E’ una tecnica importante in quanto consente la trasmissione in forma digitale di segnali analogici. Abbiamo visto che la rappresentazione numerica (o digitale) di un segnale analogico richiede la sua discretizzazione sia nel tempo che in ampiezza: • La discretizzazione nel tempo è operata dal campionamento. • La discretizzazione in ampiezza è operata tramite un’operazione chiamata quantizzazione La PCM è in grado di convertire forme d’onda analogiche in segnali digitali attraverso la catena delle tre seguenti operazioni: – Campionamento – Quantizzazione – Codifica. In pratica la codifica PCM operata in trasmissione è una conversione analogicodigitale (ADC). Per poter ricostruire a destinazione il segnale analogico originario, dovrà quindi seguire in ricezione una decodifica che realizzi la conversione digitale-analogica (DAC). Per prima cosa, il segnale analogico x(t) viene limitato in banda e campionato a frequenza fc = 1/Tc, ottenendo una sequenza di campioni x(kTc). L’ampiezza di questi campioni è distribuita su un intervallo continuo. Il quantizzatore arrotonda appunto il valore di ampiezza di un dato campione, x(kTc), al valore più vicino fra quelli contenuti in un insieme finito di Q valori discreti. I Q valori discreti sono chiamati livelli. L’operazione di quantizzazione viene svolta per tutti i campioni x(kTc) generando la sequenza di campioni quantizzati xq(kTc). I campioni xq(kTc) sono discreti nel tempo (campionamento) e in ampiezza (quantizzazione). Ovviamente, in generale, x(kTc) xq(kTc). Infatti solo per caso uno dei Q livelli discreti sarà perfettamente uguale al valore del campione che si vuole quantizzare. Tuttavia, xq(kTc) è livello discreto (fra i Q livelli disponibili) più vicino a x(kTc) . Si può scrivere allora che: xq (kTc ) = x(kTc )+ k dove k è chiamato errore di quantizzazione. Chiamato il passo di quantizzazione e supponendo che i livelli di quantizzazione siano equispaziati fra loro proprio di , allora è evidente che: | k | / 2 k Spesso sono preferibili livelli di quantizzazione non equispaziati. Qui ci Limitiamo al caso equispaziato. L’errore di quantizzazione commesso nell’assegnare un campione al livello più vicino non può essere recuperato o compensato in ricezione, e caratterizzerà irreversibilmente il segnale. Minore è , minore sarà l’errore di quantizzazione. Tuttavia, diminuendo (e mantenendo uguale l’intervallo di ampiezze coperto dai livelli di quantizzazione) aumenta il numero di livelli Q. CODIFICA M-aria La codifica è l’operazione volta a esprimere il livello individuato da un campione tramite un numero in base M. Esempio: – il k-esimo campione (3.142 V) viene assegnato all’i-esimo livello (3.100 V) dal quantizzatore. – In corrispondenza di ciò, il codificatore pone in uscita il numero che contraddistingue il livello individuato, cioè i. – Tale numero sarà espresso in base M, usando n cifre. Esempio: il livello numero 17 può essere espresso con 2 cifre in base decimale (M = 10, n= 2) e con 5 cifre in base binaria come 10001 (M = 2, n = 5). Quindi, per ogni campione, il codificatore pone in uscita n cifre le quali sono in grado di esprimere il livello individuato fra i Q livelli possibili. La legge che lega il numero di possibili livelli Q, la base del codice M e il numero di cifre per livello n, è la seguente: Q =Mn n=logM (Q) (se Q non è una potenza di M (ossia Q Mk con k intero), n è il più piccolo intero maggiore di logM(Q)) Il caso più comune è la codifica binaria in cui le 2 possibili cifre [0, 1] sono dette bit e per il quale Q=2n, n=log2(Q) Nella pratica, il codificatore è seguito da un blocco che mette in sequenza (in serie) le n cifre poste in uscita dal codificatore in parallelo. Queste n cifre sono relative ad un campione. I campioni si susseguono ad intervalli di Tc secondi. Quindi, per la trasmissione di ogni cifra si avrà a disposizione un tempo pari a Tc / n (tempo di cifra). Indichiamo con r il numero di cifre al secondo in uscita dal convertitore parallelo-seriale. Se viene trasmessa una cifra ogni Tc / n, allora: r = n/Tc = n fc . La grandezza r viene chiamata symbol rate e si misura in cifre/sec o, più in generale, in simboli/sec. r [cifre] [cifre] [camp] n fc [sec] [camp] [sec] Nel caso binario, r è detta bit rate (misurata in bit/sec) e il tempo di cifra viene chiamato tempo di bit. Volendo diminuire l’errore di quantizzazione, si deve aumentare il numero di livelli (Q) con un conseguente aumento del numero di cifre per campione (n) e della symbol rate (r). NECESSITA’ DI CODIFICA DI CANALE Abbiamo visto le limitazioni esistenti per la trasmissione affidabile, che però non comportano ancora l’analisi della probabilità di errore nel canale rumoroso (che noi consideriamo essere lo AWGN). Nel caso PCM si può dimostrare che la probabilità d’errore per bit Pb, con riferimento alla funzione densità di probabilità ponendo in essa =1, vale Pb 2 Eb z2 2 exp( )dz N0 2 x (8.6) Il che implica la seguente osservazione: per diminuire la probabilità d’errore, ossia in definitiva il valore dell’integrale, si deve aumentare l’estremo di integrazione inferiore, ovvero l’energia del segnale. Questo incremento può essere effettuato in due modi: - aumentando la potenza del trasmettitore - aumentando la durata del bit come si deduce dalle formule ricavate nei primi paragrafi del capitolo. Nel primo caso si incontrano i limiti fisici del trasmettitore, nel secondo si diminuisce la bit rate. La prima idea fu quindi quella di far tendere a zero la bit rate (come nel caso dei codici a ripetizione). Ma la conoscenza del lavoro di Shannon ha portato ad ottenere risultati più interessanti attraeverso opportune codifiche di canale. Se generalizziamo la (8.6) a sequenze di k bit, con un numero M di messaggi pari a 2k, si trova che la probabilità di errore per la sequenza è limitata da Pe MQ 2d HM Eb N0 (8.7) dove Q 2 exp( x z2 )dz 2 La (8.7) è molto importante perché sottolinea che per diminuire la probabilità di errore, aumentare la distanza minima fra le sequenze equivale ad aumentare l’energia per bit trasmesso. Dunque l’adozione della codifica di canale è necessaria proprio perché consente di aumentare la distanza minima fra le sequenze e di diminuire così la probabilità di errore. Si osserva però anche che la diminuzione della probabilità d’errore si può ottenere anche con l’uso di M segnali ortogonali, ossia tali per cui il prodotto fra due segnali distinti si annulli. Questo può avvenire solo aumentando la larghezza di banda in modo esponenziale. Ci si chiede allora se esista un modo per trasmettere i segnali su canale rumoroso in accordo con il secondo teorema di Shannon (R*=C*-) ma evitando la crescita esponenziale della larghezza di banda. La risposta è affermativa: è possibile studiare una codifica di canale incentrata sul criterio seguito per la dimostrazione del secondo teorema di Shannon, ossia codificando i 2k messaggi, invece che su 2k k-ple, in 2k n-ple opportunamente scelte fra le 2n n-ple possibili, n>k. Questa scelta permette di aumentare la distanza di Hamming minima, quindi come si è visto di diminuire la probabilità di errore. Ad esempio se per trasmettere 22=4 messaggi si usano le coppie binarie, la distanza minima di Hamming è 1. Se invece i quattro messaggi vengono codificati in quattro terne binarie, è possibile sceglierle in modo che la distanza di Hamming minima sia 2: ad es. 000,110,101,011. Questo corrisponde, come visto a suo tempo, ad introdurre (n-k) digit di ridondanza ovvero a diminuire la bit rate relativa R=k/n al fine di diminuire la probabilità di errore. Ovviamente più R è vicina ad 1 più è difficile aumentare la distanza minima. Si introduce allora la grandezza guadagno asintotico di codifica G G d HM R La distanza minima è sempre1, mentre la bit rate è tale per cui R<1: quindi G può risultare maggiore, minore o uguale ad 1. In ogni caso, si può dire che dati certi valori di k e di n, il codice ottimo è quello che fornisce la dHM maggiore. Studiamo ora il legame fra codifica ed incremento di banda W. In assenza di codifica, ad ogni impulso trasmesso corrisponde un bit, quindi la durata temporale di un bit è Tb 1 dove R* è la bit rate in bit/sec. R* Una volta introdotta la codifica, nel tempo in cui vengono trasmessi k bit senza codifica ora vengono trasmessi n bit, quindi in tempo dedicato ad un bit si è ridotto del fattore k/n=R. Questo corrisponde (v. 8.4a ) ad un allargamento della banda occupata pari ad n/k: B Wcod n 1 Wnoncod k R Ossia ora la banda cresce linearmente e non esponenzialmente come nel caso dei segnali ortogonali. Si dimostra anche che nel caso AWGN è possibile trovare codici che al crescere di n, e quindi di k, permettono una probabilità di errore che tende a zero a fronte di un mdesto incremento della banda. La ricerca di codici ottimi è durata decenni ed ha portato allo sviluppo di due classi di codici: i codici blocco (senza memoria) e i codici convoluzionali (con memoria). Nei codici a blocco i k bit di informazione sono legati solo ad un blocco di n digit, nei secondi i k bit influenza fino ad m blocchi consecutivi, ciascuno di n digit (m è la memoria del codice convoluzionale). Abbiamo visto nei paragrafi dedicati alla codifica di sorgente che i messaggi venivano associati a sequenze costituite dai simboli dell’alfabeto di codice, dette parole di codice. Analogamente per la codifica di canale: ciascuna delle 2k k-ple di informazione viene trasformata in una delle 2n n-ple (nk), dove k=n corrisponde all’assenza di codifica.