Teoria Dell'Informazione e Codici

Embed Size (px)

Citation preview

Teoria dellinformazione e codiciIng. Pazzo 20 settembre 2009

2 Si consiglia di afancare il materiale presente in questo riassunto agli appunti presi a lezione. Questo perch (ovviamente!) non si vuole avere alcuna presunzione di esaustivit, n di assoluta correttezza: nonostante le revisioni nora effettuate, potrebbero infatti essere ancora presenti molti errori e imprecisioni.

2

Indice1 Introduzione alla Teoria dellInformazione 1.1 Schema del collegamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 La teoria dellinformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Eventi, variabili aleatorie, bit dinformazione . . . . . . . . . . . . . . . . . . . . . 1.3.1 Informazione associata a due eventi indipendenti . . . . . . . . . . . . . . 1.3.2 Entropia di una variabile aleatoria . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Probabilit condizionata, probabilit marginale, distribuzione congiunta 1.3.4 Entropia congiunta, entropia condizionata . . . . . . . . . . . . . . . . . . 7 7 8 8 9 9 12 13 19 19 20 20 21 22 24 26 26 27 28 29 29 30 31 31 32 32 33 33 34 36 39 40 40 42 44 45 46 47 48 49

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2

Codica di sorgenti discrete 2.1 Osservazione simbolo per simbolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Osservazione per gruppi di simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Entropia di una sorgente stazionaria: due denizioni . . . . . . . . . . . . . . . . . . . . . . 2.4 Ridondanza e confronto fra sorgenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Tecniche di compressione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Codici a presso e disuguaglianza di Kraft . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Unapplicazione della disuguaglianza di Kraft: i codici a presso di Shannon-Fano 2.6 Teorema della codica di sorgente (I teorema di Shannon) . . . . . . . . . . . . . . . . . . . 2.7 Codice di Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Codica a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Codica a corse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 Codice di Lempel-Ziv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Considerazioni nali: lossy o lossless? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

3

