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 Voce, video, musica, dati, … Zip, JPEG, MPEG, MP3, vocoder GSM e UMTS, … Destinatario DELEN–DAUIN Decodificatore di sorgente Codificatore di canale Modulatore Canale 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: x0, x1, … Sorgente 3 DELEN–DAUIN 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. DELEN–DAUIN x0, x1, … Sorgente 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 DELEN–DAUIN 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. • DELEN–DAUIN 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 DELEN–DAUIN 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) DELEN–DAUIN 8 4 Entropia (cont.) • Esempio: sorgente binaria X = {0, 1} con p0 = p, p1 = 1 – p. • Valore massimo – • p=½ H=1 H(X) 1 Valori minimi – p = 0, p =1 H = 0 0 ½ 1 p 9 DELEN–DAUIN 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. DELEN–DAUIN 10 5 Entropia (cont.) • Esercizio: calcolare l’entropia di una sorgente con alfabeto X costituito da 4 simboli con probabilità – – – • p1 = ½ p2 = ¼ p3 = p4 = 1/8 Soluzione: 11 DELEN–DAUIN 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 1-p 1 1 p Y X p 0 DELEN–DAUIN 1-p 0 12 6 Il canale discreto (cont.) • • Esempio: il canale quaternario. Può essere descritto mediante una matrice: p11 x1 y1 p12 p21 x2 X y2 Y p31 x3 y3 p41 x4 p43 y4 p44 13 DELEN–DAUIN Il canale discreto (cont.) • Si definisce l’entropia d’ingresso come p11 x1 y1 p12 p21 x2 X • Misura l’informazione media dell’alfabeto di sorgente. y2 Y p31 x3 p41 x4 y3 p43 y4 p44 DELEN–DAUIN 14 7 Il canale discreto (cont.) • Si definisce l’entropia d’uscita come p11 x1 y1 p12 p21 x2 X • Misura l’informazione media dell’alfabeto d’uscita. y2 Y p31 x3 y3 p41 x4 p43 y4 p44 15 DELEN–DAUIN Il canale discreto (cont.) • Si definisce l’entropia congiunta come p11 x1 y1 p12 p21 x2 • X Misura l’informazione media fornita da una coppia costituita da un simbolo d’ingresso e da uno d’uscita. y2 Y p31 x3 p41 x4 y3 p43 y4 p44 DELEN–DAUIN 16 8 Il canale discreto (cont.) • Si definisce l’entropia condizionale H(X|Y) come p11 x1 y1 p12 p21 x2 X • Misura l’informazione media necessaria per specificare un simbolo d’ingresso dato il simbolo d’uscita. y2 Y p31 x3 p41 x4 y3 p43 y4 p44 17 DELEN–DAUIN Mutua informazione • L’entropia condizionale H(X|Y) (equivocazione) rappresenta la parte di informazione che viene persa durante la trasmissione sul canale. DELEN–DAUIN 18 9 Mutua informazione (cont.) • La mutua informazione può anche essere espressa nel seguente modo: | X | |Y | I ( X ; Y ) = H ( X ) − H ( X | Y ) = ∑∑ P{xi , yi } log i =1 j =1 • P{xi , yi } 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{xi, yi} = P{xi}P{yi} e la mutua informazione si annulla. 19 DELEN–DAUIN Capacità del canale discreto • La capacità del canale è definita come la massima mutua informazione: • La massimizzazione è effettuata rispetto alla distribuzione di probabilità della sorgente. DELEN–DAUIN 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{xi|yi} DELEN–DAUIN 21 Capacità del canale binario simmetrico • Il canale binario simmetrico è definito mediante le probabilità DELEN–DAUIN 22 11 Capacità del canale binario simmetrico (cont.) • Poiché e, per il teorema della probabilità totale si ottiene DELEN–DAUIN 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: DELEN–DAUIN 24 12 Capacità del canale binario simmetrico (cont.) • Si può dimostrare che I(X;Y) p=0 si ottiene per simboli d’ingresso equiprobabili. • Nel caso binario, P{X = 0} = P{X = 1} = ½. 1 p = 0.1 p = 0.2 0 ½ 1 P{x1} 25 DELEN–DAUIN Codifica di sorgente • Supponiamo di voler trasmettere i simboli dell’alfabeto X usando un canale binario. • Ogni simbolo xi deve essere rappresentato mediante una sequenza finita di bit ci, che chiameremo parola di codice, di lunghezza ni bit. • Definiamo codificatore di sorgente il sistema che associa i simboli di sorgente xi alle parole di codice ci. • Poiché ciascun simbolo di sorgente xi compare con probabilità pi all’uscita della sorgente, anche la corrispondente parola di codice ci di lunghezza ni comparirà con la stessa probabilità pi all’uscita del codificatore DELEN–DAUIN 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 DELEN–DAUIN 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. DELEN–DAUIN 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 DELEN–DAUIN Codifica di sorgente (cont.) • Esempio: – – w1 = 0, w2 = 01, w3 = 10, w4 = 100 viola il vincolo del prefisso perché w2 contiene w1 come sua parte iniziale e w4 contiene w3 come sua parte iniziale. Il messaggio 010010 è decodificabile come • • • • – w1w4w3 w2w1w1w3 w1w3w2w1 w1w3w1w3 Quindi tale codice è non univocamente decodificabile DELEN–DAUIN 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 xi e xj meno probabili in un nuovo “simbolo equivalente” avente probabilità pari alla somma delle loro probabilità: pi + pj Ripetere i passi precedenti finché si ottiene un solo simbolo equivalente con probabilità 1. DELEN–DAUIN 31 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 32 16 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 33 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 34 17 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 35 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 36 18 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 37 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 38 19 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 39 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 40 20 Algoritmo di Huffman (cont.) • Esempio: è dato l’alfabeto X = {x1, x2, x3, x4, x5} con distribuzione di probabilità {1/3, 1/4, 1/6, 1/6, 1/12} DELEN–DAUIN 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 DELEN–DAUIN 42 21 Lunghezza media • Teorema: è sempre possibile trovare un codice che soddisfa il vincolo del prefisso con lunghezza media 43 DELEN–DAUIN Esercizio 1 • La sorgente S emette simboli dall’alfabeto X = {xi}, i = 1, 2, 3 con probabilità – – – • • • p1 = 0.6 p2 = 0.3 p3 = 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. DELEN–DAUIN 44 22 Esercizio 1 - soluzione • L’entropia della sorgente vale H ( X )= 0.6 log • 1 1 1 + 0.3 log + 0.1 log = 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 DELEN–DAUIN Esercizio 1 - soluzione • Applicando l’algoritmo di Huffman, si ottengono le seguenti parole di codice – – – • C (x1) = 0 C (x2) = 10 C (x3) = 11 La lunghezza media delle parole di codice è 1.4 bit. DELEN–DAUIN 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 DELEN–DAUIN Esercizio 2 – soluzione • Le parole di codice associate all’alfabeto X 2 = {xi xj }, i, j = 1, 2, 3 sono • • • • • • • • • C (x1 x1) = 0 C (x1x2) = 100 C (x2x1) = 101 C (x2x2) = 1110 C (x1x3) = 1100 C (x3x1) = 1101 C (x2x3) = 11110 C (x3x2) = 111110 C (x3x3) = 111111 DELEN–DAUIN 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 DELEN–DAUIN 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 DELEN–DAUIN 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 DELEN–DAUIN 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 DELEN–DAUIN 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 DELEN–DAUIN 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 DELEN–DAUIN 54 27