Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Teoria dell informazione A.A. 2008-09 Alberto Perotti DELEN-DAUIN Modello di sistema di comunicazione Il modello di sistema di comunicazione proposto da C. E. Shannon è il seguente: Sorgente Codificatore di sorgente Codificatore di canale Modulatore Voce, video, musica, dati, Zip, JPEG, MPEG, MP3, vocoder GSM e UMTS, Canale Destinatario Decodificatore di sorgente Decodificatore di canale Demodulatore 2 1
Sorgente stazionaria discreta La sorgente d informazione è caratterizzata da un alfabeto X costituito da M simboli: La sorgente emette messaggi costituiti da una sequenza di simboli: Sorgente x 0, x 1, 3 Sorgente stazionaria discreta (cont.) L emissione di un simbolo è un esperimento casuale il cui spazio campione coincide con l alfabeto X. Ogni simbolo è emesso dalla sorgente estraendolo dall alfabeto con probabilità Il messaggio è quindi rappresentabile come un processo casuale stazionario. Sorgente x 0, x 1, 4 2
Informazione Ad ogni simbolo dell alfabeto è associata una grandezza chiamata informazione: Interpretazione: Un simbolo molto probabile contiene poca informazione Un simbolo poco probabile contiene molta informazione Unità di misura: bit (logaritmo in base 2) 5 Informazione (cont.) Una generale proprietà dell informazione così definita: Simboli poco probabili, la cui emissione è un evento raro, forniscono una quantità elevata di informazione. Simboli molto probabili, la cui emissione è un evento frequente, forniscono una quantità ridotta di informazione. 6 3
Informazione (cont.) Altra proprietà interessante: Cioè l emissione di una coppia di simboli statisticamente indipendenti fornisce una quantità d informazione pari alla somma delle informazioni fornite dai singoli simboli 7 Entropia Il contenuto informativo medio dell intera sorgente, intesa come l insieme dell alfabeto e della sua associata distribuzione di probabilità, è misurato dall entropia di sorgente: Si tratta di una media pesata dell informazione associata ad ogni simbolo L informazione è pesata con la corrispondente probabilità di simbolo. Unità di misura: bit/simbolo (logaritmo in base 2) 8 4
Entropia (cont.) Esempio: sorgente binaria X = {0, 1} con p 0 = p, p 1 = 1 p. Valore massimo H(X) p = ½ H = 1 Valori minimi 1 p = 0, p =1 H = 0 0 ½ 1 p 9 Entropia (cont.) Teorema: l entropia di una sorgente con alfabeto X costituito da M simboli soddisfa la disuguaglianza L uguaglianza è raggiunta solo quando tutti i simboli sono equiprobabili. 10 5
Entropia (cont.) Esercizio: calcolare l entropia di una sorgente con alfabeto X costituito da 4 simboli con probabilità p 1 = ½ p 2 = ¼ p 3 = p 4 = 1/8 Soluzione: 11 Il canale discreto Si tratta di un sistema avente X ingressi e Y uscite, caratterizzato dalle probabilità condizionali di transizione. Esempio: il canale binario simmetrico X 1-p 1 1 p p 0 1-p 0 Y 12 6
Il canale discreto (cont.) Esempio: il canale quaternario. Può essere descritto mediante una matrice: x 1 p 11 p 12 y 1 X x 2 x 3 p 21 p 31 y 2 y 3 Y x 4 p 41 p 43 p 44 y 4 13 Il canale discreto (cont.) Si definisce l entropia d ingresso come x 1 p 11 p 12 y 1 p 21 x 2 y 2 Misura l informazione media dell alfabeto di sorgente. X p 31 x 3 y 3 Y p 41 p 43 x 4 y 4 p 44 14 7
Il canale discreto (cont.) Si definisce l entropia d uscita come x 1 p 11 p 12 y 1 p 21 x 2 y 2 Misura l informazione media dell alfabeto d uscita. X p 31 x 3 y 3 Y p 41 p 43 x 4 y 4 p 44 15 Il canale discreto (cont.) Si definisce l entropia congiunta come x 1 p 11 p 12 y 1 p 21 x 2 y 2 Misura l informazione media fornita da una coppia costituita da un simbolo d ingresso e da uno d uscita. X p 31 x 3 p 41 p 43 y 3 Y x 4 y 4 p 44 16 8
Il canale discreto (cont.) Si definisce l entropia condizionale H(X Y) come x 1 p 11 p 12 y 1 Misura l informazione media necessaria per specificare un simbolo d ingresso dato il simbolo d uscita. X x 2 x 3 x 4 p 21 p 31 p 41 p 43 p 44 y 2 y 3 y 4 17 Y Mutua informazione L entropia condizionale H(X Y) (equivocazione) rappresenta la parte di informazione che viene persa durante la trasmissione sul canale. 18 9
Mutua informazione (cont.) La mutua informazione può anche essere espressa nel seguente modo: I ( X ; Y ) = H ( X ) H ( X Y ) = P{ x, y } X Y i i P{ xi, yi}log i= 1 j= 1 P{ xi} P{ yi} Significato: se le variabili casuali X e Y sono statisticamente indipendenti (cioè l uscita Y non fornisce alcuna informazione sull ingresso X), allora P{x i, y i } = P{x i }P{y i } e la mutua informazione si annulla. 19 Capacità del canale discreto La capacità del canale è definita come la massima mutua informazione: La massimizzazione è effettuata rispetto alla distribuzione di probabilità della sorgente. 20 10
Capacità del canale binario simmetrico Per calcolare la mutua informazione I(X;Y) è necessario conoscere H(X) e H(X Y) L entropia di una sorgente binaria con probabilità {½, ½} vale H(X) = 1. L entropia condizionale H(X Y) vale quindi è necessario conoscere le probabilità P{x i y i } 21 Capacità del canale binario simmetrico Il canale binario simmetrico è definito mediante le probabilità 22 11
Capacità del canale binario simmetrico (cont.) Poiché e, per il teorema della probabilità totale si ottiene 23 Capacità del canale binario simmetrico (cont.) L entropia condizionale H(X Y) assume quindi la seguente forma: dove p è la probabilità di errore del canale binario simmetrico. Infine: 24 12
Capacità del canale binario simmetrico (cont.) Si può dimostrare che si ottiene per simboli d ingresso equiprobabili. 1 I(X;Y) p = 0 p = 0.1 p = 0.2 Nel caso binario, P{X = 0} = P{X = 1} = ½. 0 ½ 1 P{x 1 } 25 Codifica di sorgente Supponiamo di voler trasmettere i simboli dell alfabeto X usando un canale binario. Ogni simbolo x i deve essere rappresentato mediante una sequenza finita di bit c i, che chiameremo parola di codice, di lunghezza n i bit. Definiamo codificatore di sorgente il sistema che associa i simboli di sorgente x i alle parole di codice c i. Poiché ciascun simbolo di sorgente x i compare con probabilità p i all uscita della sorgente, anche la corrispondente parola di codice c i di lunghezza n i comparirà con la stessa probabilità p i all uscita del codificatore 26 13
Codifica di sorgente (cont.) Per ragioni di economia nell uso delle risorse trasmissive (bande di frequenza, potenza, ecc.), si è interessati alla minimizzazione della lunghezza media delle parole di codice: 27 Codifica di sorgente (cont.) L idea di fondo è quella di associare parole di codice corte ai simboli più frequenti parole di codice lunghe ai simboli meno frequenti In questo modo, si trasmettono più frequentemente parole di codice corte, mentre è più raro l utilizzo delle parole lunghe. In conclusione, si usa il canale per un numero di volte minore, ossia si opera una compressione. 28 14
Codifica di sorgente (cont.) La minimizzazione di E[n] deve essere effettuata tenendo conto del seguente vincolo (vincolo del prefisso): un codice viola il vincolo del prefisso se esiste una parola di codice che contiene, come sua parte iniziale, un altra parola di codice Un codice che viola tale vincolo è non univocamente decodificabile. Un codice che non viola tale vincolo è anche chiamato prefix code. 29 Codifica di sorgente (cont.) Esempio: w 1 = 0, w 2 = 01, w 3 = 10, w 4 = 100 viola il vincolo del prefisso perché w 2 contiene w 1 come sua parte iniziale e w 4 contiene w 3 come sua parte iniziale. Il messaggio 010010 è decodificabile come w 1 w 4 w 3 w 2 w 1 w 1 w 3 w 1 w 3 w 2 w 1 w 1 w 3 w 1 w 3 Quindi tale codice è non univocamente decodificabile 30 15
Algoritmo di Huffman Consente di ottenere il prefix code ottimo (dal punto di vista della lunghezza media) dato un alfabeto e la sua distribuzione di probabilità. Consiste nell esecuzione della seguente procedura: Ordinare i simboli in base alla loro probabilità Raggruppare i due simboli x i e x j meno probabili in un nuovo simbolo equivalente avente probabilità pari alla somma delle loro probabilità: p i + p j Ripetere i passi precedenti finché si ottiene un solo simbolo equivalente con probabilità 1. 31 Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità { 1 / 3, 1 / 4, 1 / 6, 1 / 6, 1 / 12 } 32 16
Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 33 Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 34 17
Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 35 Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 36 18
Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 37 Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 38 19
Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 39 Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 40 20
Algoritmo di Huffman (cont.) Esempio: è dato l alfabeto X = {x 1, x 2, x 3, x 4, x 5 } con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} 41 Algoritmo di Huffman (cont.) Tutte le parole di codice corrispondono alle foglie dell albero che si è costruito. Il codice ottenuto soddisfa quindi il vincolo del prefisso per costruzione. Inoltre, si ha 42 21
Lunghezza media Teorema: è sempre possibile trovare un codice che soddisfa il vincolo del prefisso con lunghezza media 43 Esercizio 1 La sorgente S emette simboli dall alfabeto X = {x i }, i = 1, 2, 3 con probabilità p 1 = 0.6 p 2 = 0.3 p 3 = 0.1 Calcolare l entropia della sorgente Determinare il codice di sorgente ottimo che rispetti il vincolo del prefisso. Calcolare la lunghezza media delle parole di codice. 44 22
Esercizio 1 - soluzione L entropia della sorgente vale 1 1 1 H ( X ) = 0.6 log + 0.3log + 0.1log = 1.295 0.6 0.3 0.1 Si osservi che H ( X ) < log(3) = 1.585 valore che si otterrebbe se in ingresso si avesse una distribuzione uniforme 45 Esercizio 1 - soluzione Applicando l algoritmo di Huffman, si ottengono le seguenti parole di codice C (x 1 ) = 0 C (x 2 ) = 10 C (x 3 ) = 11 La lunghezza media delle parole di codice è 1.4 bit. 46 23
Esercizio 2 Con la sorgente definita nell esercizio precedente, considerando coppie di simboli di sorgente, determinare il codice di sorgente ottimo che rispetti il vincolo del prefisso. Calcolare la lunghezza media delle parole di codice e confrontarla con il risultato ottenuto all esercizio precedente. 47 Esercizio 2 soluzione Le parole di codice associate all alfabeto X 2 = {x i x j }, i, j = 1, 2, 3 sono C (x 1 x 1 ) = 0 C (x 1 x 2 ) = 100 C (x 2 x 1 ) = 101 C (x 2 x 2 ) = 1110 C (x 1 x 3 ) = 1100 C (x 3 x 1 ) = 1101 C (x 2 x 3 ) = 11110 C (x 3 x 2 ) = 111110 C (x 3 x 3 ) = 111111 48 24
Esercizio 2 soluzione (cont.) La lunghezza media delle parole di codice è 2.67 Il valore ottenuto è maggiore rispetto al valore di 1.4 ottenuto all esercizio 1. Tuttavia, ogni parola di codice corrisponde a 2 simboli di sorgente, quindi la lunghezza media per simbolo di sorgente vale 1.335 bit, valore minore del precedente. 49 Esercizio 3 È data una sorgente binaria X = {0, 1} con probabilità P{X = 0} = 1 P{X = 1} = 0.3. I simboli vengono trasmessi su un canale binario simmetrico con probabilità di errore p = 0.1. Determinare il codice di sorgente ottimo per X 2 e per X 3 che rispetti il vincolo del prefisso. Determinare la capacità (mutua informazione) del canale senza e con il codificatore di sorgente 50 25
Esercizio 3 - suggerimenti Determinare il codice di sorgente ottimo per X 2 e per X 3 che rispetti il vincolo del prefisso. Applicare l algoritmo di Huffman agli alfabeti X 2 e X 3 Determinare la capacità (mutua informazione) del canale Calcolare la mutua infomazione come I( X ; Y ) = H ( X ) H ( X Y ) 51 Esercizio 3 - suggerimenti È necessario calcolare, applicando il teorema della probabilità totale, le probabilità a posteriori P{ y0 } = P{ y0 x0} P{ x0} + P{ y0 x1} P{ x1} = 0.34 P{ y1 } = P{ y1 x0} P{ x0} + P{ y1 x1} P{ x1} = 0.66 Quindi si calcola 52 26
Esercizio 4 Un canale discreto (senza memoria) è caratterizzato dalla seguente matrice delle probabilità di transizione 0.9 0.1 P= 0.2 0.8 In ingresso, è presente una sorgente binaria equiprobabile. Calcolare la mutua informazione Considerare ora una sorgente che emette simboli binari con P{0} = 0.6 e P{1} = 0.4. Ripetere il calcolo della mutua informazione. 53 Riferimenti bibliografici [1] G. Prati, Videocorso Teoria dei Segnali [2] S. Benedetto, E. Biglieri, Principles of Digital Transmission with Wireless Applications, Kluwer, New York, 1999 54 27