Appendice 6.4 - Gabriele Falciasecca
Transcript
Appendice 6.4 - Gabriele Falciasecca
APPENDICE 6.4 : RICHIAMI SULLA CAPACITA’ DI UN CANALE Si indichi con la notazione minuscola xi l’i-esimo simbolo appartenente all’alfabeto X (all’alfabeto attribuiremo la notazione maiuscola), composto da M simboli. Se ogni xi e’ caratterizzato da una probabilita’ di emissione pi, il contenuto informativo I(xi) di xi e’ assunto pari al logaritmo in base 2 dell’inverso di pi. Questa definizione soddisfa ai due requisiti base di una funzione che rappresenti il contenuto informativo: 1. I(xi) e’ funzione decrescente di pi 2. I(xi, xj), contenuto informativo congiunto di due simboli, e’ pari alla somma dei singoli contenuti informativi se xi e xj sono indipendenti. Il contenuto informativo medio di un simbolo dell’alfabeto, o entropia dell’alfabeto, si indica con H(X) ed e’ dato da: [6.5-1] ∆ M M i =1 i =1 H(X) = ∑ p i I( x i ) = ∑ p i log 2 1 pi bit/simbolo La scelta della base del logaritmo fissa l’unita’ di misura di I e di H: scegliendo la base 2, questa unita’ e’ il bit, contenuto informativo di una cifra binaria in un alfabeto a simboli equiprobabili. In particolare l’alfabeto X puo’ essere utilizzato dalla sorgente primaria di informazione: si ha allora l’alfabeto di sorgente e l’entropia di sorgente. Se la sorgente emette Bs simboli al secondo il prodotto BsH(X) e’ il flusso di informazione della sorgente e si misura in bit/s. Quando M= 2n, e’ agevole convincersi che e’ possibile rappresentare ogni xi con n cifre binarie: se i simboli xi sono indipendenti le cifre binarie risultanti dal flusso degli xi sono anch’esse indipendenti. In tal caso ogni pacchetto di n cifre binarie ha proprio il contenuto informativo di n bit se gli xi sono equiprobabili. Qualora i simboli siano tra loro dipendenti o a diversa probabilita’ il contenuto informativo medio del pacchetto di n cifre binarie e’ intuitivamente minore di n bit. Si puo’ verificare la disuguaglianza: [6.5-2] H(X) ≤ log2 M dove il segno di uguaglianza vale per xi indipendenti ed equiprobabili. Piu’ in generale la codifica binaria dei simboli xi e’ sempre possibile con un numero medio n di cifre binarie per simbolo limitato dalle disuguaglianze: [6.5-3] H(X) ≤ n ≤ H(X) + 1 A-1 Quando si e’ effettuata questa operazione di codifica sull’alfabeto di sorgente si e’ ridotta al minimo la ridondanza della sorgente, cioe’ si e’ ridotto il numero di bit/s necessari per rappresentarne il flusso informativo. Si noti anche che se il sistema non e’ sincronizzato, cioe’ non e’ noto per via indipendente quale sia la cifra binaria iniziale di ogni pacchetto, la [6.5-3] e’ egualmente valida, potendosi soddisfare anche alla cosiddetta “condizione sul prefisso”, che assicura una decifrazione non ambigua anche in assenza di sincronismo. Si puo’ verificare, a partire dalla stessa [6.5-3], che e’ possibile avvicinarsi tanto quanto si vuole ad H(X) se e’ lecito effettuare la codifica di sorgente raggruppando a blocchi di ν i simboli xi e poi effettuando la codifica di blocco. Questo e’ un primo caso in cui si verifica l’opportunita’ di raggruppare i simboli prima di codificarli. In conseguenza di cio’ si verifica quanto esposto dalla figura 6.5.1, dove i simboli in uscita yi sono di lunghezza diversa rispetto agli xi di ingresso. Tuttavia dopo il codificatore di sorgente si puo’ sempre pensare di avere un flusso binario ottimizzato: nel seguito si fara’ sempre riferimento a questa situazione. SORGENTE X CODIFICATORE νxi ⇒ yi yi SORGENTE A RIDONDANZA RIDOTTA Y fig. 6.5.1 Schema di riduzione di ridondanza Qualora la sorgente emetta simboli xi fra loro correlati e’ chiaro che la ricezione di xj fornisce all’utilizzatore un contenuto informativo diverso a secondo del fatto che egli conosca o no il valore dei simboli precedenti xj-1, xj-2 … . Si puo’ allora definire un contenuto medio di informazione per simbolo condizionato dalla osservazione di tutti i simboli a lui precedenti. Esso e’ indicabile con H∞(X): vale la seguente diseguaglianza intuitiva: [6.5-4] 0 ≤ H∞(X) ≤ H(X) A-2 dove il segno di uguaglianza a destra vale per simboli indipendenti. In presenza di correlazione tra i simboli, nelle relazioni precedentemente dimostrate va sostituita H∞(X) in luogo di H(X). Assumeremo comunque nel seguito che ogni sorgente posta all’ingresso di un canale di comunicazione sia stata sottoposta a due successive operazioni: codifica tramite simboli xi debolmente correlati e successiva riduzione di ridondanza. Di fatto quindi la sorgente sara’ caratterizzata dal suo flusso di informazione Br di cifre binarie incorrelate. La rappresentazione finale dello schema che considereremo e’ dunque quella di figura 6.5.2: la sorgente emette cifre binarie bi incorrelate a ritmo Br, che devono essere restituite all’utente a distanza, attraverso un’operazione di stima poiché di solito la trasmissione avviene in presenza di imperfezioni (flusso b̂ i ). Il collegamento tra sorgente e utente e’ tenuto dal canale di trasmissione, cui va premesso un codificatore di canale che, appoggiato dal gemello decodificatore, predispone il flusso informativo a superare i difetti del canale nel modo migliore. Non si e’ introdotta una sezione di mo-demodulazione, poiché non si è fatto qui riferimento alla realtà fisica del canale. La trattazione e’ inoltre per ora limitata ad una codifica a blocchi, senza considerare la possibilità di codifiche continue (codici convoluzionali). W SORGENTE bi CODIFICATORE DI CANALE X CANALE Z UTENTE b̂i DECODIFICATORE DI CANALE Y fig. 6.5.2 Canale con codifica Il canale di trasmissione e’ caratterizzato attraverso i suoi difetti: l’uscita yi non e’ una replica del tutto fedele dell’ingresso xi. Cio’ avviene ad esempio perché il canale restituisce un simbolo yi (cui attribuiremo lo stesso significato di xi) solo con probabilità pii mentre restituisce un qualunque altro yi con probabilità pij. Si tratta in tal caso del canale discreto senza memoria. Entrando nella parte A-3 fisica del canale alla forma d’onda che rappresenta xi può aggiungersi un disturbo avente una distribuzione di probabilità continua di tipo gaussiano: e’ il caso del canale gaussiano additivo. Allora il decodificatore può commettere errore nel riconoscere la forma d’onda che rappresenta yi. Una volta precisati gli schemi di codifica e decodifica (CODEC), l’insieme di canale e CODEC e’ sempre un canale discreto. Tuttavia e’ possibile effettuare delle considerazioni dirette sul canale continuo gaussiano additivo e dunque si procedera’, per questo caso, esaminando la situazione a livello di simboli yi. E’ necessario pero’ estendere la [6.5-1] al caso di variabile casuale x che assume un valore dell’insieme X con densita’ di probabilita’ p(x). L’estensione e’ diretta: [6.5-5] ∆ −∞ H(X) = ∫ p(x) log2 p(x) dx +∞ tuttavia non e’ priva di varianti tra le quali la possibilita’ per la [6.5-5] di assumere valori arbitrariamente grandi, positivi o negativi, per particolari scelte di p(x). Escludendo pero’ questi casi critici e’ possibile procedere ad una trattazione unitaria dei canali discreti e continui introducendo le seguenti entropie condizionate in aggiunta a quella di ingresso H(X) e di uscita H(Y): a) Entropia condizionata H(Y|X) che misura la quantita’ di informazione necessaria per specificare il simbolo di uscita quando quello di ingresso e’ noto. b) Entropia condizionata H(X|Y) che misura la quantita’ di informazione necessaria per specificare il simbolo di ingresso quando quello di uscita e’ noto. In particolare H(X|Y) e detta equivocazione: se il canale non perde contenuto informativo H(X|Y) = 0. Altrimenti la differenza: [6.5-6] ∆ I(X;Y) = H(X) – H(X|Y) determina il numero di bit per simbolo in transito nel canale. Il prodotto: [6.5-7] Bs I(X;Y) = Bs H(X) – Bs H(X|Y) rappresenta il flusso medio di informazione in bit/s transitati sul canale tenendo conto dell’eventuale perdita prodotta dalle sue imperfezioni. Il massimo valore di Bs e’ per definizione la capacita’ C del canale: [6.5-8] C = max I(X;Y) Bs bit/s A-4 dove il massimo e’ da intendersi ricercato al variare delle proprieta’ statistiche di X. La sorgente e’ dunque caratterizzata da una frequenza di cifra Br cui corrisponde dopo la codifica una frequenza di simbolo Bs: la capacita’ del canale si ottiene massimizzando sia I(X;Y) sia Bs, e indirettamente Br. Se il canale e’ a banda limitata Bs non puo’ superare un certo valore; se non c’e’ limitazione di banda, allora conviene riferirsi alla capacita’ C* per simbolo che e’ semplicemente pari al massimo di I(X;Y) e si esprime in bit/simbolo. Cominciando a esaminare un canale discreto si ha N [6.5-9] N H (X | Y ) = ∑ ∑ p( x i , y j ) log 2 i =1 j=1 1 p( x i | y j ) dove p(xi, yj) e’ la probabilita’ congiunta di xi e yj e p(xi| yj) quella di xi condizionata dalla ricezione di yj. Per tale canale si puo’ anche definire una probabilita’ di errore media P(e): [6.5-10] ∆ N N per i ≠ j P(e) = ∑ ∑ p( x i , y j ) i =1 j=1 Nelle due espressioni si e’ assunto che i due insiemi X e Y abbiano lo stesso numero di elementi N. Sulla espressione [6.5-9] si puo’ verificare che e’: H(X) + H(Y|X) = H(Y) +H(X|Y) [6.5-10] I(X;Y) = I(Y;X) che fornisce due alternative per il calcolo di I(X;Y). Un esempio rilevante si ha per il canale binario simmetrico BSC (Binary Symmetric Channel) che ha due simboli x1 e x2 in ingresso, due simboli y1 e y2 in uscita e la cui imperfezione e’ specificata dal fatto che risponde con yi a xi con probabilita’ (1-p), mentre con yj a xi (i ≠ j) con probabilita’ p. I simboli d’ingresso hanno probabilita’ p(x1) = P e p(x2) = (1-P). Si ha in tal caso: 1 1 + (1 − P) log 2 = H(P) P 1− P [6.5-12] H ( X ) = P log 2 [6.5-13] P(e) = p[p(x1) + p(x2)] = p [6.5-14] I(X;Y) = H(Y) – H(Y|X) = H(Y) –H(p) Per ottenere la [6.5-14] si osservi che in generale: A-5 N [6.5-15] N H (Y | X ) = ∑ ∑ p( x i , y j ) log 2 i =1 j=1 [6.5-16] p(yj|xi) = pij [6.5-17] p(xj|yi) = p(xi) pij 1 p( y j | x i ) e nel caso BSC: [6.5-18] 1 1 H(X|Y) = [p(x1) + p(x2)] p log 2 + (1 − p) log 2 = H (p) p 1 − p che, come si vede, dipende solo dal canale, cioe’ da p, e non dalle proprieta’ statistiche dei simboli. Allora il massimo della [6.5-14] si ha massimizzando H(Y); per la [6.5-2] tale massimo e’ pari a 1, ottenibile per simboli d’uscita (e d’ingresso) equiprobabili. Quindi si ottiene per C*: [6.5-19] C* = 1 –H(p) L’andamento e’ riportato in figura 6.5.3, dove si vede che si raggiunge il valore di un bit/simbolo (il canale e’ binario) solo se si e’ in assenza di errori (p=0 e p=1). Per p=0.5 C* e’ zero. Quindi, se in ingresso al canale il contenuto informativo medio H(X) e’ di un bit/simbolo, esso non puo’ essere restituito all’uscita, a meno che non sia p=0,1. E’ dunque necessaria una codifica di canale che distribuisca il bit di informazione su piu’ simboli binari: in tal caso il canale ne consente il transito senza deterioramento. A-6 C 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 p 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 fig.6.5.3 Andamento della capacita’ del canale binario in funzione della probabilita’ d’errore Le precedenti considerazioni, ricavate per il canale BSC, si estendono agli altri canali discreti: in particolare H(Y|X) non dipende dalla statistica dei simboli di ingresso e quindi la capacita’ del canale si ottiene massimizzando H(Y) ovvero introducendo simboli equiprobabili. Ulteriori precisazioni sul significato di C* sono ottenibili a partire dalla diseguaglianza di Fano: [6.5-20] H(X|Y) ≤ H[P(e)] + P(e) log2 (N –1) dove P(e) e’ dato dalla [6.5-10] ed H[P(e)] dalla [6.5-12] con argomento P(e). Il significato di H[P(e)] e’ quello di entropia di un alfabeto binario equivalente con simboli di probabilita’ P(e) e [1 – P(e)]. Poiche’: [6.5-21] H(X|Y) ≥ H(X) –C* si ha a maggior ragione: [6.5-22] H(X) –C* ≤ H[P(e)] + P(e) log2 (N –1) Dunque solo se H(X) ≤ C* si puo’ ottenere il transito di simboli con P(e)=0 o comunque piccola a piacere. In caso contrario esiste un limite inferiore per P(e) calcolabile tramite la [6.5-22] e la [6.5-12]. Ma esiste lo schema di codifica e decodifica e il riferimento piu’ diretto va fatto sulla entropia della sorgente di figura 6.5.2. Si consideri allora come simbolo una parola wi di k bit di sorgente di W e in uscita la corrispondente parola zj appartenente a Z. Ora le parole (word) di W sono 2k e la stessa disuguaglianza di Fano fornisce: A-7 [6.5-23] H(W|Z) ≤ H[P(e)] + Pw(e) log2 (2k –1) dove ora la probabilita’ media d’errore e’ indicata da PW(e) e si riferisce alle parole wi di W. Osservando la [6.5-21], il primo membro della [6.5-23] e’ sempre maggiore della differenza tra il numero medio di bit per simbolo di ingresso (ora H(W)) e quello massimo accettato dal canale. Si puo’ pensare che la parola wi di k bit venga codificata con n simboli xi. Quindi il canale di capacita’ C* fa transitare n simboli xi per trasmettere una sola parola wi. Il primo membro puo’ dunque essere sostituito da: [6.5-24] H(W) – nC* ≤ H[P(e)] + Pw(e) log2 (2k –1) Sia ora Hb l’entropia media per simbolo della sorgente (valutata tenendo conto dell’eventuale indipendenza dei simboli binari emessi); si ha allora: [6.5-25] H(W) = kHb Indicando con RW il numero dei simboli wi emessi in un secondo dalla sorgente si ha infine: [6.5-26] k n R W H b − C ≤ RW H[P(e)] + RW Pw(e) log2 (2k –1) n La [6.5-26] puo’ interpretarsi in questo modo: per avere probabilita’ di errore media per parola piccola a piacere, il numero di bit/s informativi emessi dalla sorgente deve essere mantenuto minore di C, attraverso l’uso di una opportuna frequenza di codifica Rc: [6.5-27] Rc = k n Si noti che kRWHb e’ il numero di bit emessi per parola wi, mentre RWPw(e) e’ il numero medio di parole errate per secondo. Shannon ha inoltre dimostrato che vale la seguente diseguaglianza: [6.5-28] Pw(e) < e-nf(R) con R=RcHb per almeno un metodo di codifica di frequenza Rc con 0 ≤ R ≤ C*, dove f(R) e’ una funzione convessa decrescente di R che va a zero per R=C*. Questo e’ il teorema che garantisce la possibilita’ di raggiungere basse probabilita’ d’errore con la sola complicazione di codifica: infatti Pw(e) puo’ diminuirsi aumentandone n a parita’ di k/n. Cio’ significa ridurre RW, aumentare k e complicare la decodifica accettando piu’ alti tempi di ritardo. E’ questo la nuova via suggerita da Shannon, in alternativa a quella di aumentare C (riducendo i difetti del canale ad esempio con l’aumento della potenza) o ridurre Rc, che significa, a parita’ di kRW, aumentare il numero dei A-8 simboli xi inviati nell’unita’ di tempo: quest’ultima soluzione richiede un aumento di banda a parita’ di ogni altra condizione. Questi aspetti appariranno piu’ chiari nel caso di canale continuo. Il canale continuo, di gran lunga piu’ importante, e’ il cosiddetto AWGN (Additive White Gaussian Noise): con riferimento alla figura 6.5.2 ora il simbolo di ingresso x appartiene ad un insieme X continuo. Nel canale entra ancora un simbolo con frequenza Bs, e con identica cadenza ne esce uno, y, appartenente a sua volta all’insieme continuo Y. La relazione tra uscita e ingresso del canale e’ semplicemente: [6.5-29] y=x+n dove n e’ una variabile aleatoria a distribuzione gaussiana con valor medio nullo e varianza σn2. Cio’ si indica con n ~ g(0, σn2). Nel caso discreto i vari xi erano contraddistinti da una certa p(xi) di essere emessi, ora, nel canale continuo si avra’ per x una densita’ di probabilita’ (pdf) p(x), sulla base della quale e’ calcolabile l’entropia di ingresso con la [6.5-5]. La capacita’ del canale e’ ancora ottenibile tramite la [6.5-8], ma questa volta si ha: [6.5-30] ∆ −∞ −∞ H(X|Y) = - ∫ ∫ fxy (x,y) log2 fx|y (x|y) dx dy +∞ +∞ dove sono state introdotte le pdf congiunta fxy e condizionata fx|y. Tuttavia anche in questo caso e’ piu’ agevole utilizzare la [6.5-14], poiche’ l’entropia di y condizionata dal valore di x e’ calcolabile direttamente dalla [6.5-5] introducendo una pdf gaussiana a valor medio x e varianza σn2. Si ottiene il seguente risultato: [6.5-31] H(X|Y) = 1 log2 2πeσn2 2 dove si puo’ verificare ancora una volta la dipendenza di H(X|Y) solo dalle caratteristiche del canale e non dalla statistica dei simboli in ingresso. La capacita’ C* si puo’ allora ottenere massimizzando H(Y): si puo’ dimostrare che il massimo di entropia per il caso continuo si ha per pdf gaussiana, a parita’ di varianza. E’ quindi chiaro che y deve assumere pdf gaussiana e cio’ avviene solo se anche x lo fa. Possiamo allora derivare C* ponendo x ~ g(0, σx2), dove il valor medio e’ assunto nullo peche’ non potrebbe aggiungere nessun contenuto informativo a fronte di spreco di potenza. Si ha allora y ~ g(0, σx2 + σn2) e infine: [6.5-32] C* = σ2 1 log 2 1 + x2 σ 2 n bit/simbolo Utilizzando questo risultato siamo infine in grado di calcolare la capacita’ C di un canale limitato in banda, con difetto del tipo AWGN, continuo nel tempo. Questo canale riceve dalla sorgente i A-9 simboli binari che vengono impacchettati al suo ingresso in una parola di codice wj di k simboli binari; sulla base di wj si effettua la scelta di una forma d’onda continua fj(t) appartenente ad un insieme F di N elementi. Poiche’ il canale ha banda monolatera B, tutte le forme d’onda di F devono soddisfare a questa limitazione di banda. All’uscita del canale continuo si effettua la stima della forma d’onda emessa, f̂ j ( t ) , in base alla quale si stima la parola d’uscita Zj e la sequenza di simboli binari b̂ i da inviare all’utente. Come mostrato in figura 6.5.4, il canale continuo’ puo’ sempre essere pensato come la cascata di un campionatore con frequenza di campionamento 2B, che emette simboli continui appartenenti ad X con tempo di simbolo 1/2B, di un canale AWGN operante a tempo discreto, di un ricostruttore/stimatore della forma d’onda trasmessa. Nell’operazione di campionamento non si perde contenuto informativo; se anche l’operazione di demodulazione/decodifica e’ fatta in modo ideale, la perdita di contenuto informativo, e quindi la capacita’ del canale, sono determinate dal passaggio dei valori campionati nel canale discreto. La capacita’ C puo’ dunque calcolarsi moltiplicando per 2B il valore di C* appropriato per tale caso. Si ha per σx2 un valore pari alla potenza media P dei campioni, ovvero dell’insieme delle forme d’onda di partenza, poiche’ il campionamento e’ una espansione in serie di funzioni ortonormali. Inoltre il rumore, di densita’ di potenza piatta bilatera N0/2, in una banda monolatera B ha campioni di varianza σn2 = N0B. In conclusione il canale gaussiano limitato in banda ha capacita’ C: [6.5-33] P C=B log2 1 + N0B bit/s Questo risultato dovuto a Shannon specifica le prestazioni limite con coppie codificatore/decodificatore e modulatore/demodulatore ottime. Non si entra qui nel merito della distinzione tra le varie parti: esse possono essere realizzate in vari modi e con diversi livelli di perfezione. Di cio’ si occupa la parte applicativa della modulazione e della codifica. A-10 fj(t) W CODIFICATORE/ MODULATORE SORGENTE bi CAMPIONATORE Tc=1/2B CANALE AWGN CONTINUO A BANDA B X CANALE AWGN DISCRETO A BANDA B Z / f̂ j (t ) UTENTE b̂i DEMODULATORE/ DECODIFICATORE fig. 6.5.4 Canale continuo AWGN A-11