La codica di canale e la capacit 3.1 Canale discreto senza memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Capacit di canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Canale deterministico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Canale binario simmetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Canale binario a cancellazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Canale Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 Canale binario non simmetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Capacit di canale con blocchi di simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Disuguaglianza del data processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Disuguaglianza di Fano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Codica di canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Teorema della codica di canale (secondo teorema di Shannon) . . . . . . . . . . . . . . . . . 3.8 Variabili aleatorie continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Entropia differenziale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Teorema: la distribuzione uniforme ha entropia massima (caso intervallo limitato) . 3.9.2 Teorema: la distribuzione gaussiana ha entropia massima (caso intervallo illimitato) 3.9.3 Teorema: la distribuzione esponenziale negativa ha entropia massima (caso intervallo 0, ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 4 Il limite di Shannon 4.1 Capacit del canale additivo gaussiano bianco . . . . . . . . . . . . . . 4.2 Caso tempo-continuo a banda limitata (formula di Hartley-Shannon) . 4.2.1 Incorrelazione del rumore . . . . . . . . . . . . . . . . . . . . . . 4.3 Il limite di Shannon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Antipodal Signalling AWGN . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Hard decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Unquantized output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Low SNR region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Trattamento dei segnali passa-banda e water-lling . . . . . . . . . . . . 4.8.1 Caso tempo-discreto . . . . . . . . . . . . . . . . . . . . . . . . . I codici di canale: codici a blocco 5.1 Codici a blocco . . . . . . . . . . . . . . . . . . . . . 5.1.1 Alcune denizioni e terminologia . . . . . . 5.2 Concetti elementari di algebra lineare . . . . . . . . 5.3 Codici a blocco lineari . . . . . . . . . . . . . . . . . 5.4 La matrice generatrice . . . . . . . . . . . . . . . . . 5.5 Codici sistematici . . . . . . . . . . . . . . . . . . . . 5.6 Matrice di controllo parit . . . . . . . . . . . . . . . 5.7 Codici estesi . . . . . . . . . . . . . . . . . . . . . . . 5.8 Codici purgati . . . . . . . . . . . . . . . . . . . . . . 5.9 Il Singleton Bound . . . . . . . . . . . . . . . . . . . . 5.10 Codici di Hamming . . . . . . . . . . . . . . . . . . . 5.11 La decodica e la Teoria della Decisione . . . . . . . 5.12 Decodica ottima per codici a blocco su canale BSC 5.13 Rilevazione degli errori e standard array . . . . . . . 5.14 Capacit di correzione di un codice (canale BSC) . . 5.15 Criterio ML per canali additivi gaussiani . . . . . . 5.16 Union Bound . . . . . . . . . . . . . . . . . . . . . . . 5.17 Codici accorciati (shortened codes) . . . . . . . . . . . 5.18 Codici a blocco lineari ciclici . . . . . . . . . . . . . 5.19 Codicatore per codici ciclici (sistematici e non) . . 5.20 Calcolo della sindrome . . . . . . . . . . . . . . . . . 5.21 Applicazioni notevoli dei codici ciclici . . . . . . . . 5.21.1 CRC: Cyclic Redundancy Check Codes . . . . . 5.21.2 Codici Hamming ciclici . . . . . . . . . . . . 5.21.3 Codice di Golay . . . . . . . . . . . . . . . . . 5.21.4 Codici BCH . . . . . . . . . . . . . . . . . . . 5.22 Codici di Reed-Solomon . . . . . . . . . . . . . . . . 5.23 Codici per la rilevazione di errori burst . . . . . . . 5.24 Codici MLSR (Maximum Length Shift-Register Codes)

INDICE 51 51 53 55 56 57 60 61 62 63 65 69 69 70 71 71 73 74 74 76 77 77 78 78 79 80 82 84 85 88 89 92 92 94 94 95 95 95 95 96 96 99 99 100 101 102 102 103 103 103 103

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Codici a traliccio 6.1 Codici convoluzionali . . . . . . . . . . . . . . . . . . . . . . . 6.2 Diagramma a traliccio . . . . . . . . . . . . . . . . . . . . . . . 6.3 Decodica dei codici convoluzionali con hard decisions su BSC 6.4 Algoritmo di Viterbi . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Complessit . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Altri aspetti implementativi . . . . . . . . . . . . . . . . 6.5 Codici convoluzionali punturati . . . . . . . . . . . . . . . . . 6.6 Codici convoluzionali sistematici . . . . . . . . . . . . . . . . . 6.7 Codici convoluzionali catastroci (paura eh!?) . . . . . . . . . 4

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

INDICE 7 Altri aspetti riguardanti i codici di canale 7.1 Interleaving . . . . . . . . . . . . . . . . 7.1.1 Interleaving a blocco . . . . . . 7.2 Codici concatenati . . . . . . . . . . . 7.3 Turbo-codici . . . . . . . . . . . . . . . 7.4 LDPC: Low Density Parity Check . . . . 7.4.1 QC-LDPC . . . . . . . . . . . .

5 105 105 105 106 106 108 108

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

5

6

INDICE

6

Capitolo 1

Introduzione alla Teoria dellInformazione1.1 Schema del collegamento

Figura 1.1:

Lo schema del collegamento

Nessun riassunto di Teoria dellInformazione deve iniziare senza aver prima visto lo schema del collegamento! Questo schemino essenziale mostra il percorso che linformazione compie, dalla sorgente allutilizzatore nale; gli step sono i seguenti: sorgente: trattasi della sorgente dellinformazione: pu essere unentit analogica1 (un suono), ma anche uninformazione in formato digitale come un documento, un brano audio, etc. . . codicatore di sorgente: ha il compito di rappresentare i dati in maniera pi sintetica, in modo che si possa spedire quanta pi informazione possibile nel minor tempo possibile. Possono essere di due tipi, in base a se viene persa informazione (esempio: codica JPEG) o meno (esempio: compressione ZIP); codicatore di canale: ha il compito di proteggere, con laggiunta di simboli di ridondanza, i dati dai disturbi che possono essere fonte di errori; canale: letere, un lo, oppure un supporto di memorizzazione di massa (hard-disk); decodicatore di canale: componente duale del codicatore di canale; decodicatore di sorgente: componente duale del codicatore di sorgente; lutilizzatore nale: colui che desidera fruire dellinformazione.1 In

tal caso sar necessario un convertitore A/D.

7

8

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

1.2

La teoria dellinformazioneThe information is the difference which makes a difference. Linformazione quella differenza che fa la differenza. Gregory Bateson

Che cos linformazione? In una comunicazione, che avviene attraverso un dato alfabeto di simboli, linformazione viene associata a ciascun simbolo trasmesso e viene denita come la riduzione di incertezza che si poteva avere a priori sul simbolo trasmesso. Linformazione non semplicemente una variazione: una sequenza del tipo

... 01010101010101010...varia continuamente, ma non porta informazione perch assolutamente prevedibile. In questo senso, linformazione legata alla non prevedibilit di un certo evento: ad esempio, se affermiamo che Oggi, in questo punto, non sono caduti degli aerei, non diamo una grande informazione perch si presuppone che questo accada per la stragrande maggioranza del tempo. Viceversa laffermazione Oggi, in questo punto, sono caduti degli aerei ha una componente informativa molto pi preziosa (anche se un po drammatica). La Teoria dellinformazione quel settore delle telecomunicazioni che si occupa di denire le basi teoriche su cui si fonda la scienza dellinformazione. La sua nascita relativamente recente: essa viene solitamente fatta risalire al 1948, anno in cui Claude Shannon pubblic sul Bell System Technical Journal Una teoria matematica della comunicazione in cui introduceva per la prima volta in modo sistematico lo studio dellinformazione e della comunicazione. Grazie alla sua affascinante teoria, Shannon riuscito a denire e specicare in maniera quantitativa i meccanismi di compressione, codica e trasmissione dei dati, mostrandocene i limiti ultimi.

1.3

Eventi, variabili aleatorie, bit dinformazione

Linformazione fortemente legata al concetto di evento e il concetto di evento a quello di variabile aleatoria (v.a. o r.m.2 ). Indicheremo con X una generica variabile aleatoria e con linsieme di tutti gli L valori che essa pu assumere x1 , x2 , . . . , x L In questo contesto, L viene detta cardinalit di . A ciascun possibile risultato dellesperimento incarnato dalla variabile aleatoria viene associato un valore e una probabilit: p X p X p X x1 x2 ... xL p xL pL p x1 p x2 p1 p2

Chiaramente, per le basilari propriet del calcolo aleatorio, si deve avere che

pii

1

(1.1)

Linformazione portata dallesperimento x pari a: I x log2 1 p x log2 p x (1.2)

Gracando la curva otteniamo la gura 1.2. Lunit di misura per I il cosiddetto Shannon (Sh) detto anche bit di informazione.2 Random

Variable.

8

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

9

Figura 1.2:

Graco probabilit/informazione

1.3.1

Informazione associata a due eventi indipendenti

Linformazione associata a due eventi indipendenti pari alla somma delle informazioni degli eventi presi singolarmente. Se si ha quindi xi , x j la probabilit congiunta sar p xi , x j e linformazione pari a: I xi , x j log2 1 p xi p x j log2 1 p xi log2 1 p xj I xi I xj (1.3) p xi p x j Statisticamente indipendenti

1.3.2

Entropia di una variabile aleatoriaLa mia pi grande preoccupazione era come chiamarla. Pensavo di chiamarla informazione, ma la parola era n troppo usata, cos decisi di chiamarla incertezza. Quando discussi della cosa con John Von Neumann, lui ebbe unidea migliore. Mi disse che avrei dovuto chiamarla entropia, per due motivi: Innanzitutto, la tua funzione dincertezza gi nota nella meccanica statistica con quel nome. In secondo luogo, e pi signicativamente, nessuno sa cosa sia con certezza lentropia, cos in una discussione sarai sempre in vantaggio. Claude Shannon

Nella teoria dellinformazione - e in rapporto alla teoria dei segnali - lentropia misura la quantit di incertezza o informazione presente in un segnale aleatorio, che pu essere interpretata anche come la minima complessit descrittiva di una variabile aleatoria, ovvero il limite inferiore della compressione dei dati. Lentropia (che chiameremo H x ) inoltre denita come la media statistica dellinformazione portata da tutti i possibili valori che pu assumere una variabile aleatoria: H x EI x

x

p x I x

x

p x log2 9

1 p x

x

p x log2 p x

(1.4)

10 ESEMPIO:

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

Calcoliamo l'entropia di una distribuzione

Bernoulliana3: x1 , x2 1 1 p p. L'entropia sar quindi: 1 p log 1 1 p 1 q

Associamo a x1 la probabilit p e a x2 la probabilit q H x p log2 1 p q log2 p log

Andando a gracare otteniamo la gura 1.3.

Figura 1.3:

Entropia di una variabile aleatoria bernoulliana

Lentropia ha alcune importanti propriet: anzitutto sempre maggiore di zero. Possiamo accorgercene osservando la denizione 1.4: p x 1 una quantit sicuramente non negativa, cos come sempre positivo il termine log2 ; p x lentropia dipende solo dalla probabilit p x ; se la cardinalit dellinsieme degli eventi L, varr H x log2 L 1 L1

(1.5)

e luguaglianza varr soltanto nel caso di distribuzione uniforme: p x1 Si ha infatti: H x log2 L 1 p x log2 p x x 1 log Llog2 L

p x2

...

p xL

1 p x log2 p x x

px

x

log

1 L

px

x

log2

1 p x

log

1 L

px

x

log2

1 p x L

propriet dei logaritmi!3 La variabile casuale bernoulliana, dal nome dello scienziato svizzero Jakob Bernoulli (1654-1705), la pi semplice di tutte le variabili casuali. una variabile dicotomica, dunque con due sole possibili realizzazioni (0 e 1), cui sono associate le rispettive probabilit p e 1 p.

10

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE Applicando una propriet notevole dei logaritmi: log2 1 p x L log2 e 1 p x L 1 p x L 1 p x L

11

ln

log2

log2 e ln

cambio di base

Ora ci giochiamo il Jolly: osserviamo che la retta di equazione 1 sovrasta la curva ln per ogni valore di (le due curve si toccano solamente in 1)4 . Possiamo quindi scrivere: log2 log2 1 p x L log2 e ln 1 p x L ln log2 e log2 1 log2 e log2 e 1 p x L 1 (1.6)

1 p x Lla dellequaz. precedente

Sfruttando questa disuguaglianza nella nostra equazione arriviamo ad affermare che: H x log2 L

px

x

log2

1 p x L

log2 e

px

x

1 p x L

1

log2 e

L px x 1 1 0

1

x

0

Inne: H x log2 L 0 H x log2 L Questo risultato ci suggerisce una propriet importante: la distribuzione uniforme (quella che rende possibile la sostituzione del segno con luguaglianza) unestremale per lentropia e garantisce la massima incertezza. ESERCIZIO:

Siano a e b due vettori di uguale lunghezza n, con elementi tutti positivi. Per ipotesi si ha che:i 1

ai

n

i 1

bin

n

1

Vogliamo dimostrare che cio che:

i 1

ai log2 ain

n

i 1

ai log2 bib 0

i 1

ai log2 aii

Per risolvere questo esercizio sfruttiamo la relazione ricavata nel paragrafo poco sopra e applichiamo le ipotesi:

i 1

ai log2 aiiosservi infatti che:

n

b

i 1

ai

n

bi ai

1 log2 elog2bi ai

log2 e

i 1

n

bi

ai

log2 e

i 1

bi a ii 1 0

n

n

0

sicuramente minore di

4 Si

In

1 le funzioni valgono entrambe 0 1 1 1 per per 0 1 1 1 1, la funzione ln cresce pi lentamente di 1 1 andando nella direzione positiva delle 1 andando nella direzione negativa delle

Derivata di

Derivata di ln

1, la funzione ln cala pi velocemente di

11

12 ESERCIZIO:

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

Siano ai e bi due successioni e siaaii

a

Si dimostri che si ha (regola di Cesaro 5 ):bn 1 n

i 1

ai

n

n

a

(1.7)

Si deve insomma dimostrare che 0 N : an a n N

Soluzione6 :bn 1 n a 1 ni 1

aiai a

n

a 1 n 1N

bn

a

i 1

n

ai

a

1 n bn a

N

i 1

ai 1 n

aN

i N

n

1

i 1 n

ai

a

n

N

1

i 1

ai bnn

a

n n a

N a

1.3.3

Probabilit condizionata, probabilit marginale, distribuzione congiunta

Cosa succede se siamo in presenza di pi variabili aleatorie? Possiamo denire alcune probabilit speciali che intersechino eventualit riferite ad entrambe? Ebbene s! Date le v.a. X e Y possiamo ad esempio denire la seguente probabilit congiunta p X,Y x, y p x, y p X x, Y y (1.8)

la quale rappresenta la probabilit che, contemporaneamente, X assuma valore x e Y valore y. Le probabilit riferite ad una sola delle due v.a. vengono invece dette marginali: pX x pY y p x p y p X p Y x y (1.9)

Inne, abbiamo la probabilit condizionata, ovvero quella che si verichi un dato evento sapendo a priori che se n vericato un altro: di seguito riportiamo lespressione della probabilit che X assuma valore x sapendo che Y ha assunto valore y p xy p X xY y (1.10) La seguente equazione mette in relazione la probabilit congiunta con quella condizionata: p x y p y p y x p x p x, y (1.11)

Invece quella riportata di seguito relaziona la probabilit marginale con quella congiunta: p x

y

p x, y

(1.12)

Ovviamente continua a valere la propriet per la quale la somma di tutte le probabilit deve restituire 1:

x

y

p x, y

1

(1.13)

12

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

13

Figura 1.4:

Esempio delle relazioni che intercorrono fra le probabilit congiunte e marginali

In gura 1.4 viene riportato un esempio delle relazioni che intercorrono fra le probabilit congiunte e marginali. Si nota ad esempio che, per ogni colonna ed ogni riga, sommando le probabilit congiunte otteniamo le probabilit marginali segnate, appunto, a margine della tabella. Sfruttando la relazione 1.11 possiamo ad esempio provare a calcolare la probabilit condizionata:p x1 , y2 p x1 y2 p y2 p x1 y2 p x1 , y2 p y2 1/2 1/2 1

ESEMPIO:

Guardando la tabella, d'altronde, sappiamo che la probabilit che X e Y assumano contemporaneamente valori x2 e y2 nulla: quindi, se si palesa l'evento y2 , sicuramente si sar vericato x1 .

1.3.4

Entropia congiunta, entropia condizionata

Denita la probabilit congiunta e la probabilit condizionata, possiamo ragionare sullentropia: date le variabili aleatorie X e Y possiamo denire lentropia di ciascuna H X H Y ma possiamo anche denire: lentropia congiunta: H X, Y

px

x log2 p x y log2 p y

py

px y

x, y log2 p x, y

(1.14)

lentropia condizionata: una volta che abbiamo calcolato H XY y

px

x y log2 p x y

(1.15)

possiamo denire entropia condizionata la seguente quantit:H XY y

H X Y

Ey H X Y

y

py x

y H X Y p x, yp y p xy

y

px y

y p x y log2 p x y

y

log2 p x y

5 Ernesto Cesro (Napoli, 12 marzo 1859 - Torre Annunziata, 12 settembre 1906) stato un matematico italiano, noto per i suoi contributi alla geometria differenziale e alla teoria delle serie innite. 6 Si tratta della mia personalissima dimostrazione, quindi potrebbe non fare testo ed essere errata. Prendetela con le molle!

13

14

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

Queste quantit godono di alcune interessanti propriet: prima propriet: H X, Y Dimostrazione: H X Y H Y H X Y H Y H Y X H X

px y

x, y log2 p x yH XY

py

y log2 p yH Y

px y

x, y log2 p x y

p x, y p x, y log2 p x y y xp y

px y

x, y

log2 p x yx

log2

p x, y p x y

px y

x, y

log2

p x y

p x, y p x y

py

x, y log2 p x, y

H X, Y

seconda propriet: lincertezza che abbiamo sulla variabile X data la variabile Y non superiore allincertezza che abbiamo sulla sola X. Si ha ovvero: H X Y Dimostrazione: H X con = solo se X e Y sono indipendenti

px y

x, y log2 p x yH XY

px

x log2 p xH X

0

px y

x, y log2

1 p x y

px y

x, y log2

1 p x

0

p x

px y

x, y

log2

p y p x, y

log2

1 p x

0 p y p x p x, y 0 1

px y

x, y

log2

p y p x p x, yx y

log2 e p x, yx y

log2 e p y p x0

p x, y

terza propriet (chain rule, regola della catena): consideriamo tre variabili aleatorie X1 , X2 , X3 . Allora si ha, applicando due volte la chain rule: H X1 , X2 , X3 H X1 X2 , X3 H X2 , X3 H X1 X2 , X3 H X2 X3 H X3 (1.16)

Possiamo, volendo, iterare il procedimento e considerare k variabili aleatorie (e, inne, applicare la seconda delle nostre propriet): H X1 , X2 , . . . , X kk

i 1

H

k

Xi Xi

1 , X i 2 , . . . , X1

i 1

H

k

Xi

(1.17)

La sommatoria H nel secondo passaggio non deve turbare: il risultato esattamente lestensionei 1

della 1.16 perch laddizione commutativa. Era scontato? Scusate. 14

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE quarta propriet: la desumiamo dalla propriet 1 e dalla propriet 2. H X, Y H X H Y

15

(1.18)

A parole: lincertezza sulla coppia non pu essere superiore a quella che abbiamo guardando separatamente gli elementi (nella coppia, infatti, possono esservi regole o legami che diminuiscono lincertezza). Generalizzando: H X1 , X2 , X3 , . . . , X K ESEMPIO:i 1

Xi

k

(1.19)

Consideriamo nuovamente la gura 1.4 e facciamo qualche calcoletto7 : entropia di X: l'entropia di una variabile bernoulliana con probabilit p un'entropia notevole si scrive direttamenteH X 1 4 1/4. Essendo

entropia congiunta:H X, Y 1 log2 4 4 1 log2 4 4 1 log2 2 2 0 3 2

entropia condizionata (y1 ):H X Y y1p x1 ,y1

px

x y1 log2 p x y1p x2 ,y1

x

p x, y1 p x, y1 log2 p y1 p y1 1 2 1 2

0, 25 0, 25 log2 0, 5 0, 5

0, 25 0, 25 log2 0, 5 0, 5

1

1

1

entropia condizionata (y2 ):H X Y y2

px p x1 ,y2

x y2 log2 p x y2

x

p x, y2 p x, y2 log2 p y2 p y2

0, 5 0, 5 log2 0, 5 0, 5

0

0

non c' incertezza!

A prima vista i seguenti risultatiH X 1 4 0, 8113 1 H X Y y1 1

potrebbero turbarci, visto che abbiamo detto (nella propriet 2) che il condizionamento non aumenta l'entropia. In realt non abbiamo violato alcuna regola perch non corretto considerare la sola y1 : dovendo ragionare in termini medi, dobbiamo includere anche y2 :H X Y H X Y y1 p y1 H X Y y2 p y2 0, 5 1 4

Ecco quindi che tutto torna!7 Ricordiamo

che lunit di misura dellentropia lo Shannon [Sh].

15

16 ESERCIZIO:

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

NOTA: non ho le soluzioni 'uciali' di questo esercizio. Quanto scritto di seguito costituisce la mia soluzione, ma pu essere errata!Date due variabili aleatorie discrete X e Y con alfabeto congiunta di tipo:p x, y ke xy 1, 1 e distribuzione di probabilit

1.

Determinare la costante k.Siccome si deve avere che:k e xyx y

1

Allora:kx

exyy

k ex

x

e x

k e

e

e

e

2k e

e

1

k

1 2e

2e

2.

Probabilit p x : Probabilit p y :

Determinare le probabilit marginali p x e p y .p x k ex

e x

p y

k e

y

e y

I valori numerici sono riportati in tabella 1.1: si nota in particolare che le probabilit marginali hanno distribuzione uniforme.x y y 1 1 k e ke ke e

1

x ke

1

prob. marginale k e k e 1 2 e e

ke 1 2 k e e

1 2 1 2

prob. marginale

Tabella 1.1:

Probabilit congiunte e marginali

3.

Le entropie H X e H Y saranno entrambe pari al valore (massimo) log2 2 1 in quanto le distribuzioni di probabilit marginali sono uniformemente distribuite. L'entropia congiunta sar sicuramente inferiore o uguale a 2 visto che vige la regolaH X, Y H X H Y 2

Determinare le entropie H X , H Y , H X, Y .

Svolgendo i calcoli:H X, Y p 1,

px y

x, y log2 p x, y p 1, 1 log2 p 1, 1 e log2 e

x

p x, p e 1,

1 log2 p x, 1 log2 p

1 1, e 1

p x, 1 log2 p x, 1 p2

1 log2 p 1, k e

1

1, 1 log2 p

1, 1

log2 e

e log2 e 16

log2 e

log

e e

e log e

2

e

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE ESERCIZIO:

17

NOTA: non ho le soluzioni 'uciali' di questo esercizio. Quanto scritto di seguito costituisce la mia soluzione, ma pu essere errata!Due variabili aleatorie discrete X1 e X2 sono caratterizzate da distribuzioni p1 x e p2 x e da alfabeti1 2

1, . . . , m m 1, . . . , n

A partire da queste due si denisce una terza variabile aleatoria:X X1 con probabilit X2 con probabilit 1

Si chiede di: 1.

Risultato:

Determinare la distribuzione di X, detta p x , in funzione di , p1 x e p2 x .p x p1 x 1 p2 x

2.

Determinare l'entropia H X in funzione di .Risultato:H X log2

px

x log2 p x

x 1 m

m

p1 x log2 p1 x x log2 p1 x H X1 1 1

1

x m 1

n

p2 x log2 1 1 1

p2 x

x 1

p1

log2 1

x m 1

n

p2 x p2 x

log2 H X1

log2 1 1 1 H X2 log2 1 H X1 1 H X2

H X2 1 log2 1

3.

Determinare le entropie H X1 e H X2 .Vedi punto precedente.

17

18

CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLINFORMAZIONE

18

Capitolo 2

Codica di sorgenti discrete

Figura 2.1:

Sorgente tempo-discreta

Intendiamo con questo sorgenti tempo-discrete (vedi gura 2.1); per ipotesi supporremo che le variabili aleatorie (simboli) emesse dalla sorgente posseggano tutti lo stesso alfabeto e che la distribuzione p x (probability mass function) per tali variabili non muti nel tempo. Chiameremo quindi questo caso DMS (Discrete Memoryless Source) in quanto: la sorgente discreta (emette simboli appartenenti ad un certo alfabeto); la sorgente senza memoria (ogni simbolo indipendente dallaltro); la p x tempo-invariante. In particolare, le variabili aleatorie vengono dette i.i.d. (indipendenti e identicamente distribuite) cos che possiamo scrivere: p Xn1 ni xi

x

1

, Xn2

x

2

, . . . , Xn M

x

M

i 1

p

M

Xni

x

i

i 1

p

M

x

i

istante dosservazione uno dei possibili valori dellalfabeto

(2.1)

2.1

Osservazione simbolo per simboloentropia della variabile aleatoria X1 : H X1 entropia della variabile aleatoria X2 : H X2 H X1 H X

Avremo in uscita le nostre variabili aleatorie e tutte avranno la stessa entropia. Infatti:

px

x log2 p x

Si noti che nel caso DMS ha senso la notazione H X , la quale non indica un preciso istante: H X viene detta entropia di una DMS e indica quantitativamente linformazione mediamente portata (trasmessa) da un simbolo. 19

20

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

2.2

Osservazione per gruppi di simboliK

Immaginiamo ora di osservare gruppi di K simboli alla volta. Ogni gruppo sar interpretabile come una variabile aleatoria multidimensionale: chiameremo a tal proposito Xi il vettore di K simboli di posizione i (diremo anche che li-esimo supersimbolo). Supponendo che i nostri supersimboli siano stazionari (dato che la DMS lo ) potremo calcolarne lentropia: H XK

H X1 , X2 , . . . , X K

i 1

H

K

Xi

K H X

Shannon supersimbolo

Con un semplicissimo passaggio algebrico possiamo anche scrivere: H XK K H X (2.2)

Rimuovendo lipotesi di mancanza di memoria1 , ma mantenendo quella di stazionariet, abbiamo invece: H XK

H X1 , X2 , . . . , X K H X KK

!! K

i 1

H

Xi

K H X

H X

K

K H X

H XEntropia/simbolo (caso NO memoria)

Entropia/simbolo (caso con memoria)

La presenza di memoria ha fatto calare lentropia: ci equivale ad affermare che, allinterno di un vettore (cio di un supersimbolo), un simbolo meno incerto se c memoria.

2.3

Entropia di una sorgente stazionaria: due denizionila prima si formula immaginando di guardare un numero enorme di simboli (k al limite la relazione 2.2: H Xk H X lim k k ) e di passare

Possiamo dare due differenti denizioni dellentropia (per simbolo) di una sorgente stazionaria:

(2.3)

Questo procedimento equivale a effettuare una media sullentropia dei simboli appartenenti ad un supersimbolo X k enorme (ovvero grande a tal punto da inglobare tutta sequenza con il passaggio al limite); la seconda denizione si ricava col calcolo dellentropia di un simbolo molto lontano una volta noti tutti i precedenti: lim H Xk Xk 1 Xk 2 . . . X1 (2.4) H Xk

Dimostriamo ora che i due limiti esistono niti e che coincidono: H X H X (2.5)

Dimostrare che il secondo limite esiste relativamente facile e lo si fa sfruttando in maniera astuta lipotesi di stazionariet. Sicuramente possiamo scrivere 0 H Xk Xk1 Xk 2

. . . X1

H Xk Xk

1 Xk 2

. . . X2

Un simbolo in meno X1 !

in quanto lentropia sempre maggiore o uguale zero e, rimuovendo un simbolo (in questo caso X1 ), non pu che aumentare (o al limite rimanere costante) visto che la presenza di X1 , unitamente al fatto che c memoria, costituiva uninformazione in pi nellambito della nostra sequenza. Se la nostra sorgente 1 Le

variabili aleatorie smettono di essere indipendenti fra loro.

20

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

21

stazionaria, i pedici temporali possono essere amabilmente traslati di una posizione senza che si modichi il risultato: H X k X k 1 X k 2 . . . X2 H X k 1 X k 2 X k 3 . . . X1Traslazione di una posizione

Ora possiamo immaginare di iterare questi passaggi, rimuovendo di volta in volta un simbolo e successivamente traslando2 ; lentropia, ad ogni rimozione, sar sempre rispetto al passo precedente: abbiamo quindi una successione di elementi non decrescenti e niti, cosicch esiste il limite. I due limiti, inoltre, coincidono: possiamo dimostrarlo tramite la chain rule (vedi la 1.17) e la regola di Cesro in quanto si ha, portando k allinnito3 : H X kk

1 k H Xi Xi k i 1

1

. . . X1

Cesa ro

H X

Se la sorgente DMS si ha il seguente caso particolare: H X In termini generali possiamo quindi scrivere: 0 H X H X log2 L (2.7) H X (2.6)

Come abbiamo gi pi volte sottolineato, il segno fra H X e H X diventa un nel caso senza memoria; il segno fra H X e log2 L, invece, diventa un nel caso di distribuzione uniforme (simboli tutti equiprobabili): tale tipologia di p.d.f.4 infatti quella che massimizza lentropia e la porta al suo valore limite. Concludendo, si ha massimo usso informativo in caso di: assenza di memoria; indipendenza dei simboli; equiprobabilit dei simboli. Un esempio potrebbe essere costituito da una sorgente binaria (bernoulliana) senza memoria e con simboli equiprobabili.

2.4

Ridondanza e confronto fra sorgentiHmax H X Hmax H X log2 L

Si denisce ridondanza di sorgente la quantit: 1 1 (2.8)

Come si pu notare dalla formula, questo parametro compreso fra 0 e 1 (compresi): il numeratore pu inoltre essere scritto nel seguente mododue effetti provocano la ridondanza!

Hmax

H X

Hmax

H X

H X

H X

(2.9)

dovuto alla non equiprobabilit

legato alla memoria della sorgente

Nel caso particolare di Hmax H X i simboli sono indipendenti ed equiprobabili: infatti, nella 2.9, entrambi i contributi messi in evidenza diventano pari a zero. Hmax2 FFffatto? 3 Il 4 Probability

H X

H X

H XH X

0

0

equiprobabili Hmax H X

sorgente senza memoria H X

termine H Xi Xi 1 . . . X1 lak dellenunciato della regola di Cesaro. Density Funciton.

21

22

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

Tramite il parametro ridondanza possiamo fare interessanti paragoni fra due sorgenti; consideriamo, a titolo desempio, due sorgenti tempo-discrete: la prima sia una sorgente avente symbol-rate Bs1 e entropia H X , mentre la seconda sia una sorgente ottima (generatrice di simboli indipendenti ed equiprobabili) con symbol-rate Bs1 e entropia massima (log2 L). Avremo, con semplicissime considerazioni: sorgente 1 sorgente 2 Bs1 H X Bs2 log2 L Shannon sec

Imponendo che i due ussi informativi si equivalgano otteniamo Bs1 H X Bs2 log2 L Bs1 Bs2 log2 L H X Hmax H X

Osservando questa relazione possiamo fare due interessanti osservazioni: la sorgente 1 diventa equivalente alla sorgente ideale, ed emette quindi massimo contenuto informativo, solo se H X Hmax ; se la sorgente un po ridondante (entropia non massima) sar necessario emettere pi simboli, e quindi pi bit, per ottenere la stessa informazione della sorgente ottima (che ha massima efcienza). ESEMPIO:

Consideriamo lingua italiana: il nostro alfabeto ha 22 simboli (21 lettere pi lo spazio). Se essi fossero indipendenti ed equiprobabili, l'entropia della nostra lingua sarebbe:Hmax log2 L 4, 46

Sh simbolo

Questo signica che servirebbero in media 4,46 bit per rappresentare ciascun carattere o, anche, che ciascun carattere porterebbe un quantitativo d'informazione pari a 4,46 Shannon. In realt le lingue umane non possono avere entropia massima in virt del fatto che esistono regole grammaticali e regole lessicali: la loro presenza rende i caratteri non equiprobabili e questo, di conseguenza, abbassa l'entropiaH Hmax

Considerando ad esempio il testo dell'Inferno di Dante, l'entropia risulta essere pari a 3,97 Shannon per simbolo, quantitativo sensibilmente inferiore rispetto ai 4,46 teorici. Quanto detto potrebbe generare, nel cuore dell'impulsivo lettore, un moto di indignazione e protesta verso il linguaggio umano, cos dannatamente ridondante: non vi tuttavia da scaldarsi visto che, in realt, ci ci permette di correggere gli errori sulla base della storia passata dei simboli. Chiunque, infatti, potrebbe capire che in questa fraseOggi avevo sete e ho bevuto dell'aqua.

manca la lettera 'c'. Perch possiamo dirlo? Perch la storia passata dei simboli, ovvero le lettere precedenti, ci suggeriscono che la parola non riconosciuta si riferisce a qualcosa di liquido ('Avevo sete') che contiene le lettere 'a', 'q' e 'u'. Inoltre, sappiamo che molto probabile trovare una 'c' prima della 'q' (simboli non equiprobabili !) per cui il gioco fatto!

2.5

Tecniche di compressione dei dati

Una sorgente ridondante non la soluzione migliore per la trasmissione di dati, visto che lideale sarebbe avere simboli indipendenti, equiprobabili e assenza di memoria. Possiamo tuttavia migliorare lefcienza di una sorgente (ovvero aumentarne lentropia) tramite un dispositivo, denominato codicatore di sorgente (vedi gura 2.2), da posporre alla sorgente stessa per cercare, a parit di informazione, di diminuire il pi possibile il numero di bit da trasmettere. In questo consiste loperazione di compressione dei dati. 22

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

23

Figura 2.2:

Schema di trasmissione col codicatore di sorgente

Indicheremo con C x una parola di codice, ovvero una stringa binaria lunga l x bit. Loperazione di codica (codica di sorgente) devessere chiaramente invertibile dal ricevente per poter fruire dellinformazione. Una delle condizioni che si deve avere perch il codice sia invertibile (necessaria ma non sufciente) che a due simboli diversi corrispondano due codeword diverse (codice non singolare): C xi C xj , i j (2.10)

Un codice non singolare potrebbe non essere decodicabile in maniera univoca (e quindi non invertibile, vedi esempio di seguito); si parla invece di codice univocamente decodicabile (invertibile) se, data una sequenza qualunque, si ha: C x1 , C x2 , . . . , C x Munivocamente

x1 , x2 , . . . , x M

(2.11)

Eventualmente, le parole di codice possono essere di lunghezza diversa (codice a lunghezza variabile): si denisce allora la lunghezza media di un codice: C El xx

l x p x

(2.12)

Inoltre, un codice si dice a presso (o codice istantaneo)5 se nessuna parola di codice C x presso di unaltra. Tali codici sono sempre univocamente decodicabile. Questo aspetto verr approfondito nel paragrafo 2.5.1. ESEMPIO:

Si osservi la tabella 2.1. Il codice 1 non singolare, in quanto ad ogni simbolo associata unaSimbolo x1 x2 x3 x4 p x 1/2 1/4 1/8 1/8 Codice 1 1 00 01 10 Codice 2 1 01 001 0000 Codice 3 0 01 011 111

Tabella 2.1:

Qualche esempio per la nomenclatura dei codici

codeword diversa. Stesa cosa possiamo dire dei codici 2 e 3 (i quali, come vedremo di seguito, hanno

un'ulteriore e importante propriet). La lunghezza media del codice 1 :15 In

1 2

2

1 4

2

1 8

2

1 8

3 2

quanto la codica istantanea.

23

24

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

Il codice 1 non tuttavia invertibile perch non univocamente decodicabile : per esempio1001

potrebbe contemporaneamente essere x1 x2 x1 oppure x4 x3 , ma non possiamo saperlo. Come si pu facilmente vericare, i codici 2 e 3 sono invece univocamente decodicabili in quanto non vi ambiguit. In particolare: il codice 2 a presso in quanto nessuna codeword presso di altre. Inoltre esso ha lunghezza media2 1 2 2 1 4 2 3 8 7 4

Tale lunghezza ci soddisfa? Abbastanza perch mediamente inferiore a quella ipotetica (si poteva supporre che con 4 simboli avremmo avuto bisogno di 2 bit per simbolo), visto che abbiamo usato un diabolico trucco, cio quello di dare alle parole pi probabili una lunghezza minore! il codice 3 decodicabile, ma dobbiamo per forza attendere che nisca la sequenza per poter comprendere quale sia stata la parola codicata (cosa che non accadeva nel codice 2): ad esempio, potremmo confondere x2 con x3 se non trasmettiamo l'ultimo bit di quest'ultima parola di codice.

2.5.1

Codici a presso e disuguaglianza di Kraft

Per i codici a presso, siccome nessuna parola presso di unaltra, le parole di codice possono essere associate alle foglie di un albero. Consideriamo il codice 2 (tabella 2.1): una possibile rappresentazione ad albero riportata in gura 2.3. Tale albero ha 21 nodi di ordine 1, 22 nodi di ordine 2 (potenziali, in realt

Figura 2.3:

Albero di un codice a presso

poi sono soltanto 2), etc. . . Generalizzando, ogni albero ha sempre 2k potenziali nodi di ordine k. TEOREMA: disuguaglianza di Kraft(-McMillan)66 Da Wikipedia: In coding theory, Krafts inequality gives a condition for the existence of a uniquely decodable code for a given set of codeword lengths. Its applications to prex codes and trees often nd use in computer science and information theory. More specically, Krafts inequality limits the lengths of codewords in a prex code: if one takes an exponential function of each length, the resulting values must look like a probability mass function. Krafts inequality can be thought of in terms of a constrained budget to be spent on codewords, with shorter codewords being more expensive.

If Krafts inequality holds with strict inequality, the code has some redundancy. If Krafts inequality holds with strict equality, the code in question is a complete code. If Krafts inequality does not hold, the code is not uniquely decodable.

24

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE Per ogni codice a presso con parole di lunghezza l1 l2 1 l2 l3 ... l3 ... l L bit si ha:

25

i 1

2

L

li

(2.13) l L in grado di soddisfare la

Inoltre, esiste sempre un codice a presso con lunghezza l1 disuguaglianza di cui sopra.

Dimostrazione: iniziamo col dimostrare la necessariet. Il codice a presso con parole di lunghezza l1 l2 l3 . . . l L pu essere generato da un albero che si estende al massimo no allordine l L , con l L potenziali nodi. Se per posizioniamo una parola di codice allordine l andiamo in realt ad eliminare 2 i tutti i potenziali rami gli di quella parola, i quali sono 2l L li . Abbastanza ovvio il fatto che il numero di nodi che andremo in tutto a eliminare non potr essere maggiore del numero totale di nodi 2l L :

i 1

2l L

L

li

2l L

Se ora dividiamo per 2l L quel che otteniamo la disuguaglianza di Kraft. Ora passiamo a dimostrare la sufcienza: supponiamo che le nostre lunghezze abbiano soddisfatto la disuguaglianza. . . riusciamo ora a costruire un codice a presso? Immaginiamo di avere lalbero completo e di posizionare presso un suo nodo una certa parola di codice C1 di lunghezza l1 . Cos facendo avremo seccato 2l L l1 nodi, ovvero il 2 l L l1 2l L 2l1

%

dei nodi di ordine massimo (cio i pi gli di tutti7 ). Questo implica che sar rimasta una percentuale pari a 1 2 l1 % di nodi di ordine massimo. Possiamo ora posizionare una parola di lunghezza l2 ? Certamente s perch Kraft ci garantisce che sicuramente un nodo di lunghezza l2 sar sopravvissuto (sono sopravvissuti quelli di ordine massimo, ovvero i gli, quindi sicuramente sono vivi anche quelli di ordine l2 , cio i padri). Giunti qui ci siamo mangiati gi 2 l1 2 l2 nodi di ordine massimo (in percentuale). Questa quantit per inferiore ad 1 per la disuguaglianza di Kraft, quindi esisteranno ancora dei nodi di ordine l L (massimo) e quindi anche nodi di ordine inferiore (padri): esister ad esempio un nodo di ordine l3 per posizionare la terza parola, la quale far seccare 2l L l3 nodi di ordine massimo. Rimarr quindi il 2l1

2

l2

2

l3

percento dei nodi di ordine massimo. Siccome la disuguaglianza di Kraft tuttavia ancora soddisfatta, sar presente un nodo-padre di ordine l4 per la quarta parola visto che alcuni nodi-gli di ordine massimo sono ancora vivi, etc. . . Al passo k la disuguaglianza di Kraft sar ancora soddisfatta e varr

i 1

2

k

li

1totale

% nodi (ordine max) morti

Quindi i nodi sono sempre sufcienti per poter posizionare le nostre parole di codice! Concludendo, la disuguaglianza di Kraft ci dice come prendere le lunghezze delle parole; tal McMillan ha dimostrato che qualunque codice univocamente decodicabile ha lunghezze che soddisfano tale disuguaglianza.7 Detto

cos ambiguo eh. . . ?

25

26

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

2.5.2

Unapplicazione della disuguaglianza di Kraft: i codici a presso di ShannonFano

I codici di Shannon-Fano8 sono un particolare tipo di codici a presso con lunghezze lk intere scelte secondo la relazione: log2 1 p x l x log2 1 p x 1 l x log2 1 p x I x l x intero (2.14)

Mostriamo che tali codici soddisfano la disuguaglianza di Kraft vericando la prima parte della disuguaglianza soprastante: l x log2 1 p x 2lx

2

log2

1 p x

2l

x

1 p x

2

l x

p x

Applicando al sommatoria a destra e sinistra otteniamo proprio la nostra diseguaglianza!

2x

l x

px

x

1

Se proviamo a costruire il relativo codice a presso scopriamo che una possibile soluzione quella del codice avente albero come quello in gura 2.3 con probabilit C x1 0, 5; C x2 0, 25; C x3 0, 125; C x4 0, 125.

ESEMPIO:

2.6

Teorema della codica di sorgente (I teorema di Shannon)

Nella teoria dellinformazione, il Primo teorema di Shannon (o Teorema della codica di sorgente), stabilisce dei limiti alla massima compressione possibile di un insieme di dati e denisce il signicato operativo dellentropia. Il teorema stabilisce che, per una serie di variabili aleatorie indipendenti ed identicamente distribuite (i.i.d.) di lunghezza che tende ad innito, non possibile comprimere i dati in un messaggio pi corto dellentropia totale senza rischiare di perdere informazione. Al contrario, compressioni arbitrariamente vicine al valore di entropia sono possibili, con probabilit di perdita di informazione piccola a piacere (a patto di inventarsi un codice molto buono!). Unaltra possibile formulazione di questo teorema pu essere: qualunque codice univocamente decodicabile applicato ai simboli Xn di una sorgente stazionaria ha lunghezza media non inferiore allentropia della sorgente H X : El x H X (2.15) Inoltre esistono codici per i quali: E l x H X 1 (2.16) Dimostrazione (1 parte): facciamo lipotesi che il codice sia univocamente decodicabile (la disuguaglianza di Kraft deve quindi per forza essere rispettata). Possiamo scrivere, usando le denizioni: H X E l x

px

x log

1 p x

px

x l x

px

x log

1 p x

px

x

log2 2l

x

l x Che trucco! l x

px

x log

1 p x 2l

x

px

x log

2 p x

l x

log2 e p xx

2 p x

1

Dove nellultimo passaggio abbiamo usato la disequazione log2 x x 1 log2 e (2.17)

8 Robert Mario Fano (Torino, 1917 - vivente) un informatico e ingegnere italiano-statunitense. docente emerito di ingegneria elettronica e di scienza dellinformazione presso il Massachusetts Institute of Technology. Fano noto prevalentemente per il suo lavoro sulla teoria dellinformazione, avendo sviluppato (in collaborazione con Claude Shannon) i codici di Shannon-Fano. Nei primi anni 60, fu partecipe dello sviluppo dei sistemi di computer in time-sharing ed ha prestato servizio come direttore del Project MAC del MIT n dalla sua fondazione nel 1963 e no al 1968.

26

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

27

gi dimostrata nel paragrafo 1.3.2. Ora possiamo applicare la disuguaglianza di Kraft (vericata per ipotesi) e scrivere:0

log2 e p xx

2 lx p x

1

log2 e 2x

l x

p x

log2 e0

2x

l x

1

0

1 PER KRAFT!

Dimostrazione (2 parte): troviamo ora almeno un codice che soddis la 2.16. Scegliamo ad esempio il codice di Shannon-Fano (equazione 2.14) e moltiplichiamo a sinistra e a destra per p x : log2 1 p x l x log2 1 p x 1 p x l x p x log2 1 p x p x

Ora applichiamo loperatore sommatoria:

px

x l x

px

x log2H X

1 p x 1

px 1

x

El x

E l x Perfetto!

H X

Si tenga tuttavia presente che i codici di Shannon-Fano non sono i codici ottimi: osserviamo infatti il seguente

Abbiamo una sorgente binaria che emette i due simboli in tabella 2.2. Secondo Shannon-Fano dovremmo usare ben 4 bit d'informazione per la parola meno probabile, principio che a prescindere non sbagliato in quanto conviene usare le parole di codice pi corte per i simboli pi probabili, ma che in questo caso si rivela una scelta piuttosto stupidina9 in quanto basterebbe un unico bit per codicare sia x1 che x2 .p x x1 x2 0,1 0,9 I x 3,32 0,15 l x (Shannon-Fano) 4 (!!!) 1

ESEMPIO:

Tabella 2.2:

Caso sfortunato di Shannon-Fano

2.7

Codice di Huffman

Nel 1951 a David Huffman e ad un suo collega al corso del MIT di Teoria dellInformazione venne data la scelta tra una tesi scritta o un esame. Il docente, Robert M. Fano, assegn una tesi sul problema di trovare il codice binario pi efciente. Huffman, incapace di dimostrare un qualsiasi codice che fosse il pi efciente, si stava rassegnando allidea di dover studiare per lesame, quando gli venne lidea di usare un albero binario ordinato in base alla frequenza, e cos dimostr velocemente che questo metodo era il pi efciente. Unidea simile era stata usata in precedenza nella codica di Shannon-Fano, ma Huffman sistem la sua pi grande lacuna costruendo un albero ascendente anzich uno discendente. La codica di Huffman, pubblicata su A Method for the Construction of Minimum-Redundancy Codes (Un Metodo per la Costruzione di Codici a Ridondanza Minima), usa un metodo specico per scegliere la9 Bricconcello!

27

28

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

rappresentazione di ciascun simbolo ed stato dimostrato che il pi efciente sistema di compressione di questo tipo: nessunaltra mappatura di simboli in stringhe binarie pu produrre un risultato pi breve nel caso in cui le frequenze di simboli effettive corrispondono a quelle usate per creare il codice. Oggi la codica di Huffman spesso usata come complemento di altri metodi di compressione: sono esempi il Deate (lalgoritmo di PKZIP, e dei successori ZIP e WinRar) e codec multimediali quali JPEG ed MP3. I passi per costruire un codice di Huffman sono 3: 1. si ordinano le probabilit in ordine decrescente; 2. si uniscono le due minori in un nuovo nodo (unico) e a questo nodo viene associata la somma delle probabilit; 3. si ripetono i punti 1 e 2 no allesaurimento. Iterando questo procedimento otterremo in men che non si dica il graco binario che garantisce la lunghezza media del codice migliore in assoluto.

2.8

Codica a blocchi

Figura 2.4:

Schema della codica a blocchi

Nella codica a blocchi, invece dei simboli, codichiamo gruppi di simboli ovvero dei supersimboli (vedi gura 2.4). I limiti teorici riguardanti il numero medio di bit per supersimbolo rimangono per invariati rispetto ai casi visti nora: H X Se dividiamo per k otteniamo: H X kPer k diventa H X Per k k k

E l X

k

H X

k

1

(2.18)

E l X k

k

H X

k

1

H X k

k

k

1 k

(2.19)

diventa H X

Il primo (entropia della sorgente) e il secondo termine (numero medio di bit per simbolo) vengono a coincidere; codicando i blocchi possiamo perci avvantaggiarci della memoria del codice e avvicinarci sempre di pi al limite destro della nostra doppia disequazione (1/k sempre pi piccolo). Se poi aggiungiamo lipotesi di sorgente DMS si ha che: H X quindi la 2.19 diventa kH X k H X E l X k E l Xk k k

kH X

(2.20)

kH X k H X

1 k

1 k k Il vantaggio ulteriore che, oltre ad aversi 1/k 0 per k , potremo contare su unentropia maggiore vista la disequazione H X H X (vantaggio ulteriore rispetto al caso di simbolo-per-simbolo, che mediamente andr peggio come mostriamo nel seguente esempio). 28

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE ESEMPIO:

29

Sorgente binaria senza memoria con la distribuzione di probabilit mostrata in tabella 2.3. L'entropiap x x1 x2 0,1 0,9

Tabella 2.3:

Distribuzione di probabilit del nostro esempio

pari aH X 0, 47

Shannon per simbolo. Non abbiamo tuttavia altra scelta che usare un bit per simbolo, visto che abbiamo scelto la codica simbolo-per-simbolo. . . La cosa abbastanza deludente perch siamo ben lontani dall'entropia H X , ma che succede se codichiamo supersimboli costituiti da due simboli 'elementari' (tabella 2.4)?p X x1 x1 x1 x2 x2 x1 x2 x22

0,01 0,09 0,09 0,81

Tabella 2.4:

Distribuzione di probabilit del nostro esempio, con supersimboli

Ora possiamo costruire il nostro alberino post-natalizio con il metodo di Human (vedi gura 2.5): calcolando la lunghezza media otteniamo 1, 29 bit per supersimbolo, ovvero 1, 29/2 0, 645

Figura 2.5:

Lalberino post-natalizio

bit/simbolo, risultato molto pi vicino a H X e sicuramente pi soddisfacente dell'1 bit/simbolo un po' schifoso trovato con la codica simbolo-per-simbolo.

2.9

Codica a corse

Quando la dipendenza statistica fra i simboli successivi si manifesta con la presenza di sequenze, pi o meno lunghe, di simboli eguali (corse), come avviene per il segnale fax con successioni di pixel bianchi e neri, pu convenire una codica delle lunghezze di tali corse (magari secondo Huffman) e dellinformazione relativa ai simboli che le costituiscono.

2.10

Codice di Lempel-Ziv

I codici di sorgente nora esaminati richiedono la conoscenza delle statistiche della sorgente (e vengono per questo chiamati codici entropici, visto che lentropia matematicamente calcolabile a partire dalla distribuzione di probabilit). Un codice universale che non richiede tale conoscenza statistica, dando 29

30

CAPITOLO 2. CODIFICA DI SORGENTI DISCRETE

in generale prestazioni inferiori (tali tipologie di codici si dicono universali), quello di Lempel-Ziv che, data la grande versatilit, uno standard de facto per la compressione di dati. Tale procedimento infatti utilizzato nella codica delle immagini in formato GIF (e, facoltativamente, nei le TIFF) ed il risultato delle modiche apportate nel 1984 da Terry Welch ai due algoritmi sviluppati nel 1977 e nel 1978 da Jacob Ziv e Abraham Lempel, e chiamati rispettivamente LZ77 e LZ78. Funziona costruendo un dizionario nel quale sono elencate le diverse frasi (generalmente di lunghezza diversa) ottenute scorrendo la sorgente (supposta binaria in questo caso). Ciascuna frase data dalla concatenazione di una precedente con una cifra binaria (1 oppure 0). Successivamente si codicano le frasi con parole di lunghezza ssa, che indicano la posizione in binario della frase precedente seguita dal nuovo bit della sorgente. Si pu dimostrare che la codica di lunghe sequenze di n bit efciente, cio il numero di bit richiesto si avvicina a nH X . ESEMPIO:

Abbiamo la sequenza:101011110101111100100111011100001101100000101

La suddivisione in frasi d1-0-10-11-110-101-111-100-1001-1101-1100-00-11011-000-001-01

cio 16 diverse frasi ciascuna codicabile con 5 bit: i primi 4 sono l'indice della parola del dizionario che costituisce tutti i bit tranne quello pi a destra (il meno signicativo, per intenderci), mentre l'ultimo il bit che bisogna aggiungere alla parola indicata dai primi 4 bit per ottenere quella corrente. Ad esempio:Posizione nel dizionario 0000 0001 0010 0011 0100 | | | | | | Frase nel dizionario 1 0 10 11 | | | | | | Codeword 0000 1 0000 0 0001 0 0001 1

La frase 10 si ottiene concatenando la frase di posizione 0001 (cio 1) con uno 0 (1#0 = 10), mentre la frase 11 si ottiene concatenando quella di posizione 0001 (sempre 1) con un 1 (1#1=11).

2.11

Considerazioni nali: lossy o lossless?

I codici illustrati nora vengono applicati a sorgenti discrete e non comportano perdita dinformazione: vengono quindi chiamati codici lossless, ovvero senza perdita. Esistono tuttavia anche tecniche di codica lossy (JPEG, MP3) le quali comprimono moltissimo e - in sostanza - si basano sulla legge dei grandi numeri10 . Per esempio, consideriamo una sorgente binaria con probabilit p x 1 90% e p x 0 10%: guardando lunghissime sequenze potremo molto probabilmente constatare la presenza di (circa) un 90% di 1 e un 10% di 0. Ipotizziamo inoltre di considerare n-ple di 1000 bit: le parole possibili sono 21000 , ma fra tutte quelle possibili saranno molto frequenti quelle che hanno circa il 90% di 1 e il 10% di 0. Una possibile scelta sarebbe quella elencare tale relativamente piccolo sottoinsieme di tutte le 21000 parole possibili e codicare soltanto quelle. Cos facendo risparmieremmo tantissimi bit in quanto dovremmo codicare un numero molto piccolo di sequenze se confrontato con tutte quelle possibili; laltra faccia della medaglia lincapacit di codicare tutte le sequenze, con la conseguente perdita di informazione. Tale perdita dinformazione assolutamente inevitabile se abbiamo delle sorgenti continue: prima di poterle codicare dovr campionarle e questo generer un errore di quantizzazione impossibile da recuperare.10 La legge dei grandi numeri, detta anche legge empirica del caso oppure teorema di Bernoulli (in quanto la sua prima formulazione dovuta a Jakob Bernoulli), descrive il comportamento della media di una sequenza di n variabili casuali indipendenti e caratterizzate dalla stessa distribuzione di probabilit (n misure della stessa grandezza, n lanci della stessa moneta ecc.) al tendere ad innito della numerosit della sequenza stessa (n). In altre parole, grazie alla legge dei grandi numeri, possiamo darci che la media che calcoliamo a partire da un numero sufciente di campioni sia sufcientemente vicina alla media vera.

30

Capitolo 3

La codica di canale e la capacitSe il codicatore di sorgente di qualit e ha fatto il suo lavoro (quindi non labbiamo comprato al Lidl) non vi sar pi molta ridondanza alluscita. Non abbiamo per nito il lavoro: dobbiamo trasportare questi bit a destinazione! Purtroppo il canale che tali bit dovranno attraversare tuttaltro che ideale e favorisce intrinsecamente, al suo interno, delle transazioni probabilistiche che si manifestano in disturbi (interferenze, rumori, etc. . . ). Il canale quindi non deterministico: non sappiamo cosa esce, ma sappiamo cosa potrebbe uscire.

3.1

Canale discreto senza memoria

Figura 3.1:

Canale discreto senza memoria

Detto anche DMC (Discrete Memoryless Channel) ha la caratteristica si poterci far osservare anche solo un simbolo alla volta, senza dover specicare lindice temporale nelle varie formule in cui compare loperatore di probabilit: per questo, considerando lo schema in gura 3.1, possiamo ad esempio dire che Yk dipender soltanto da Xk e da nessunaltro simbolo. Volendo, possiamo gracare la probabilit che un certo simbolo X generi il relativo Y in uscita dal canale facendo uso di un grafo bipartito, dove ad ogni freccia sono associate delle probabilit (vedi gura 3.2). Tutte le probabilit di transizione dal nodo generico i al nodo generico j possono perci essere poste in una matrice P, detta matrice di transizione, i cui elementi saranno molto semplicemente pij p Y yj X xi (3.1)

Supponiamo di conoscere solamente la P di una certa sorgente: trasmettiamo i nostri simboli X attraverso il canale e vediamo che accade alle Y. Ebbene, si pu dimostrare che si ha una riduzione di incertezza legata allosservazione del canale: H XY H X (3.2)

Tale riduzione di incertezza1 pu essere quanticata con un parametro che chiameremo informazione mutua: I X; Y H X H XY (3.3) Com facile accorgersi, questo parametro viene quanticato in Shannon per simbolo. Inoltre, soggiace alle seguenti propriet:1 Come

sappiamo, lincertezza e linformazione sono entrambe legate al concetto di entropia.

31

32

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Figura 3.2:

Il grafo bipartito

Figura 3.3:

Esempio con grafo bipartito

1. sicuramente maggiore di zero, anche perch obbligatorio che sabbia H X 2. vale I X; Y I Y; X H X H Y H Y X H Y X . Dimostrazione: H X H X, Y H Y H Y

H XY ;

H X Y

3.2

Capacit di canale

Abbastanza ragionevole che i migliori canali siano quelli che fanno passare molta informazione. Ma come facciamo a quanticare tale capacit per i nostri canali? Semplice: con la capacit di canale2 ! Tale parametro pari a: C max I X; Y (3.4)p x

Provando a dare in pasto al canale pi informazione rispetto alla sua capacit inevitabilmente perderemo qualcosa: la capacit infatti un metro di misura per la massima quantit di informazione che possiamo convogliare nel nostro canale. Nei prossimi paragra ricaveremo la capacit di canale in alcuni casi notevoli.

3.2.1

Canale deterministico

Detto anche canale noiseless, un canale inesistente perch privo di qualsiasi effetto di non idealit: ogni nodo j (dingresso) del grafo bipartito nisce in un nodo i con probabilit 1, quindi non sono possibili2 Gioco

di parole da quattro soldi. Anzi tre.

32

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT fraintendimenti. In tal caso, linformazione mutua pari a I X; Y H X H XY H X

33

(3.5)

in quanto lentropia condizionata nulla. La capacit del canale perci quella massima possibile (eventualit assolutamente plausibile per qualcosa di ideale, come abbiamo in questo caso): C max I X; Yp x

max H Xp x

log2 N (Ottenuta con distribuzione uniforme)

(3.6)

Prendendo lo stesso grafo del canale noiseless e aggiungendo qualche nuova transizione (rompendo cio la corrispondenza 1-a-1 e aggiungendo del rumore), la capacit non potr far altro che calare.

3.2.2

Canale binario simmetrico

Figura 3.4:

Canale binario simmetrico

Detto anche BSC (Binary Symmetric Channel), forse il caso notevole per eccellenza (vedi gura 3.4). Calcoliamo linformazione mutua:p p

I X; Y

H X

X Y

H X

p y1 p X Y

y1

p y2 p X Y

y2

H X

p

Caso della variabile bernoulliana!

(3.7) Ora siamo pronti a ricavare anche la capacit: C max I X; Yp x

max H Xp x

p

1

p

(Ottenuta con bit dingresso equiprobabili) (3.8)

Il risultato commentato riportato in gura 3.5.

3.2.3

Canale binario a cancellazione

Detto anche BEC (Binary Erasure Channel), comporta la possibilit che - in uscita al canale - alcuni valori si cancellino (erasure). Il caso tipico in cui questa schematizzazione valida quello della trasmissione dei pacchetti agli alti livelli della pila OSI; in generale si avr un campo che serve a controllare lintegrit di tali pacchetti: in base a tale campo potremo conservare il nostro pacchetto oppure scegliere di buttarlo via (cio cancellarlo). Calcolo della capacit: iniziamo con il determinare linformazione mutua. I X; Y H X p y1 H X Y y1 H X H XY p y2 H Y y2 H YXstessa prob. per x1 e x2

H X Y

p e

H X Y

e (3.9)

0 (il risultato certo: x1 )

0 (il risultato certo: x2 )

1: caso di massima incertezza

33

34

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Figura 3.5:

Capacit in funzione di p per il BSC

Figura 3.6:

Binary Erasure Channel

Calcoliamo p e : p e p e x1 p x1q

p e x2 p x2q

q

p e x11

p e x1

q

Quindi, in ultima analisi: I X; Y H X q (3.10) Ora siamo pronti a sfruttare la denizione di capacit per calcolare questultima: C max H Xp x

q

1

q Ottenuta con ingressi equiprobabili

(3.11)

3.2.4

Canale Z

Si faccia riferimento alla gura 3.10 e si abbiano le seguenti probabilit a priori: P X P X x1 x2 34 1

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

35

Figura 3.7:

Canale Z

Iniziamo col calcolarci linformazione mutua: I X; Y H Y H Y X

Il secondo addendo (il pi semplice da ricavare) pari a: H Y X H Y X x1 p x1 H Y X x2 p x2 H Y Xp

x2 p x2

p

0, no incertezza!

Il primo addendo pu invece essere sviluppato nel seguente modo: H Y p y1 log2 p y1 p y2 log2 p y2 p y2

Ora con un po di pazienza ci troviamo: p y2 p y2 X x1 p x1 p y2 X1 p

x2 p x2

1

p

0 (impossibile)

Indi per cui, facendo un passo indietro: H Y p y2 1 p

Rimettendo insieme i pezzi abbiamo ottenuto nalmente la nostra informazione mutua: I X; Y 1 p p f , p

Su p non possiamo agire, mentre possiamo mettere le mani su : massimizziamo quindi la funzione tramite questultima variabile. Calcoliamo la derivata: f , p f , p 1 p 0 troviamo il massimo!

p

1

p

p

Ora sfruttiamo la preziosissima regolina: d dx Otteniamo: 1 p p 1 p log2 35 1 1 p 1 p p 0 x log2 1 x x (3.12)

36 Portando di l dalluguale il termine 1 1 p log2 1 1 1 log2 1 p

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT p ed elaborando ancora: p log2 1 1 1 p 1 p p p p 1 p log2 p p p log2 p 1p

p log2 1 1 p 1

p log2 1

p

p log2 1

p log2 p log2 pp 1 p

Uguagliando gli argomenti dei logaritmi: 1 1 1 1 0 1 p p p p p 1 pp 1 p p 1 p

p 1 p

In denitiva, la capacit del canale Z solo funzione di p e la sua espressione pi complicata nel caso di canale simmetrico. Andando a gracare la capacit C (ottenuta inserendo come parametro 0 ) in funzione otteniamo la gura 3.8.

Figura 3.8:

Capacit del canale Z in funzione della probabilit p

3.2.5

Canale binario non simmetricoP X P X x1 x2 1

Anche questa volta sia:

Come al solito partiamo dalla denizione di informazione mutua: C max I X; Y

H Y

H Y X

Elaboriamo il secondo addendo (come al solito il pi facile): H Y X H Y Xp

x1 p x1

H Y Xq

x2 p x21

p

1

q

36

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

37

Figura 3.9:

Canale binario non simmetrico

Passiamo ora al primo: H Y p y1 log2 p y1 p y2 log2 p y2 p y1

Ma abbiamo anche che p y1 pari a: p y1 p y1 X1 p

x1 p x1

y1 X1

x2 p x2

1

p

1

Di conseguenza: H Y Quindi, rimettendo insieme i cocci, si ha: I X; Y 1 pH Y

1

p

1

1

p

1H YX

Ora vogliamo trovare il massimo di questa funzione, visto che ci servir per trovare il massimo dellinformazione mutua e quindi la capacit: per trovare il massimo sfruttiamo le ben note derivate e scriviamo f , p, 0 1 1 p 1 1 p log2 p 0 1 p 1 d dx

x

log2 1 x x

1 p 1 1 p 1 1 1 p 1 2 1 p 1 log2 1

p 1p 1 p

p

p,

Dopo svariati calcoli (che qui per brevit non riporteremo) si avr quindi: 0 1 1 p 1 1

Ora sostituiamo 0 nellespressione dellinformazione mutua ed ecco che abbiamo trovato la capacit del canale non simmetrico. I X; Y 0 1 p 1 0 0 p 1 0 e appurando che il

Si pu vericare che i calcoli sono stati fatti correttamente provando a imporre p risultato va a coincidere con il BSC. 37

38

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Figura 3.10:

Canale strano

ESERCIZIO:

Si vuole calcolare la capacit del canale indicato in gura 3.10: non un canale banale in quanto la simmetria pu aiutarci solo parzialmente. Se chiamiamo per ipotesi Q la probabilit che all'ingresso del canale si presenti x2 o x3Q p X x2 p X x3

allora avremo che la probabilit di trasmissione di x1 sar:p X x1 1 2Q

Passiamo ora alla determinazione della capacit vera e propria:C max I X; YQ

max H YQ

H Y X

Il secondo addendo pu essere sviluppato nel seguente modo:H Y X H Y X0

x1 p x1

H Y Xp

x2 p x2

H Y Xp

x3 p x3

2Q

p

no incertezza

Ora passiamo al primo addendo, che risaputamente pi complicato:H Y p y1 log2 p y1 p2 log2 p y2Q

p y3 log2 p y3Q

p y1 log2 p y1

2Qlog2 Q

La probabilit p y1 sar:p y1 p y1 X x1 p x1 p y1 X x2 p x2 p y1 X x3 p x3 p x1 1 2Qevento certo ( = 1) impossibile! ( = 0) impossibile! ( = 0)

Sostituendo:H Y p y1 log2 p y1 2Qlog2 Q 1 2Q log2 1 2Q 2Qlog2 Q

Ora possiamo ricavare l'espressione generale dell'informazione mutua:I X; Y H Y H Y X 1 2Q log2 1 2Q 2Qlog2 Q 2Q p

Ricordando ora la relazione notevole

1 d log x dx 2 x ln 2 possiamo calcolare la derivata dell'informazione mutua al ne di ricavare il massimo di quest'ultima: d d I X; Y 1 2Q log2 1 2Q 2Qlog2 Q 2Q p dQ dQ 1 2Q 1 2 2Q ln 2 2log2 1 2Q 2Q 2log2 Q 38 2Q 1 Q ln 2 p 2log2 Q 0 2 p

2log2 1

2

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

39

Semplicando e riordinando:log2 1 2Q 1 log2 2p

log2 Q 2Q Q p

p p Q

0

1

2Q Q

1 2

Ora che abbiamo trovato il valore di Q che massimizza l'informazione mutua, possiamo andare a sostituirlo nella relativa espressione per scoprire la capacit del canale (in funzione di e quindi di p):C 1 2 1 2 2 1 2 2 1 2 log2 2 1 2Q log2 1 2 1 2 2

2Q 2

2Qlog2 Q 1 2 log2 2

2Q 1 2

p 2 1 2 plog2

log2 1 2 2 log2

log2

2 1 2

log2

1 2 1 2

2 22

1

log2 log2 2

log2 1

2 2

log2 log2

2 1 2 1 2

log2

log2 2 2 2

log2

2

log2

2

3.3

Capacit di canale con blocchi di simboli

Figura 3.11:

Canale discreto senza memoria: caso di gruppi di simboli

Come da tradizione, vediamo cosa succede se vediamo la cosa non simbolo per simbolo bens a blocchi di simboli (vedi gura 3.11). Allora in tal caso si ha: I Xn

;Y

n

n C

(3.13)

dove C la capacit che si ha nel caso simbolo-per-simbolo. Dimostrazione: linformazione mutua intesa per supersimboli denita come I Xn

;Y

n

H Y

n

H Y

n

X

n

Possiamo tuttavia elaborare il secondo addendo in maniera astuta: H Yn

X

n

H Y1 Y2 Y3 . . . Yn X1 X2 X3 . . . Xn

usiamo la regola della catena (chain rule)

H Y1 Y2 . . . Yn X1 . . . Xn

H Y2 Y3 . . . Yn X1 . . . Xn Yi Yi1 Yi 2

...

H Yn X1 . . . Xn

i 1

H

n

. . . Y1 X1 . . . Xntocca tenercele!

Siccome tuttavia il canale senza memoria, la generica variabile aleatoria Yi dipende solo dalla Xi quindi possiamo riscrivere lultima sommatoria in questa maniera:

i 1

H

n

Yi Yi

1 Yi 2

. . . Y1 X1 . . . Xntocca tenercele!

i 1

H

n

Yi Xi

39

40

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Ora invece soffermiamoci sullaltro addendo: anche in questo caso possiamo sfruttare lipotesi di assenza di memoria e i calcoli si rivelano abbastanza semplici. H Y Mettendo insieme gli ingredienti: I Xn n

H Y1 Y2 Y3 . . . Yn

Hi n

Yi

;Y

n

Hi

Yi

H Yi Xi

i 1

I Xi ; Yiciascun termine C

nC

3.4

Disuguaglianza del data processing

Consideriamo la gura 3.12.

Figura 3.12:

Y dipende da X, Z dipende da X solo per mezzo di Y

La disuguaglianza del data processing afferma che se prendiamo uninformazione e la elaboriamo in realt non la stiamo aumentando: anzi, al massimo possiamo perderne! Si ha infatti: I X; Z I X; Z Dimostrazione: I X; Z I Y; Z H Z H Z H Z X H Z Y H Z Y I Y; Z I X; Y (3.14)

H Z X

Da qui capiamo che, per conoscere la Z, pi notevole la Y della X. Forti di questa informazione e guardando le prime due denizioni di I X; Z , I Y; Z si ha immediatamente: I X; Z I Y; Z

3.5

Disuguaglianza di Fano

Figura 3.13:

Apparato per illustrare la disuguaglianza di Fano

Osserviamo la gura 3.13: supponiamo di voler capire la X guardando la Y e, a tal proposito, inliamo un blocchetto decisore nella catena. Tale elemento funziona secondo alcuni criteri che per semplicit 40

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

41

considereremo alla stregua di una certa funzione g . Chiameremo x il simbolo che il decisore ha stimato per X in un certo istante: chiaramente il DMC pu aver indotto degli errori e quindi non sempre accadr che x x. Sia quindi pe p x x

la probabilit derrore; si ha allora la seguente diseguaglianza, detta diseguaglianza di Fano H XY Pe Pe log2 Nx 1 (3.15)

dove Nx la cardinalit dellalfabeto che si riferisce ai simboli che trasmettiamo. Dimostrazione: chiamiamo E la variabile aleatoria errore, la quale si rivela essere una variabile bernoulliana con probabilit Pe 1 se x 0 se x Quanto vale lentropia di E? REGOLINA! H X, E Y H X, Y H X E ,Y H X Y H E Y H Y H Y X H X x (Errore) x (No errore) P E 1 Pe

H E X, Y

H X Y

(3.16)

Conoscere Y 3 equivale a conoscere X (grazie al decisore): se conosciamo sia X che X sappiamo con certezza se c errore oppure no, quindi lentropia associata a questo caso sar nulla H E X, Y 0. Ora cerchiamo di sviluppare le espressioni dei due addendi che compaiono nella 3.16; secondo le regole di base sullentropia di variabili aleatorie si ha: H EY H E Pe

Infatti lincertezza su E conoscendo Y sar sicuramente minore o uguale di quella che abbiamo senza nessuna informazione. Inoltre possiamo sviluppare H X E, Y , cio laltro addendo: H X E ,Y H X E 1 ,Y p EPe

1

H X E

0 ,Y p E1 Pe

0

Possiamo tuttavia eliminare il termine H X E 0 , Y p E 0 in quanto se qualcuno ci dice che non vi stato errore e conosciamo la Y allora sicuramente X X e dunque non abbiamo alcuna incertezza (= entropia nulla). Non la stessa cosa per il termine H X E 1 , Y : conosciamo la Y e la X e siamo al corrente della presenza di un errore, ma non sappiamo quale scegliere fra gli Nx 1 altri elementi dellalfabeto . Siamo quindi in grado di affermare che lincertezza sulla X legata allentropia massima (riferita al caso di alfabeto a Nx 1 simboli) secondo la relazione: H XE Rimettendo insieme i pezzi: H X Y H E X, Y0

1, Y

log2 Nx

1

H X E ,YPe log2 Nx 1

H E YPe

Pe

Pe log2 Nx

1

3 Tale variabile aleatoria fa sempre parte della condizione nellequazione 3.16. Per interpretare correttamente i calcoli bisogna forzare la sua presenza a destra delloperatore pipe ( ) e sfruttare le note regoline dellentropia sulle altre due variabili aleatorie (X e Y).

41

42

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Figura 3.14:

Interpretazione graca della disuguaglianza di Fano

Ecco la disuguaglianza di Fano! Possiamo dare uninterpretazione graca di questa disuguaglianza4 (vedi gura 3.14), nonch cercare un legame con la capacit: C max I X; Yp x

max H Xp x

H X Y C Pe

C

H X 1

H X Y (3.17)

H X

C

H X Y

Pe log2 Nx

Ecco trovato, in funzione di C, un bound superiore per lentropia H X . Anche qui possiamo dare uninterpretazione graca di quanto trovato (vedi gura 3.15): notiamo che non possiamo immettere troppa informazione nel canale se vogliamo lavorare nella zona cerchiata di rosso, dove si sbaglia poco (Pe piccola o - meglio ancora - nulla). Possiamo certo provare a spedire pi informazione (aumentare H X ), ma a patto di accettare una probabilit derrore Pe maggiore.

3.6

Codica di canale

Siamo nalmente giunti al nucleo di questo capitolo: la codica di canale. La codica di canale in telecomunicazioni il processo volto a garantire la trasmissione ottimale di un messaggio, trasmesso attraverso un canale con rumore, mediante laggiunta di una ridondanza che protegga il dato da trasmettere. Dopo la sorgente e il codicatore di sorgente, come sappiamo, esiste un elemento (codicatore di canale) che si occupa di codicare i supersimboli che arrivano con periodo T dalla sorgente5 . Immaginiamo che ogni supersimbolo sia un vettore di k bit (cardinalit dellalfabeto dingresso: L 2k ), che w sia uno degli4 Di

seguito riporto un mio tentativo di calcolo del massimo, tutto da vericare: pe log2 1 pe pe pe ln 2 1 pe log2 log2 1 1 pe log2 log2 pe 1 pe 1 1 p2 e ln 2 pe pe pe pe N 1 N pe 1 1 pe log2 1 pe ln 2 1 pe2

1 1 1 pe pe ln 2

pe log2 N log2 N 1 1 N pe 1

1 pe 1 1 ln 2 1 1 ln 2

N

log2

log2 N 2p2 e 2pe ln 2

N

pe 1 ln 2 pe

2p2 e

2pe 1 N 1 N 1 ln 2

5 Se

ogni supersimbolo costituito da n simboli, ogni simbolo arriver con periodo T/n.

42

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

43

Figura 3.15:

Limite superiore per lentropia

L possibili vettori e che i bit siano equiprobabili cosicch si abbia H W log2 L

Possiamo allora dividere per n (numero di simboli in un supersimbolo) cos da ottenere: H W n log2 L n Rc (3.18)

dove Rc la code-rate, ovvero la quantit dinformazione per simbolo entrato nel canale. La sostanza, tuttavia, non cambiata: il codicatore non ha trovato il modo di immettere pi informazione nel canale, visto che per Fano si deve ancora avere Rc C. Il codicatore mappa piuttosto queste k-ple in delle n-ple e, se ben fatto, far in modo di rendere il pi possibile distanti6 (cio differenti) in modo da minimizzare la probabilit che la W, stimata al ricevitore, sia errata. Tale probabilit verr di seguito indicata con pe p W W (3.19)

Mentre quella di seguito la probabilit derrore condizionata dal fatto che sappiamo quale vettore stato inviato: pe i p W W W wi (3.20) Deniamo inoltre la massima probabilit di errore: max pe ii

(3.21) utilizzato, il quale

Il criterio con il quale il codicatore effettua il mapping dei vettori dipende dal codice denito in maniera univoca: dalle parole di codice; dal modo in cui le parole di codice sono accoppiate; da com costituito il decoder (componente duale del codicatore di sorgente).6 Nel

senso di Hamming.

43

44

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

3.7

Teorema della codica di canale (secondo teorema di Shannon)

Il secondo teorema di Shannon o teorema della codica di canale stabilisce che, per quanto un canale di comunicazione sia affetto da rumore, possibile trasmettere dati (informazioni) con probabilit di errore piccola a piacere no ad una frequenza massima7 attraverso il canale stesso. Questo sorprendente risultato fu presentato per la prima volta da Claude Shannon nel 19488 e, sostanzialmente, descrive la massima possibile efcienza di un qualunque metodo di correzione degli errori in funzione del livello di rumore. La teoria non spiega come costruire un codice ottimo, ma stabilisce solo quali siano le prestazioni di tale codice ottimo9 . Formalizzando matematicamente, il teorema sostiene che 0, Rc log2 L n C Codice : Pe per n sufcientemente elevato (3.22)

Dimostriamo questo teorema tenendo presente la simbologia in gura 3.16. Ricordiamo il teorema del

Figura 3.16:

Schema di riferimento per la dimostrazione del secondo teorema di Shannon

data processing e scriviamo10 : I W; Y Possiamo quindi dire che: I W; Yn n

I X

n

;Y

n

nC

H W

H W Y

n

nC log2 L e quindi:

Se applichiamo lipotesi che i simboli siano equiprobabili H W log2 L Ora entra in gioco la disuguaglianza di Fano: log2 L H W Yn

H W Y

n

nC

nC

Peincertezza: avvenuto un errore?

Pe log2 L

1

nC

c errore: incertezza sui rimanenti L 1 simboli

Proseguendo con la catena di disuguaglianze: Pe1

Pe log2 L

1 + nC

1

P2 log2 L

1

nC

1

Pe log2 L

nC

Rimettiamo insieme i pezzi: log2 L Se ora dividiamo per n otteniamo: log2 L n Rc 1 Pe log2 L n nC 1 n Pe Rc C H W Yn

nC

1

Pe log2 L

nC

7 La capacit di Shannon, nota anche come limite di Shannon, di un canale di comunicazione il massimo tasso di trasferimento di dati che pu fornire il canale per un dato livello di rapporto segnale/rumore, con un tasso di errore piccolo a piacere. 8 Shannon diede solo una traccia della dimostrazione. La prima dimostrazione rigorosa dovuta a Amiel Feinstein nel 1954. 9 Utilizzando i pi recenti codici Turbo (o gli LDPC) e la potenza computazionale disponibile sugli odierni DSP, oggi possibile avvicinarsi a meno di 1/10 di decibel rispetto al limite di Shannon. 10 Si ricorda che C si riferisce al singolo simbolo!

44

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT Mandando Pe a 0 e imponendo n 1 Rc 1 n Pe Rc C Rc C

45

Questo signica che per un generico codice, anche se potentissimo (Pe 0) e sufcientemente lungo (n 1), la code-rate non potr comunque mai superare il limite asintotico imposto dal teorema di Shannon (cio la capacit). Per gracare la code-rate in funzione della probabilit derrore non imponiamo che Pe 0, ma manteniamo lipotesi n 1: otteniamo Rc da cui Pe 1 Pe Rc C Rc C (3.23)

(3.24)

Figura 3.17:

Probabilit di errore e code-rate

Gracando quanto ottenuto (vedi gura 3.17) possiamo dedurre la morale della favola, ovvero che vi un limite allinformazione trasportabile attraverso un canale: oltre tale limite linformazione va perduta, quindi possiamo ridurre la Pe a piacere con tecniche sempre pi rafnate (e allungando a dismisura il codice), ma non potremo mai superare i limiti teorici imposti da Shannon (e quindi esagerare con la code-rate). Il secondo teorema di Shannon ha numerose applicazioni, sia nel campo delle telecomunicazioni che in quello dellarchiviazione di dati ed alla base della moderna Teoria dellinformazione.

3.8

Variabili aleatorie continue

Non sempre si usano variabili aleatorie discrete e, anzi, le variabili aleatorie diventano continue a causa di fenomeni sici come il rumore gaussiano. Per una variabile continua la densit di probabilit una funzione continua tale per cui (vedi gura 3.18):b

p a

x

ba

p X x dx

(3.25)

Per passare da variabile continua a discreta sufciente quantizzare la funzione continua prendendone campioni con spaziatura ; il criterio con il quale vengono tratti questi campioni quello del teorema del 45

46

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

Figura 3.18:

Densit di probabilit di una variabile aleatoria continua

valor medio: si assegna in pratica al generico campione xn la seguente probabilit P xn p X xi

p X x dx

pi

xi

1

(3.26)

cosicch, come indicato, la sommatoria delle probabilit associate a ciascun campione restituisca esattamente 1. Il teorema del punto medio ci garantisce che il rettangolino di larghezza su cui integriamo avr la stessa area della funzione calcolata nellintervallo (P xn p X xi ). Calcoliamo ora lentropia della nostra variabile aleatoria discretizzata X: H X

Pi

xi log2 P xi

i

p xiteorema valor medio

log2 p xi

px xi log2 p xii

p xi log2 i 1

p xi log2 p xii

log2

quantizzazione tta

0

p xi log2 p xi deniz. di integrale secondo Riemann

!??!!

Che acciderbolina sta a signicare quell? Sembra una roba astrusissima, ma in realt ha senso perch signica che servono bit per rappresentare una variabile continua. Questo non ci d fastidio anche perch di seguito tratteremo sempre differenze di entropia (come nellinformazione mutua) tali per cui il si cancella.

3.9

Entropia differenziale

Lentropia differenziale, denita per variabili aleatorie continue, denita cos: h X

1 p x log2 dx p x

p x log2 p x dx

(3.27)

Tale parametro ci d unindicazione di quanto sia random la nostra variabile aleatoria. Chiaramente esistono anche. . . 1. lentropia differenziale congiunta: h x, yR2

p x, y log2 p x, y dxdy

(3.28)

46

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT 2. lentropia differenziale condizionata: h x yR2

47

p x, y log2 p x y

dxdy

(3.29)

Lentropia differenziale condizionata sicuramente minore o uguale dellentropia condizionata semplice11 . ESEMPIO:

Calcoliamo l'entropia dierenziale per la variabile X uniformemente distribuita su a, b :b

h Xx

p x log2 p x dxa

1 b a

log2 b

a dx

log2 b

a

ESERCIZIO:

Dimostrare che si ha la seguente relazione per la distanza di Kullback-Leiber 12 :p x log2 p x dx p x log2 q x dx

cio che (distanza di Kullback-Leiber)

p x log2

q x dx p x

(3.30) 0

Dimostrazione: il trucco sempre lo stesso, ovvero usare la disequazione 1.6:

p x log2

q x dx p x x.

log2 e

p x

q x p x

1 dx

0

L'uguaglianza si ha solo se q x

p x

3.9.1

Teorema: la distribuzione uniforme ha entropia massima (caso intervallo limitato)h X log2 b a (3.31)

Vogliamo dimostrare che e cio che la distribuzione uniforme, avente entropia differenziale log2 b a , quella ad entropia massima (cosa peraltro abbastanza ragionevole). Dimostrazione: sfruttiamo la distanza di Kullback-Leiber. 1 1 p x log2 dx p x log2 dx p x q x Se p x una distribuzione generica e q x quella uniforme si ha: hgenerica X11 Dimostrazione

p x log2

1 dx p x

p x log2 b

a dx

log2 b

a

p x dx

log2 b

a

di mio pugno e senza pretese di correttezza: p x, y log2 p x yx y

dxdyx

p x log2 p x dx p x, y log2 p x dxdyx y

p x, y log2x y

p y dxdy p x, y dxdy

p x, yx y 12 Questa

log2

p y p x p x, y

log2 ex y

p x, y

p y p x p x, y

1

dxdy

0

quantit viene usata per vedere quanto una distribuzione simile ad unaltra:

se pari a zero, le distribuzioni coincidono; se maggiore di zero, le distribuzioni sono diverse; se MOOOOLTO maggiore di zero, le distribuzioni sono parecchio differenti.

47

48

CAPITOLO 3. LA CODIFICA DI CANALE E LA CAPACIT

3.9.2

Teorema: la distribuzione gaussiana ha entropia mas