Appunti di Teoria dell'Informazione e Codici - Università di Palermo
Appunti di Teoria dell'Informazione e Codici - Università di Palermo
Appunti di Teoria dell'Informazione e Codici - Università di Palermo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Dipartimento <strong>di</strong> Ingegneria Elettrica, Elettronica e delle<br />
Telecomunicazioni <strong>Università</strong> <strong>di</strong> <strong>Palermo</strong><br />
<strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong><br />
<strong>dell'Informazione</strong><br />
e Co<strong>di</strong>ci<br />
Giovanni Garbo, Stefano Mangione<br />
03/03/2011
ii<br />
<strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci
Sommario<br />
Capitolo - 1.......................................................................................................... 7<br />
Le Sorgenti d’Informazione ............................................................................... 7<br />
1.1 - Premessa .................................................................................................................. 7<br />
1.2 - Misura dell’Informazione ...................................................................................... 8<br />
1.3 - Sorgenti d’Informazione ...................................................................................... 10<br />
Esempio I.1.1 ............................................................................................................................ 13<br />
1.4 - Informazione Associata a un Messaggio ............................................................. 13<br />
Capitolo - 2........................................................................................................ 15<br />
Sorgenti con Alfabeto Continuo ...................................................................... 15<br />
2.1 - Entropia <strong>di</strong> una Sorgente con Alfabeto Continuo ............................................. 15<br />
2.2 - Sorgenti Gaussiane ............................................................................................... 16<br />
Capitolo - 3........................................................................................................ 19<br />
La Co<strong>di</strong>fica <strong>di</strong> Sorgente .................................................................................... 19<br />
3.1 - Premessa ................................................................................................................ 19<br />
3.2 - La Regola del Prefisso .......................................................................................... 19<br />
3.3 - Lunghezza Me<strong>di</strong>a <strong>di</strong> un Co<strong>di</strong>ce. .......................................................................... 20<br />
3.4 - La Disuguaglianza <strong>di</strong> Kraft. ................................................................................ 21<br />
Esempio 3.1 .............................................................................................................................. 21<br />
3.5 - Limite Inferiore per la Lunghezza <strong>di</strong> un Co<strong>di</strong>ce. .............................................. 22<br />
Esempio 3.2 .............................................................................................................................. 23<br />
3.6 - La Proprietà <strong>di</strong> Equipartizione. .......................................................................... 24<br />
3.7 - Teorema sulla Co<strong>di</strong>fica <strong>di</strong> una Sorgente DMS. .................................................. 25<br />
Teorema 3.1 .............................................................................................................................. 27<br />
Esempio 3.3 .............................................................................................................................. 27<br />
3.8 - Co<strong>di</strong>fica <strong>di</strong> Sorgenti con Memoria. ..................................................................... 28<br />
Esempio 3.4 .............................................................................................................................. 29<br />
Esempio 3.5 .............................................................................................................................. 29<br />
Capitolo - 4........................................................................................................ 31<br />
Canali Privi <strong>di</strong> Memoria ................................................................................... 31<br />
4.1 - L’Informazione Mutua. ....................................................................................... 31<br />
4.2 - Concetto <strong>di</strong> Canale. .............................................................................................. 32<br />
4.3 - Il Canale Simmetrico Binario. ............................................................................. 34<br />
4.4 - Capacità del Canale AWGN a Banda Limitata. ................................................ 35<br />
4.5 - Informazione Mutua tra M-messaggi. ................................................................ 37<br />
4.6 - Canali in Cascata. ................................................................................................. 38
ii<br />
<strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
4.7 - L’Inverso del Teorema della Co<strong>di</strong>fica <strong>di</strong> Canale ............................................... 40<br />
Teorema 4.1 .............................................................................................................................. 43<br />
Capitolo - 5 ........................................................................................................ 45<br />
Cenni <strong>di</strong> Trasmissione Numerica ..................................................................... 45<br />
5.1 - Scenario <strong>di</strong> Riferimento. ...................................................................................... 45<br />
5.2 - Struttura del modulatore e del co<strong>di</strong>ficatore <strong>di</strong> sorgente ................................... 45<br />
5.3 - Struttura del Ricevitore. ...................................................................................... 46<br />
5.4 - La Regola <strong>di</strong> Decisione Ottima. ........................................................................... 47<br />
5.5 - Il Criterio della Massima Verosimiglianza. ....................................................... 47<br />
5.6 - Funzioni <strong>di</strong> Verosimiglianza. ............................................................................... 48<br />
5.7 - Le Regioni <strong>di</strong> Decisione. ....................................................................................... 48<br />
5.8 - L’Union Bound. .................................................................................................... 50<br />
5.9 - Bound <strong>di</strong> Bhattacharrya. ..................................................................................... 52<br />
5.10 - Bound <strong>di</strong> Gallager. ............................................................................................. 55<br />
Capitolo - 6 ........................................................................................................ 57<br />
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale ............................................ 57<br />
6.1 - Premessa. ............................................................................................................... 57<br />
6.2 - La Disuguaglianza <strong>di</strong> Jensen ............................................................................... 57<br />
Definizione 6.1 .......................................................................................................................... 58<br />
Definizione 6.2 .......................................................................................................................... 58<br />
6.3 - Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale. .............................................. 60<br />
Teorema 6.1 .............................................................................................................................. 66<br />
Capitolo - 7 ........................................................................................................ 69<br />
Strutture Algebriche .......................................................................................... 69<br />
7.1 - Gruppo .................................................................................................................. 69<br />
7.2 - Anello ..................................................................................................................... 69<br />
7.3 - Campo ................................................................................................................... 69<br />
7.4 - Spazio vettoriale ................................................................................................... 69<br />
Capitolo - 8 ........................................................................................................ 71<br />
8.1 - Lo Spazio ........................................................................................................ 71<br />
8.2 - Generalizzazione della <strong>di</strong>stanza <strong>di</strong> Hamming .................................................... 72<br />
Capitolo - 9 ........................................................................................................ 73<br />
Co<strong>di</strong>ci Binari a Blocchi..................................................................................... 73<br />
9.1 - Co<strong>di</strong>ficatore, Co<strong>di</strong>ce, Deco<strong>di</strong>ficatore .................................................................. 73<br />
Definizione 9.1 - co<strong>di</strong>ficatore a blocchi .................................................................................... 73<br />
Definizione 9.2 - co<strong>di</strong>ce binario a blocchi ................................................................................ 73<br />
Definizione 9.3 - deco<strong>di</strong>ficatore ................................................................................................ 74<br />
9.2 - Utilità della co<strong>di</strong>fica <strong>di</strong> canale ............................................................................. 74<br />
9.3 - La deco<strong>di</strong>fica a massima verosimiglianza .......................................................... 76<br />
Regola <strong>di</strong> decisione a Massima Verosimiglianza ...................................................................... 76
In<strong>di</strong>ce iii<br />
9.4 - Definizioni e teoremi sui co<strong>di</strong>ci rivelatori e correttori ...................................... 77<br />
Definizione 9.4 ......................................................................................................................... 77<br />
Definizione 9.5 ......................................................................................................................... 77<br />
Teorema 9.1 .............................................................................................................................. 78<br />
Definizione 9.6 ......................................................................................................................... 78<br />
Teorema 9.2 .............................................................................................................................. 78<br />
Capitolo - 10...................................................................................................... 81<br />
Co<strong>di</strong>ci Lineari a Blocchi .................................................................................. 81<br />
10.1 - Premessa .............................................................................................................. 81<br />
10.2 - Morfismi .............................................................................................................. 81<br />
Definizione 10.1 - omomorfismo.............................................................................................. 81<br />
Definizione 10.2 - monomorfismo............................................................................................ 82<br />
Definizione 10.3 - isomorfismo ................................................................................................ 82<br />
10.3 - Schema <strong>di</strong> principio <strong>di</strong> un co<strong>di</strong>ce lineare a blocco ........................................... 82<br />
10.4 - Matrice generatrice del co<strong>di</strong>ce .......................................................................... 83<br />
10.5 - Distribuzione dei pesi <strong>di</strong> un co<strong>di</strong>ce lineare a blocco ........................................ 84<br />
Definizione 10.4 ....................................................................................................................... 84<br />
10.6 - Capacità <strong>di</strong> rivelazione <strong>di</strong> un co<strong>di</strong>ce lineare a blocco ...................................... 85<br />
Teorema 10.1 ............................................................................................................................ 85<br />
10.7 - Probabilità <strong>di</strong> non rivelazione d’errore <strong>di</strong> un co<strong>di</strong>ce lineare .......................... 85<br />
10.8 - Laterali <strong>di</strong> un sottogruppo ................................................................................. 86<br />
10.9 - Deco<strong>di</strong>fica tramite i rappresentanti <strong>di</strong> laterale ................................................ 87<br />
Teorema 10.2 ............................................................................................................................ 88<br />
10.10 - Probabilità d’errore <strong>di</strong> un co<strong>di</strong>ce lineare a blocchi ....................................... 88<br />
10.11 - Co<strong>di</strong>ci perfetti, bound <strong>di</strong> Hamming ................................................................ 89<br />
Capitolo - 11...................................................................................................... 91<br />
Co<strong>di</strong>ci Sistematici ............................................................................................. 91<br />
11.1 - Co<strong>di</strong>ci Sistematici ............................................................................................... 91<br />
11.2 - Matrice <strong>di</strong> controllo <strong>di</strong> parità ............................................................................ 92<br />
11.3 - Co<strong>di</strong>ci duali ......................................................................................................... 93<br />
11.4 - Deco<strong>di</strong>fica basata sulla sindrome ...................................................................... 93<br />
Capitolo - 12...................................................................................................... 95<br />
Co<strong>di</strong>ci <strong>di</strong> Hamming e loro duali ....................................................................... 95<br />
12.1 - Co<strong>di</strong>ci <strong>di</strong> Hamming ............................................................................................ 95<br />
Esempio 12.1 ............................................................................................................................ 96<br />
12.2 - Duali dei co<strong>di</strong>ci <strong>di</strong> Hamming ............................................................................. 96<br />
12.3 - Co<strong>di</strong>ci ortogonali e transortogonali .................................................................. 97<br />
Capitolo - 13...................................................................................................... 99<br />
Co<strong>di</strong>ci Convoluzionali ...................................................................................... 99<br />
13.1 - Premessa .............................................................................................................. 99<br />
13.2 - Struttura del co<strong>di</strong>ficatore ................................................................................... 99
iv<br />
<strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
13.3 - Matrice generatrice e generatori. .................................................................... 100<br />
13.4 - Diagramma <strong>di</strong> stato del co<strong>di</strong>ficatore. .............................................................. 101<br />
13.5 - Co<strong>di</strong>ci catastrofici ............................................................................................. 103<br />
13.6 - Trellis degli stati ............................................................................................... 103<br />
Esempio 13.1 ........................................................................................................................... 105<br />
Capitolo - 14 .................................................................................................... 107<br />
L’Algoritmo <strong>di</strong> Viterbi ..................................................................................... 107<br />
14.1 - Deco<strong>di</strong>fica hard e soft <strong>di</strong> un co<strong>di</strong>ce convoluzionale. ...................................... 107<br />
14.2 - L’algoritmo <strong>di</strong> Viterbi ...................................................................................... 109<br />
14.3 - Efficienza dell’algoritmo <strong>di</strong> Viterbi ................................................................ 111<br />
Capitolo - 15 .................................................................................................... 113<br />
Prestazioni dei Co<strong>di</strong>ci Convoluzionali ........................................................... 113<br />
15.1 - Funzione <strong>di</strong> trasferimento <strong>di</strong> un co<strong>di</strong>ficatore convoluzionale. ..................... 113<br />
15.2 - Bound sulla probabilità <strong>di</strong> primo evento d’errore. ....................................... 116<br />
Esempio 15.1 ........................................................................................................................... 118<br />
15.3 - Bound sulla probabilità d’errore sul bit informativo. .................................. 120<br />
Capitolo - 16 .................................................................................................... 123<br />
Anelli <strong>di</strong> Polinomi ........................................................................................... 123<br />
16.1 - Premessa ............................................................................................................ 123<br />
16.2 - L’anello polinomi a coefficienti in ............................................................... 123<br />
16.3 - Spazi <strong>di</strong> polinomi .............................................................................................. 124<br />
Capitolo - 17 .................................................................................................... 125<br />
Co<strong>di</strong>ci polinomiali ........................................................................................... 125<br />
Capitolo - 18 .................................................................................................... 127<br />
Ideali <strong>di</strong> un anello <strong>di</strong> polinomi ....................................................................... 127<br />
18.1 - Premessa ............................................................................................................ 127<br />
18.2 - Ideali <strong>di</strong> un anello con identità. ....................................................................... 127<br />
Teorema 18.1 .......................................................................................................................... 128<br />
Teorema 18.2 .......................................................................................................................... 129<br />
Capitolo - 19 .................................................................................................... 131<br />
Co<strong>di</strong>ci Ciclici ................................................................................................... 131<br />
19.1 - Rappresentazione polinomiale <strong>di</strong> un co<strong>di</strong>ce ciclico. ...................................... 131<br />
Definizione 19.1 ...................................................................................................................... 131<br />
19.2 - L’anello ...................................................................................... 131<br />
Teorema 19.1 .......................................................................................................................... 133<br />
19.3 - Polinomio generatore <strong>di</strong> un co<strong>di</strong>ce ciclico ...................................................... 133<br />
19.4 - Polinomio <strong>di</strong> parità <strong>di</strong> un co<strong>di</strong>ce ciclico .......................................................... 133<br />
Esempio 19.1 ........................................................................................................................... 134<br />
19.5 - Matrice generatrice <strong>di</strong> un co<strong>di</strong>ce ciclico ......................................................... 135
In<strong>di</strong>ce v<br />
19.6 - Co<strong>di</strong>ci ciclici Sistematici ................................................................................... 135<br />
Esempio 19.2 .......................................................................................................................... 136<br />
19.7 - Duale <strong>di</strong> un co<strong>di</strong>ce ciclico ................................................................................. 136<br />
Capitolo - 20.................................................................................................... 139<br />
Campi finiti ..................................................................................................... 139<br />
20.1 - Polinomi irriducibili e campi ad essi associati ............................................... 139<br />
Definizione 20.1 ..................................................................................................................... 139<br />
Teorema 20.1 .......................................................................................................................... 139<br />
20.2 - Or<strong>di</strong>ne degli elementi <strong>di</strong> un gruppo ................................................................ 140<br />
20.3 - Or<strong>di</strong>ne degli elementi <strong>di</strong> un campo finito ....................................................... 140<br />
20.4 - Or<strong>di</strong>ne <strong>di</strong> un campo finito ................................................................................ 141<br />
Teorema 20.2 - Or<strong>di</strong>ne <strong>di</strong> un campo finito ............................................................................. 141<br />
20.5 - Elementi primitivi <strong>di</strong> un campo ....................................................................... 142<br />
20.6 - Campi <strong>di</strong> polinomi ............................................................................................ 142<br />
Esempio 20.1 .......................................................................................................................... 143<br />
20.7 - Polinomi irriducibili primitivi ......................................................................... 143<br />
Definizione 20.2 ..................................................................................................................... 144<br />
Definizione 20.3 ..................................................................................................................... 144<br />
Teorema 20.3 .......................................................................................................................... 144<br />
20.8 - Alcune proprietà dei campi finiti .................................................................... 145<br />
Esempio 20.2 .......................................................................................................................... 145<br />
Capitolo - 21.................................................................................................... 149<br />
Co<strong>di</strong>ci BCH ..................................................................................................... 149<br />
21.1 - Co<strong>di</strong>ci BCH ....................................................................................................... 149<br />
Esempio 21.1 .......................................................................................................................... 150<br />
Capitolo - 22.................................................................................................... 155<br />
La Trasformata <strong>di</strong> Fourier Discreta .............................................................. 155<br />
22.1 - La Trasformata <strong>di</strong> Fourier Discreta ............................................................... 155<br />
22.2 - DFT e co<strong>di</strong>ci ciclici ........................................................................................... 157<br />
Definizione 22.1 ..................................................................................................................... 157
Capitolo - 1<br />
LE SORGENTI D’INFORMAZIONE<br />
1.1 - Premessa<br />
Uno dei maggiori problemi che s’incontrano nella stesura <strong>di</strong> un testo che tratti la<br />
teoria dell’informazione è quello della notazione da adottare, non è, infatti, semplice<br />
trovare il giusto compromesso tra sinteticità e chiarezza della stessa.<br />
Nel seguito avremo spesso a che fare con variabili aleatorie (V.A.) che in<strong>di</strong>cheremo<br />
con lettere maiuscole. Come è noto ad ogni V.A. si può associare una <strong>di</strong>stribuzione <strong>di</strong><br />
probabilità (DDP) ed una densità <strong>di</strong> probabilità (ddp) che altro non è se non la<br />
derivata della DDP, intesa eventualmente in senso generalizzato.<br />
Nel caso delle variabili aleatorie <strong>di</strong>screte che possono cioè assumere un numero<br />
finito <strong>di</strong> valori è più comodo fare riferimento alla <strong>di</strong>stribuzione <strong>di</strong> massa <strong>di</strong> probabilità<br />
(dmp) cioè ad una funzione ( ) che associa ad ogni valore che la V.A. può<br />
assumere la probabilità dell’evento: “ assume il valore ”.<br />
Quando si riterrà che non vi siano possibilità d’equivoci si ometterà il pe<strong>di</strong>ce che<br />
in<strong>di</strong>vidua la V.A. affidando all’argomento della funzione anche questo compito, cioè<br />
( ) ( ).<br />
Si noti che la notazione che qui si adotta è purtroppo analoga a quella<br />
normalmente utilizzata per in<strong>di</strong>care la ddp <strong>di</strong> una variabile aleatoria, un minimo <strong>di</strong><br />
attenzione al contesto dovrebbe, si spera, essere sufficiente ad evitare confusioni. Le<br />
ddp verranno <strong>di</strong> regola in<strong>di</strong>cate con lettere greche con a pe<strong>di</strong>ce la V.A. cui si<br />
riferiscono ad esempio ( ).<br />
Come è noto per le variabili aleatorie <strong>di</strong>screte è particolarmente semplice desumere da<br />
una qualunque delle tre funzioni <strong>di</strong> probabilità appena citate le altre. In particolare se è<br />
nota la dmp <strong>di</strong> una variabile aleatoria <strong>di</strong>screta che assume valori appartenenti<br />
all’insieme la corrispondente DDP ( ) sarà una funzione definita su<br />
tutto costante a tratti con <strong>di</strong>scontinuità d’ampiezza ( ) in corrispondenza dei<br />
valori che la V.A. può assumere. La ddp ( ) sarà espressa da ( )<br />
∑ ( ) ( ).<br />
Nel calcolo delle sommatorie che s’incontreranno ad ogni piè sospinto si<br />
in<strong>di</strong>cherà il più sinteticamente possibile l’in<strong>di</strong>ce su cui le suddette operano. Ad esempio<br />
avendo a che fare con una V.A. <strong>di</strong>screta che assuma valori in un insieme<br />
, la con<strong>di</strong>zione <strong>di</strong> normalizzazione della sua dmp sarà in<strong>di</strong>cata come segue:
8 Capitolo - 1 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
anziché:<br />
∑ ( )<br />
A<br />
(1.1.1)<br />
∑ ( ) (1.1.2)<br />
Analogamente quando si avrà a che fare con variabili aleatorie multi<strong>di</strong>mensionali,<br />
come ad esempio nel caso <strong>di</strong> una -upla <strong>di</strong> simboli emessi consecutivamente,<br />
si utilizzeranno <strong>di</strong>stribuzioni <strong>di</strong> massa congiunte che saranno caratterizzate<br />
scrivendo, ove possibile, pe<strong>di</strong>ce e argomento in grassetto. Ad esempio nel caso <strong>di</strong> una<br />
coppia <strong>di</strong> variabili aleatorie che assumono entrambe valori sull’insieme , la<br />
con<strong>di</strong>zione <strong>di</strong> normalizzazione verrà sinteticamente scritta:<br />
anziché<br />
∑ ( )<br />
A<br />
(1.1.3)<br />
∑ ∑ ( ) (1.1.4)<br />
Nel caso delle ddm con<strong>di</strong>zionate con<br />
( ) (1.1.5)<br />
si in<strong>di</strong>cherà sinteticamente la seguente probabilità con<strong>di</strong>zionata:<br />
( ) (1.1.6)<br />
anche in questo caso, quando si riterrà che non vi siano possibilità d’equivoci si<br />
ometterà il pe<strong>di</strong>ce affidando agli argomenti l’identificazione delle variabili aleatorie cui<br />
si fa riferimento.<br />
1.2 - Misura dell’Informazione<br />
Il concetto d’informazione a livello intuitivo è chiaro. Si acquisisce un’informazione<br />
nel momento in cui si viene a conoscenza <strong>di</strong> qualcosa che prima ci era ignoto.<br />
Quantificare l’informazione da un punto <strong>di</strong> vista matematico richiede invece qualche<br />
riflessione.<br />
Per inquadrare meglio il problema facciamo riferimento ad un esperimento<br />
casuale che com’è noto è caratterizzato da un insieme <strong>di</strong> possibili risultati, da una<br />
famiglia d’eventi (insiemi <strong>di</strong> risultati) e dalle probabilità associate a ciascuno <strong>di</strong> essi.<br />
In prima istanza si accetta facilmente l’idea che il contenuto informativo <strong>di</strong> un evento<br />
sia tanto più grande quanto più esso è inatteso, ciò ad esempio si riflette nella<br />
<strong>di</strong>mensione del carattere utilizzato nei titoli <strong>di</strong> un quoti<strong>di</strong>ano che, <strong>di</strong> regola, è
Le Sorgenti d’Informazione 9<br />
<strong>di</strong>rettamente proporzionale alla “sensazionalità” dell’evento <strong>di</strong> cui il titolo intende dare<br />
notizia. Una notizia è tanto più sensazionale quanto più essa è inattesa, “un padrone ha<br />
morso il suo cane”.<br />
Pertanto, volendo definire una misura per la quantità d’informazione associata ad<br />
un evento, minor preve<strong>di</strong>bilità deve equivalere ad un valore maggiore <strong>di</strong> tale misura.<br />
Inoltre, qualora si verifichino più eventi, per semplicità pren<strong>di</strong>amone in considerazione<br />
solo due, la misura dell’informazione complessiva dovrebbe essere pari alla<br />
somma delle informazioni acquisite con il manifestarsi dei singoli eventi, sempre che le<br />
informazioni acquisite con il manifestarsi <strong>di</strong> uno <strong>di</strong> essi non abbiano reso più<br />
preve<strong>di</strong>bile se non ad<strong>di</strong>rittura certo, o anche impossibile, il manifestarsi del secondo.<br />
In conclusione appare abbastanza chiaro che un’accettabile misura dell’informazione<br />
debba essere:<br />
- legata alla probabilità che il generico evento ha <strong>di</strong> manifestarsi ed in particolare<br />
debba crescere al <strong>di</strong>minuire <strong>di</strong> essa e debba variare con continuità al variare <strong>di</strong><br />
quest’ultima;<br />
- nel caso <strong>di</strong> un evento congiunto debba essere pari alla somma delle informazioni<br />
associate ai singoli eventi, se questi sono tra loro statisticamente in<strong>di</strong>pendenti.<br />
Ricordando che la probabilità che si verifichino più eventi statisticamente in<strong>di</strong>pendenti<br />
è pari al prodotto delle probabilità dei singoli eventi, si può pensare <strong>di</strong><br />
quantificare l’informazione sfruttando la nota proprietà dei logaritmi<br />
( ) ( ) ( ) (1.2.1)<br />
In particolare si assume come informazione (A) associata ad un evento<br />
manifesta con probabilità<br />
(A) valga:<br />
che si<br />
(A) ( ) (1.2.2)<br />
È opportuno sottolineare che l’informazione associata all’evento non <strong>di</strong>pende<br />
dalla natura <strong>di</strong> quest’ultimo, ma solo dalla probabilità che esso ha <strong>di</strong> manifestarsi,<br />
pertanto la notazione utilizzata è in realtà impropria in quanto presenta l’informazione<br />
come associata all’evento e non alla sua probabilità.<br />
Si verifica facilmente che (1.2.2) sod<strong>di</strong>sfa i due requisiti sopra in<strong>di</strong>cati, in<br />
particolare cresce al <strong>di</strong>minuire <strong>di</strong> . É stato anche <strong>di</strong>mostrato che il logaritmo è l’unica<br />
funzione che sod<strong>di</strong>sfa i requisiti sopra elencati.<br />
Osserviamo anche che la base adottata per il logaritmo non è concettualmente<br />
importante, cambiarla equivale infatti ad introdurre un fattore <strong>di</strong> scala, come appare<br />
ovvio se si ricorda la regola per il cambiamento <strong>di</strong> base dei logaritmi:
10 Capitolo - 1 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
(1.2.3)<br />
In pratica scegliere la base nella (1.2.2) equivale a scegliere una particolare unità <strong>di</strong><br />
misura. La potenza <strong>di</strong> un motore non cambia se viene misurata in KW o in HP, anche<br />
se espressa in cavalli è più accattivante.<br />
Nella <strong>Teoria</strong> dell’Informazione si utilizzano tipicamente due basi per il logaritmo<br />
che compare nella (1.2.2) la base se si intende misurare l’informazione il nat, o la<br />
base se la si vuole misurarla in bit (binary information unit non binary <strong>di</strong>git).<br />
Ad esempio nel caso del lancio <strong>di</strong> una moneta non truccata al manifestarsi dell’evento<br />
è associata un’informazione pari a – o a –<br />
L’utilizzo del bit come unità <strong>di</strong> misura è <strong>di</strong> regola preferito dal momento che la<br />
quasi totalità dei moderni sistemi <strong>di</strong> informazione utilizza sistemi <strong>di</strong> calcolo che<br />
lavorano in base 2 e che i dati tra computer vengono scambiati tipicamente sotto forma<br />
<strong>di</strong> parole binarie. In quel che segue il logaritmo naturale verrà in<strong>di</strong>cato con ed il<br />
logaritmo in base con omettendo cioè l’in<strong>di</strong>cazione della base.<br />
1.3 - Sorgenti d’Informazione<br />
Una sorgente d’informazione, è un sistema che emette in modo più o meno<br />
casuale sequenze d’elementi appartenenti ad un assegnato insieme, l’alfabeto della<br />
sorgente. Come vedremo, la natura dei simboli è del tutto inessenziale per lo sviluppo<br />
della teoria, potremo quin<strong>di</strong> sempre pensare che l’alfabeto sia numerico, cioè che la<br />
sorgente emetta una sequenza <strong>di</strong> variabili aleatorie, che, se l’insieme è finito, saranno <strong>di</strong><br />
tipo <strong>di</strong>screto. In alternativa possiamo sempre pensare <strong>di</strong> definire sull’insieme dei<br />
simboli emessi, che costituisce in sostanza l’insieme dei risultati <strong>di</strong> un esperimento<br />
casuale, una V.A. biettiva.<br />
Un sistema <strong>di</strong> trasmissione ha il compito <strong>di</strong> recapitare dei dati in modo affidabile<br />
da un emissario a un destinatario. Il grado d’affidabilità del sistema può essere<br />
caratterizzato dal numero d’errori da cui è me<strong>di</strong>amente afflitto.<br />
Si osservi che emissario e destinatario possono anche trovarsi nello stesso luogo ed<br />
essere ad<strong>di</strong>rittura lo stesso soggetto, come ad esempio avviene nel caso della<br />
memorizzazione <strong>di</strong> dati, che si auspica possano essere utili in futuro, su un supporto<br />
fisico.<br />
L’emissario in sostanza è una sorgente d’informazione che può generare segnali<br />
a tempo continuo o <strong>di</strong>screto.
Le Sorgenti d’Informazione 11<br />
Le sorgenti <strong>di</strong> tipo <strong>di</strong>screto sono quelle che emettono dei simboli, o lettere, appartenenti<br />
ad un assegnato insieme, al più numerabile, che chiameremo alfabeto <strong>di</strong><br />
sorgente.<br />
Se la probabilità che in un dato istante la sorgente emetta una qualunque lettera<br />
non <strong>di</strong>pende dai simboli emessi negli altri istanti si <strong>di</strong>ce che la sorgente è priva <strong>di</strong><br />
memoria.<br />
Una sorgente <strong>di</strong>screta priva <strong>di</strong> memoria (Discrete Memoryless Source) potrebbe<br />
ad esempio essere quella che emette la sequenza dei risultati ottenuti lanciando<br />
ripetutamente un dado, l’alfabeto utilizzato sarebbe in questo caso costituito da sei<br />
simboli che si potrebbero etichettare con i primi sei numeri naturali.<br />
Viceversa una sorgente <strong>di</strong>screta dotata <strong>di</strong> memoria potrebbe essere una sorgente che<br />
trasmette un testo in lingua italiana. Esisterebbero pochi dubbi su quale sarà il simbolo<br />
emesso successivamente alla sequenza “p r e c i p i t e v o l i s s i m e v o l m e n t”, o<br />
sul fatto che dopo l’emissione della lettera q verrà emessa una u, a meno che i due<br />
simboli precedenti non siano stati s o, fatti salvi, ovviamente, gli errori, sempre in<br />
agguato malgrado e, talvolta, a causa dei correttori ortografici.<br />
Come anticipato nella premessa, non si perde generalità se si assume che la<br />
sorgente emetta una sequenza <strong>di</strong> variabili aleatorie che assumono valori<br />
appartenenti ad un sottoinsieme <strong>di</strong> che si può porre in corrispondenza biunivoca con<br />
l’insieme delle lettere che costituiscono l’alfabeto della sorgente che supporremo finito.<br />
In sostanza quanto detto equivale ad associare un’etichetta numerica ad ogni lettera<br />
dell’alfabeto della sorgente.<br />
In quel che segue supporremo che la sia stazionaria cioè che la sua<br />
statistica a qualunque or<strong>di</strong>ne <strong>di</strong>penda esclusivamente dalla posizione relativa degli<br />
istanti <strong>di</strong> osservazione, non dall’origine dei tempi. L’ipotesi appena fatta implica, tra<br />
l’altro, che l’alfabeto utilizzato non vari al variare dell’in<strong>di</strong>ce temporale Detta la<br />
V.A. emessa dalla sorgente all’istante , ad ogni simbolo dell’alfabeto si può<br />
associare una probabilità d’emissione:<br />
( ) (1.3.1)<br />
L’informazione che si acquisirebbe rilevando l’emissione della lettera<br />
nulla sapere sulle lettere precedentemente emesse varrebbe quin<strong>di</strong>:<br />
senza<br />
( ) ( ) (1.3.2)<br />
assumendo ove necessario ( ) , alla sorgente si può associare la sua entropia:
12 Capitolo - 1 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( ) ∑ ( )<br />
( )<br />
∑ (1.3.3)<br />
L’entropia ( ) appena definita, è la me<strong>di</strong>a statistica dell’informazione<br />
associata all’emissione dell’ -esimo simbolo. Essa rappresenta pertanto l’informazione<br />
che me<strong>di</strong>amente si acquisisce per effetto dell’emissione <strong>di</strong> un simbolo da parte della<br />
sorgente all’istante . Osserviamo che la stazionarietà della sequenza comporta che<br />
( ) sia in<strong>di</strong>pendente da , tale in<strong>di</strong>ce può quin<strong>di</strong> essere omesso.<br />
Si noti che anche l’entropia <strong>di</strong>pende esclusivamente dalla <strong>di</strong>stribuzione <strong>di</strong> probabilità<br />
dei simboli emessi e non dalla loro natura.<br />
L’entropia <strong>di</strong> una sorgente, è limitata superiormente. In particolare se l’alfabeto<br />
ha car<strong>di</strong>nalità si ha:<br />
∑ (1.3.4)<br />
Per verificare la precedente <strong>di</strong>suguaglianza consideriamo due possibili dmp:<br />
∑<br />
∑<br />
(1.3.5)<br />
vale la seguente catena <strong>di</strong> <strong>di</strong>suguaglianze:<br />
∑ ∑ ∑ ∑<br />
∑ ( )<br />
(1.3.6)<br />
La maggiorazione effettuata è corretta in<br />
quanto nell’insieme <strong>di</strong> definizione <strong>di</strong> risulta<br />
(ve<strong>di</strong> Fig.E 1.1). La precedente permette<br />
<strong>di</strong> affermare che se sostituiamo la dmp ad argomento<br />
del logaritmo con una <strong>di</strong>versa da quella utilizzata per<br />
il calcolo della me<strong>di</strong>a otteniamo comunque una<br />
maggiorazione dell’entropia.<br />
In particolare se nella (1.3.6) si sceglie<br />
Fig.E 1.1 - y x , y (x).<br />
si ottiene:
Le Sorgenti d’Informazione 13<br />
∑<br />
∑<br />
∑<br />
∑<br />
(1.3.7)<br />
da cui la (1.3.4).<br />
Fig.E 1.2 - Entropia <strong>di</strong> una sorgente binaria in<br />
funzione della dmp dei dati<br />
Esempio I.1.1<br />
Si consideri una sorgente che emette simboli<br />
appartenenti ad un alfabeto binario costituito quin<strong>di</strong><br />
da due soli simboli ad esempio, , detta la<br />
probabilità che venga emesso il simbolo<br />
l’entropia della sorgente vale:<br />
( ) ( ) ( )<br />
Si osservi che ( ) (ve<strong>di</strong> Fig.E 1.2) in accordo<br />
con la (1.3.7) raggiunge il suo massimo per .<br />
In sostanza una sorgente fornisce me<strong>di</strong>amente<br />
tanta più informazione quanto meno preve<strong>di</strong>bile è il simbolo che essa<br />
emetterà. Nel caso <strong>di</strong> una sorgente binaria la massima entropia è pari ad un bit e si<br />
ottiene quando la sorgente emette dati equiprobabili.<br />
La (1.3.7) mostra che il massimo contenuto informativo me<strong>di</strong>o si ottiene da<br />
sorgenti in cui ogni simbolo ha la stessa probabilità <strong>di</strong> essere emesso <strong>di</strong> qualsiasi altro<br />
appartenente all’alfabeto.<br />
1.4 - Informazione Associata a un Messaggio<br />
Si può anche definire l’informazione derivante dall’emissione <strong>di</strong> una<br />
-upla <strong>di</strong><br />
simboli emessi consecutivamente dalla sorgente. In questo caso parleremo <strong>di</strong> M-<br />
messaggio emesso dalla sorgente, che possiamo pensare come la realizzazione <strong>di</strong> una<br />
V.A. M-<strong>di</strong>mensionale<br />
allora esisteranno al più<br />
. Se l’alfabeto della sorgente ha car<strong>di</strong>nalità<br />
possibili messaggi. In<strong>di</strong>cando con<br />
A , il generico M-messaggio e con<br />
ad esso associata è data da:<br />
( ) la probabilità che sia emesso, l’informazione<br />
( )<br />
(1.4.1)<br />
( )<br />
me<strong>di</strong>ando sui possibili messaggi otteniamo l’entropia associata all’M-messaggio:<br />
( ) ∑ ( )<br />
A<br />
( )<br />
Se i simboli emessi dalla sorgente sono i.i.d. allora risulta:<br />
(1.4.2)
14 Capitolo - 1 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( ) ∏ ( ) (1.4.3)<br />
sostituendo la precedente nella (1.4.2):<br />
( ) ∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
∏ ( )<br />
∑ ( ) ∑<br />
A<br />
( )<br />
∑ ∑ ( )<br />
A<br />
( )<br />
(1.4.4)<br />
∑ ∑ ( )<br />
( )<br />
( )<br />
pertanto, se la sorgente è stazionaria e priva <strong>di</strong> memoria, l’entropia associata ad un<br />
messaggio <strong>di</strong> lunghezza M è M volte l’entropia associata al singolo simbolo.<br />
Assumiamo adesso:<br />
( ) ∏ ( ) (1.4.5)<br />
( ) sod<strong>di</strong>sfa ovviamente le con<strong>di</strong>zioni necessarie per essere una possibile dmp <strong>di</strong> una<br />
V.A.multi<strong>di</strong>mensionale. Seguendo la falsariga della (1.3.6) si può scrivere:<br />
∑ ( )<br />
d’altro canto risulta:<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
∑ ( )<br />
A<br />
( ( )<br />
( )<br />
( )<br />
)<br />
∑ ( )<br />
A<br />
( )<br />
( )<br />
(1.4.6)<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
∏ ( )<br />
∑ ( ) ∑<br />
A<br />
( )<br />
∑ ∑ ( )<br />
A<br />
( )<br />
∑ ∑ ( )<br />
A<br />
( )<br />
(1.4.7)<br />
∑ ( ) ( )<br />
dove l’ultima uguaglianza vale solo nel caso in cui la i simboli emessi dalla sorgente<br />
siano identicamente <strong>di</strong>stribuiti, cioè nel caso in cui la sorgente sia stazionaria, pur non<br />
essendo necessariamente priva <strong>di</strong> memoria.<br />
Dalle (1.4.6) e (1.4.7) deduciamo che in generale per sorgenti stazionarie risulta<br />
( ) ( ) (1.4.8)<br />
cioè a parità <strong>di</strong> car<strong>di</strong>nalità dell’alfabeto e <strong>di</strong> lunghezza del messaggio la massima<br />
informazione me<strong>di</strong>a è fornita da sorgenti prive <strong>di</strong> memoria che emettono simboli<br />
equiprobabili.
Capitolo - 2<br />
SORGENTI CON ALFABETO CONTINUO<br />
2.1 - Entropia <strong>di</strong> una Sorgente con Alfabeto Continuo<br />
Consideriamo adesso una sorgente che emette con cadenza regolare simboli<br />
appartenenti ad un insieme non numerabile. Potremo quin<strong>di</strong> sempre pensare che la<br />
sorgente emetta una sequenza <strong>di</strong> variabili aleatorie <strong>di</strong> tipo continuo. La sorgente<br />
sarà quin<strong>di</strong> completamente caratterizzata da un processo aleatorio a tempo <strong>di</strong>screto<br />
continuo in ampiezza, che è completamente caratterizzato qualora sia nota la sua<br />
statistica a qualunque or<strong>di</strong>ne.<br />
Per definire l’entropia ( ) <strong>di</strong> una tale sorgente, cioè l’informazione che<br />
me<strong>di</strong>amente acquisiremmo in seguito all’emissione <strong>di</strong> un singolo simbolo, senza nulla<br />
sapere dei simboli emessi precedentemente da una tale sorgente, dovremo<br />
necessariamente fare riferimento alla densità <strong>di</strong> probabilità ( ) della variabile<br />
aleatoria che essa genera in un dato istante. Se supponiamo che la sorgente sia<br />
stazionaria tale densità <strong>di</strong> probabilità sarà in<strong>di</strong>pendente dall’istante <strong>di</strong> osservazione.<br />
Basandoci su quanto detto per le sorgenti con alfabeto <strong>di</strong>screto, sorge spontaneo<br />
definire tale entropia come segue:<br />
( ) ∫ ( )<br />
(2.1.1)<br />
( )<br />
assumendo che . Tale definizione non gode <strong>di</strong> tutte le proprietà <strong>di</strong> cui godeva<br />
l’entropia <strong>di</strong> una sorgente con alfabeto finito, essa ad esempio può assumere anche<br />
valori negativi e può non essere limitata.<br />
Anche per le sorgenti ad alfabeto continuo possiamo definire l’entropia associata<br />
a più simboli emessi. Nel caso <strong>di</strong> due soli simboli si ha:<br />
( ) ∫ ∫ ( )<br />
( )<br />
∫ ∫ ( )<br />
( )<br />
∫ ∫ ( )<br />
( )<br />
( ) ( )<br />
( ) ( )<br />
se X e Y sono statisticamente in<strong>di</strong>pendenti dalla precedente si ottiene:<br />
(2.1.2)<br />
Si può provare che in generale risulta:<br />
( ) ( ) ( ) (2.1.3)<br />
( ) ( ) ( ) (2.1.4)
Capitolo - 2 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci 16<br />
2.2 - Sorgenti Gaussiane<br />
Osserviamo che:<br />
( ) ∫ ( ) ( ( ))<br />
∫ ( )( ( ) ) ∫ ( ( )) ( )<br />
∫ ( ( ))<br />
(2.2.1)<br />
ne segue che se ∫ ( ( )) la ( ) è limitata inferiormente. Ciò avviene<br />
certamente se la<br />
anche quella <strong>di</strong> ( ( )) . La<br />
( ) è limitata. La sommabilità <strong>di</strong> ( ) garantisce in questo caso<br />
( ) è certamente limitata inferiormente anche quando la<br />
( ) non si mantiene limitata, purchè in corrispondenza ai valori <strong>di</strong> in cui <strong>di</strong>verge lo<br />
faccia più lentamente <strong>di</strong> con per . Consideriamo adesso una<br />
generica ddp ( ) risulta:<br />
∫ ( )<br />
∫ ( )<br />
( )<br />
∫ ( ) ( ( )<br />
( )<br />
( )<br />
∫ ( )<br />
)<br />
( )<br />
( )<br />
La precedente può essere pensata come una generalizzazione della (1.4.6).<br />
(2.2.2)<br />
Supponiamo che la sorgente emetta una variabile aleatoria con varianza finita ,<br />
ponendo nella (2.2.2) ( )<br />
√<br />
( ¯ )<br />
, cioè scegliendo una ddp Gaussiana con<br />
varianza<br />
otteniamo:<br />
∫ ( )<br />
( )<br />
∫ ( ) (√<br />
( ¯ )<br />
)<br />
√ ∫ ( ) ∫ ( ) (<br />
( ¯ )<br />
)<br />
(2.2.3)<br />
( ) ∫ ( ) ( ¯ )<br />
( )<br />
( )<br />
d’altro canto si verifica facilmente che ( ) è anche l’entropia <strong>di</strong> una variabile<br />
aleatoria Gaussiana, con varianza .<br />
Quanto appena esposto ci porta a concludere che a parità <strong>di</strong> varianza le sorgenti<br />
continue Gaussiane generano la massima informazione me<strong>di</strong>a.
Sorgenti con Alfabeto Continuo 17<br />
È opportuno osservare che l’entropia <strong>di</strong> una sorgente stazionaria continua è<br />
in<strong>di</strong>pendente dal valor me<strong>di</strong>o della variabile aleatoria emessa. Un valor me<strong>di</strong>o non<br />
nullo incide solo sul valor quadratico me<strong>di</strong>o della sequenza emessa aumentandolo. Il<br />
che in altri termine vale a <strong>di</strong>re che un valor me<strong>di</strong>o <strong>di</strong>verso da zero aumenta la potenza<br />
me<strong>di</strong>a del processo senza offrire alcun beneficio in termini d’informazione me<strong>di</strong>a a<br />
esso associata.
Capitolo - 3<br />
LA CODIFICA DI SORGENTE<br />
3.1 - Premessa<br />
Gli attuali sistemi <strong>di</strong> trasmissione sono spesso basati su un mezzo trasmissivo <strong>di</strong><br />
capacità limitata che viene con<strong>di</strong>viso tra più utenti, <strong>di</strong>venta quin<strong>di</strong> essenziale cercare <strong>di</strong><br />
ottimizzarne l’utilizzo al fine <strong>di</strong> consentire l’accesso alla risorsa ad un maggior numero<br />
<strong>di</strong> soggetti. È quin<strong>di</strong> auspicabile mettere in atto dei meto<strong>di</strong> che consentano <strong>di</strong><br />
“compattare” le informazioni da trasmettere in modo da utilizzare il sistema per il<br />
minor tempo possibile, ovvero da occupare una minore quantità <strong>di</strong> banda, senza<br />
pregiu<strong>di</strong>care il contenuto informativo del messaggio. Lo stesso <strong>di</strong>scorso ovviamente<br />
vale nel caso dell’immagazzinamento delle informazioni, “zippare” un file serve a<br />
sfruttare meglio la memoria dell’hard <strong>di</strong>sk.<br />
La quasi totalità dei sistemi <strong>di</strong> trasmissione oggigiorno è numerica, e fa uso <strong>di</strong><br />
sistemi d’elaborazione <strong>di</strong>gitale che lavorano in base due, pertanto ci occuperemo <strong>di</strong><br />
analizzare delle tecniche <strong>di</strong> co<strong>di</strong>fica <strong>di</strong> sorgente che associno alle singole lettere o a<br />
interi messaggi emessi da quest’ultima delle parole binarie cioè delle stringhe <strong>di</strong><br />
lunghezza non necessariamente costante costituite utilizzando un alfabeto <strong>di</strong> due sole<br />
lettere.<br />
Una sorgente che utilizza un alfabeto <strong>di</strong> car<strong>di</strong>nalità può emettere al più M-<br />
messaggi <strong>di</strong>stinti, se a ciascuno <strong>di</strong> essi si associa una parola binaria si <strong>di</strong>ce che si è<br />
definito un co<strong>di</strong>ce.<br />
3.2 - La Regola del Prefisso<br />
Il co<strong>di</strong>ce citato nel precedente paragrafo può essere costruito utilizzando parole<br />
binarie tutte con lo stesso numero <strong>di</strong> bit, nel qual caso la lunghezza minima <strong>di</strong> tali<br />
parole non potrà essere inferiore a:<br />
( ) (3.2.1)<br />
dove in<strong>di</strong>ca il primo intero non minore.<br />
Si possono anche utilizzare parole <strong>di</strong> co<strong>di</strong>ce <strong>di</strong> lunghezza variabile, in questo<br />
caso, però, occorrerà prestare attenzione al fatto che se s’invia un file costituito da più<br />
M-messaggi consecutivi i singoli messaggi dovranno essere deco<strong>di</strong>ficabili in modo<br />
univoco, dovremo in altri termini essere certi del fatto che a coppie <strong>di</strong>stinte <strong>di</strong> sequenze<br />
finite <strong>di</strong> messaggi il co<strong>di</strong>ce non associ la stessa stringa binaria (da qui in poi con stringa<br />
in<strong>di</strong>cheremo una sequenza <strong>di</strong> lunghezza finita <strong>di</strong> parole <strong>di</strong> co<strong>di</strong>ce).
20 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Tale requisito è certamente sod<strong>di</strong>sfatto se nessuna delle parole del co<strong>di</strong>ce è<br />
identica alla parte iniziale <strong>di</strong> un’altra parola <strong>di</strong> co<strong>di</strong>ce. In questo caso <strong>di</strong>ciamo che il<br />
co<strong>di</strong>ce sod<strong>di</strong>sfa la regola del prefisso.<br />
È opportuno sottolineare che la regola del prefisso è solo sufficiente, si potrebbero<br />
cioè in<strong>di</strong>viduare dei co<strong>di</strong>ci che pur non rispettandola, sono deco<strong>di</strong>ficabili in<br />
modo univoco. Tali co<strong>di</strong>ci tuttavia ci obbligherebbero per effettuare la deco<strong>di</strong>fica ad<br />
attendere la ricezione se non dell’intera sequenza <strong>di</strong> M-messaggi certamente <strong>di</strong> più <strong>di</strong><br />
un messaggio. Viceversa, se il co<strong>di</strong>ce sod<strong>di</strong>sfa la regola del prefisso la deco<strong>di</strong>fica può<br />
essere effettuata istantaneamente cioè ogniqualvolta una parola binaria coincide con<br />
una parola <strong>di</strong> co<strong>di</strong>ce l’M-messaggio corrispondente si può dare per identificato, non<br />
essendo possibile alcuna ambiguità.<br />
3.3 - Lunghezza Me<strong>di</strong>a <strong>di</strong> un Co<strong>di</strong>ce.<br />
Note le caratteristiche della sorgente e fissata la lunghezza del messaggio da<br />
co<strong>di</strong>ficare e detto ( ) il numero <strong>di</strong> bit che costituiscono la parola binaria ( ) che il<br />
co<strong>di</strong>ce associa all’M-messaggio , ad ogni co<strong>di</strong>ce si può associare una lunghezza<br />
me<strong>di</strong>a della parola <strong>di</strong> co<strong>di</strong>ce:<br />
∑ ( ) ( )<br />
(3.3.1)<br />
A<br />
ne <strong>di</strong>scende che il numero me<strong>di</strong>o <strong>di</strong> bit utilizzati per ciascun simbolo emesso dalla<br />
sorgente è pari a .<br />
La conoscenza <strong>di</strong> tale dato è importante in quanto ci permette ad esempio <strong>di</strong><br />
stimare con buona approssimazione lo spazio <strong>di</strong> memoria necessario per archiviare un<br />
file “tipico” costituito da un numero sufficientemente grande <strong>di</strong> simboli emessi dalla<br />
sorgente .<br />
Dal nostro punto <strong>di</strong> vista un co<strong>di</strong>ce <strong>di</strong> sorgente è tanto migliore quanto minore è<br />
la sua lunghezza me<strong>di</strong>a a patto che ovviamente la sua deco<strong>di</strong>fica non risulti troppo<br />
onerosa.<br />
Esiste un importante teorema che, nel caso <strong>di</strong> sorgenti DMS stazionarie da un<br />
lato pone un limite inferiore alla lunghezza me<strong>di</strong>a ottenibile al variare del co<strong>di</strong>ce scelto<br />
e dall’altro garantisce che, se si è <strong>di</strong>sposti ad accettare una maggiore complessità nei<br />
processi <strong>di</strong> co<strong>di</strong>fica/deco<strong>di</strong>fica è possibile approssimare tale limite bene quanto si<br />
vuole.
La Co<strong>di</strong>fica <strong>di</strong> Sorgente 21<br />
Per <strong>di</strong>mostrare tale teorema ci serviremo <strong>di</strong> una con<strong>di</strong>zione necessaria alla<br />
deco<strong>di</strong>ficabilità <strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> sorgente, a <strong>di</strong>fferenza <strong>di</strong> quella del prefisso che, come<br />
già detto, è invece una con<strong>di</strong>zione sufficiente.<br />
3.4 - La Disuguaglianza <strong>di</strong> Kraft.<br />
Consideriamo una sorgente DMS con alfabeto <strong>di</strong> car<strong>di</strong>nalità ed un generico<br />
co<strong>di</strong>ce per gli M-messaggi emessi da essa. Comunque scelto vale l’identità:<br />
( ∑ ( ) ) ∑ ∑<br />
A<br />
A A<br />
A<br />
∑ ( ( ) ( ) ( ))<br />
(3.4.1)<br />
la sommatoria ad ultimo membro della precedente può anche essere calcolata<br />
“accorpando” i termini con uguale esponente. A tale scopo in<strong>di</strong>chiamo con la<br />
massima lunghezza raggiunta dalle parole <strong>di</strong> co<strong>di</strong>ce. Il massimo esponente che può<br />
comparire nell’ultimo membro della (3.4.1) vale quin<strong>di</strong> . Ciò premesso, possiamo<br />
scrivere:<br />
( ∑ ( ) ) ∑ (3.4.2)<br />
A<br />
essendo il numero <strong>di</strong> stringhe <strong>di</strong> bit che si possono ottenere giustapponendo<br />
parole <strong>di</strong> co<strong>di</strong>ce.<br />
Se preten<strong>di</strong>amo che il co<strong>di</strong>ce sia univocamente deco<strong>di</strong>ficabile, dovrà necessariamente<br />
essere , se così non fosse, esisterebbero certamente almeno due<br />
sequenze <strong>di</strong> M-messaggi co<strong>di</strong>ficate con la stessa stringa binaria <strong>di</strong> bit.<br />
La considerazione fatta suggerisce per la (3.4.2) la seguente maggiorazione:<br />
( ∑ ( ) ) ∑ ∑ (3.4.3)<br />
A<br />
Osserviamo che la precedente deve valere per ogni e, visto che il primo membro, se<br />
crescesse con lo farebbe esponenzialmente, non può essere sod<strong>di</strong>sfatta a meno che<br />
non risulti<br />
∑ ( )<br />
A<br />
(3.4.4)<br />
la precedente va sotto il nome <strong>di</strong> Disuguaglianza <strong>di</strong> Kraft ed in quanto con<strong>di</strong>zione<br />
necessaria all’univoca deco<strong>di</strong>ficabilità costituisce un vincolo sulla <strong>di</strong>stribuzione delle<br />
lunghezze delle parole d’un co<strong>di</strong>ce.<br />
Esempio 3.1<br />
Premesso che:un grafo è definito da una coppia d’insiemi ( );
22 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
- l’insieme è detto insieme dei vertici ;<br />
- l’insieme è detto insieme dei lati e definisce una relazione (detta <strong>di</strong> a<strong>di</strong>acenza)<br />
su<br />
- a ciascun vertice <strong>di</strong> un grafo si può associare un grado definito come il numero <strong>di</strong> lati in cui<br />
esso appare;<br />
- un percorso <strong>di</strong> lunghezza è definito come una sequenza <strong>di</strong> vertici , tali che<br />
( ) , ;<br />
- un grafo è detto connesso se comunque scelti due vertici <strong>di</strong>stinti esiste un percorso tra essi;<br />
- un ciclo è un percorso in cui il primo e l’ultimo vertice coincidono;<br />
- un albero è un grafo connesso senza cicli;<br />
- in un albero i no<strong>di</strong> <strong>di</strong> grado uno sono detti foglie;<br />
- un albero ha ra<strong>di</strong>ce se uno dei vertici viene etichettato come tale;<br />
- un albero binario è un albero con ra<strong>di</strong>ce in cui nessun vertice ha grado maggiore <strong>di</strong> tre e la<br />
ra<strong>di</strong>ce ha grado non maggiore <strong>di</strong> due;<br />
- per or<strong>di</strong>ne <strong>di</strong> un vertice si intende la lunghezza del percorso che lo connette alla ra<strong>di</strong>ce, i<br />
vertici <strong>di</strong> or<strong>di</strong>ne a<strong>di</strong>acenti ad un nodo <strong>di</strong> or<strong>di</strong>ne sono detti figli ed il vertice che li<br />
connette è detto padre.<br />
Un metodo per costruire un co<strong>di</strong>ce che sod<strong>di</strong>sfi la regola del prefisso è definire un albero binario<br />
avente foglie ed associare ai vertici stringhe binarie <strong>di</strong> lunghezza pari al loro or<strong>di</strong>ne secondo le<br />
seguenti regole:<br />
- alla ra<strong>di</strong>ce si associa la stringa vuota<br />
- ai vertici figli si associano stringhe <strong>di</strong>stinte ottenute a partire da quelle associate ai vertici<br />
padri, giustapponendovi rispettivamente i simboli ‘0’ ed ‘1’.<br />
Al termine della costruzione, le foglie dell’albero hanno associate parole <strong>di</strong> co<strong>di</strong>ce che<br />
sod<strong>di</strong>sfano la regola del prefisso. E’ utile notare che la <strong>di</strong>seguaglianza <strong>di</strong> Kraft è sod<strong>di</strong>sfatta per<br />
costruzione. In particolare lo è come uguaglianza nel caso in cui il numero <strong>di</strong> vertici dell’albero sia<br />
.<br />
3.5 - Limite Inferiore per la Lunghezza <strong>di</strong> un Co<strong>di</strong>ce.<br />
messaggio<br />
Forti del precedente risultato consideriamo la seguente funzione del generico M-<br />
( )<br />
( )<br />
∑ ( ˜ )<br />
˜ A<br />
(3.5.1)<br />
( ) sod<strong>di</strong>sfa tutte le con<strong>di</strong>zioni per poter essere la dmp <strong>di</strong> una M-upla <strong>di</strong> variabili<br />
aleatorie <strong>di</strong>screte che assumono valori appartenenti all’alfabeto , pertanto, tenendo<br />
conto della (1.3.6), si può scrivere:<br />
( ) ∑ ( )<br />
A<br />
∑ ( )<br />
( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( ) ∑ ( ˜ )<br />
A<br />
˜ A<br />
(3.5.2)<br />
∑ ( ) ( ) ( ∑ ( ˜ ) ) ( ∑ ( ˜ ) )<br />
A<br />
˜ A<br />
˜ A<br />
La <strong>di</strong>suguaglianza <strong>di</strong> Kraft ci garantisce che il logaritmo all’ultimo membro della<br />
precedente non è positivo, se ne conclude che vale la <strong>di</strong>suguaglianza<br />
( ) (3.5.3)<br />
che, se la sorgente è stazionaria, comporta:
La Co<strong>di</strong>fica <strong>di</strong> Sorgente 23<br />
( ) (3.5.4)<br />
La precedente ci fa capire che, non possono esistere co<strong>di</strong>ci univocamente deco<strong>di</strong>ficabili<br />
che utilizzano un numero me<strong>di</strong>o <strong>di</strong> bit per simbolo minore dell’entropia<br />
della sorgente da co<strong>di</strong>ficare. Esiste quin<strong>di</strong> un limite inferiore alla possibilità <strong>di</strong><br />
“comprimere”, senza per<strong>di</strong>te, le informazioni emesse dalla sorgente, a prescindere dalla<br />
complessità del co<strong>di</strong>ficatore, che come s’intuisce, tipicamente cresce al crescere <strong>di</strong> .<br />
La (3.5.4) ha anche il merito <strong>di</strong> chiarire meglio l’importanza dell’entropia nell’ambito<br />
della <strong>Teoria</strong> dell’Informazione.<br />
Esempio 3.2<br />
Un algoritmo ricorsivo per la costruzione <strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> sorgente ottimo nel senso della<br />
lunghezza me<strong>di</strong>a delle parole è dovuto ad Huffman (1952).<br />
L’algoritmo <strong>di</strong> Huffman consiste nella costruzione ricorsiva <strong>di</strong> un albero binario. Ricordando che<br />
l’obiettivo è ottenere la minore lunghezza me<strong>di</strong>a possibile, si intuisce che a simboli meno probabili<br />
devono corrispondere parole <strong>di</strong> co<strong>di</strong>ce aventi lunghezza maggiore, ovvero foglie aventi or<strong>di</strong>ne<br />
maggiore.<br />
Per costruire l’albero si deve <strong>di</strong>sporre delle probabilità ( ) <strong>di</strong> manifestazione degli<br />
messaggi . L’albero costruito dall’algoritmo <strong>di</strong> Huffman ha vertici: i primi sono<br />
associati alle probabilità , mentre i restanti vengono determinati ricorsivamente. A ciascun<br />
vertice viene associata una variabile booleana che ne in<strong>di</strong>ca l’utilizzo da parte dell’algoritmo.<br />
Al passo -esimo,<br />
si procede come segue:<br />
si scelgono tra i vertici non ancora marcati come utilizzati i due vertici e aventi le<br />
probabilità associate minori, si marcano e come utilizzati e si introduce un nuovo vertice<br />
avente probabilità associata pari a si aggiungono all’insieme dei lati i due elementi<br />
( ) e ( ).<br />
Sostanzialmente l’algoritmo può essere riassunto come segue: “inizialmente tutti i vertici sono<br />
orfani; a ciascun passo si scelgono i due orfani aventi probabilità associata minima e li si dota <strong>di</strong> un<br />
vertice padre (a sua volta orfano) avente probabilità pari alla somma delle probabilità dei figli”.<br />
Al termine dell’algoritmo resta un unico vertice non ancora utilizzato, e lo si denota ra<strong>di</strong>ce<br />
dell’albero. Una volta costruito l’albero, il co<strong>di</strong>ce <strong>di</strong> Huffman è definito dalla procedura<br />
dell’Esempio 3.1.<br />
Fig.E 3.1 - Albero e co<strong>di</strong>ce <strong>di</strong> Huffman associato al co<strong>di</strong>ce con M = 2<br />
Come esempio, consideriamo la costruzione <strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> Huffman per una sorgente DMS<br />
stazionaria avente alfabeto e probabilità <strong>di</strong> emissione e .<br />
Essendo la sorgente binaria, con il co<strong>di</strong>ce contiene due sole stringhe ‘0’ ed ‘1’; la<br />
lunghezza me<strong>di</strong>a del co<strong>di</strong>ce risulta , mentre l’entropia è data da ( )<br />
Con , gli M-messaggi possibili sono quattro, caratterizzati<br />
dalle probabilità <strong>di</strong> emissione , , e ; l’albero costruito<br />
secondo l’algoritmo <strong>di</strong> Huffman è riportato in Fig.E 3.1.<br />
La lunghezza me<strong>di</strong>a del co<strong>di</strong>ce risulta ( ) ed il numero<br />
me<strong>di</strong>o <strong>di</strong> bit utilizzati per simbolo ( ), in accordo con la (3.5.4).
24 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
3.6 - La Proprietà <strong>di</strong> Equipartizione.<br />
Occupiamoci adesso <strong>di</strong> un’importante proprietà delle sorgenti d’informazione.<br />
Consideriamo una DMS stazionaria con entropia ( ) , fissiamo un e,<br />
nell’insieme <strong>di</strong> tutti gli M-messaggi, pren<strong>di</strong>amo in considerazione il sottoinsieme<br />
S così definito<br />
( ( ) )<br />
Dalla precedente <strong>di</strong>scende innanzi tutto che:<br />
( )<br />
( ( ) ) (3.6.1)<br />
∑<br />
( ( ) )<br />
S<br />
∑ ( )<br />
(3.6.2)<br />
( ( ) )<br />
Dalla quale deduciamo che la car<strong>di</strong>nalità <strong>di</strong> S non può essere maggiore <strong>di</strong><br />
quin<strong>di</strong> tutti i messaggi appartenenti ad S possono essere co<strong>di</strong>ficati utilizzando parole<br />
<strong>di</strong> co<strong>di</strong>ce <strong>di</strong> lunghezza fissa con un numero <strong>di</strong> bit non superiore a:<br />
( ( ) ) (3.6.3)<br />
Tenendo conto del fatto che la sorgente è per ipotesi priva <strong>di</strong> memoria si può anche<br />
scrivere:<br />
S<br />
( ( ) ) ∑<br />
( )<br />
( ) ∑ ( ( ))<br />
( ( ) )<br />
(3.6.4)<br />
Dall’ultimo membro della precedente si può facilmente estrapolare la definizione<br />
dell’insieme<br />
, cioè del complementare <strong>di</strong> S rispetto all’insieme degli M-messaggi:<br />
¯ |∑ ( ( )) ( )| (3.6.5)<br />
Ci proponiamo <strong>di</strong> maggiorare la probabilità dell’evento: “la sorgente ha emesso un<br />
messaggio appartenete a ”. A tal fine ricor<strong>di</strong>amo che la <strong>di</strong>suguaglianza <strong>di</strong> Chebyshev<br />
garantisce che la probabilità che una V.A. con varianza <strong>di</strong>sti dal suo valore me<strong>di</strong>o<br />
per più <strong>di</strong> è non maggiore <strong>di</strong> .<br />
Osserviamo che ∑ ( ( )) può essere interpretata come una V.A. ottenuta<br />
sommando le variabili aleatorie statisticamente in<strong>di</strong>pendenti ( ( )) tutte<br />
identicamente <strong>di</strong>stribuite. Osserviamo che il valor me<strong>di</strong>o <strong>di</strong> ciascuna <strong>di</strong> esse vale<br />
( ) quin<strong>di</strong> il valor me<strong>di</strong>o <strong>di</strong> vale:
La Co<strong>di</strong>fica <strong>di</strong> Sorgente 25<br />
(∑ ( ( ))) ( ) (3.6.6)<br />
Anche la varianza <strong>di</strong> è volte la varianza <strong>di</strong> ( ) e vale:<br />
∑( ( ( )) ( )) ( ) (3.6.7)<br />
In conclusione, ponendo<br />
, la probabilità che un M-messaggio appartenga<br />
ad<br />
sarà non maggiore <strong>di</strong><br />
( S )<br />
∑ ( ( ( ( ) )) ( )) ( ( ) )<br />
(3.6.8)<br />
La <strong>di</strong>suguaglianza appena scritta ci <strong>di</strong>ce che la probabilità che un M-messaggio<br />
non appartenga a S tende a zero al tendere <strong>di</strong> all’infinito.<br />
In altri termini abbiamo appena mostrato che “asintoticamente” i messaggi<br />
emessi da una sorgente possono essere sud<strong>di</strong>visi in due classi la prima contiene<br />
(<br />
messaggi sostanzialmente equiprobabili con probabilità <strong>di</strong> manifestarsi<br />
) , la<br />
seconda contenente messaggi che si presentano con probabilità prossima a zero.<br />
La proprietà appena descritta, che vale anche per sorgenti dotate <strong>di</strong> memoria, va<br />
sotto il nome <strong>di</strong> proprietà <strong>di</strong> equipartizione (equipartition property).<br />
Tra l’altro essa ci <strong>di</strong>ce che, pur <strong>di</strong> considerare messaggi sufficientemente lunghi,<br />
il numero <strong>di</strong> messaggi <strong>di</strong>stinti che una sorgente emette è approssimativamente pari a<br />
( )<br />
che rappresenta solo una frazione degli teoricamente generabili.<br />
Il fatto che esista un sottoinsieme <strong>di</strong> messaggi aventi un’esigua probabilità <strong>di</strong><br />
manifestarsi può essere utilmente sfruttato nel caso in cui si vogliano mettere a punto<br />
dei sistemi <strong>di</strong> co<strong>di</strong>fica che accettino una qualche per<strong>di</strong>ta nel contenuto informativo. Si<br />
potrebbe ad esempio pensare <strong>di</strong> progettare un co<strong>di</strong>ficatore <strong>di</strong> sorgente che ignori i<br />
messaggi poco probabili. Ciò porterebbe a una per<strong>di</strong>ta d’informazione che potrebbe<br />
però essere trascurabile rispetto a quella che si perderebbe comunque a causa ad<br />
esempio degli errori introdotti dal sistema <strong>di</strong> trasmissione.<br />
3.7 - Teorema sulla Co<strong>di</strong>fica <strong>di</strong> una Sorgente DMS.<br />
Abbiamo visto che la (3.5.4) impone un limite inferiore alla lunghezza me<strong>di</strong>a del<br />
co<strong>di</strong>ce, ma, la stessa, nulla ci <strong>di</strong>ce su quanto a detto limite ci si possa avvicinare.<br />
Per rispondere a questo quesito utilizzeremo la proprietà <strong>di</strong> equipartizione<br />
introdotta nel paragrafo precedente al fine <strong>di</strong> costruire un co<strong>di</strong>ce univocamente<br />
deco<strong>di</strong>ficabile per gli M-messaggi emessi dalla sorgente.
26 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Fissiamo ad arbitrio un , possiamo utilizzare il primo bit (binary <strong>di</strong>git) della<br />
parola del costruendo co<strong>di</strong>ce per classificarla come appartenente o meno all’insieme S<br />
definito nel precedente paragrafo. Osserviamo quin<strong>di</strong> che, per identificare<br />
univocamente tutti gli elementi <strong>di</strong> S , sulla base della (3.6.3), saranno sufficienti<br />
ulteriori S ( ( ) ) bit. Restano da co<strong>di</strong>ficare gli elementi appartenenti<br />
ad . A tal fine ricor<strong>di</strong>amo che tali elementi hanno una probabilità molto piccola <strong>di</strong><br />
manifestarsi, quin<strong>di</strong> incidono poco sulla lunghezza me<strong>di</strong>a del co<strong>di</strong>ce che è la quantità<br />
che ci interessa limitare. Ciò premesso possiamo utilizzare per co<strong>di</strong>ficarli un numero <strong>di</strong><br />
bit , laddove bit sarebbero sufficienti a co<strong>di</strong>ficare tutti gli<br />
M-messaggi.<br />
In sostanza la generica parola <strong>di</strong> co<strong>di</strong>ce avrà lunghezza S o<br />
, e non vi è<br />
nessuna ambiguità per il deco<strong>di</strong>ficatore che osservando il primo bit <strong>di</strong> ogni parola<br />
saprebbe quale è la sua lunghezza. Ciò ovviamente è vero solo se il co<strong>di</strong>ficatore e il<br />
deco<strong>di</strong>ficatore sono esenti da errori.<br />
Calcoliamo adesso lunghezza me<strong>di</strong>a per simbolo emesso dalla sorgente del<br />
co<strong>di</strong>ce che abbiamo appena costruito:<br />
( S ( S ) ( )) (3.7.1)<br />
che, tenuto conto della (3.6.8), si può maggiorare come segue:<br />
( S ( S ) ( )) ( S ( S ))<br />
( S ̅̅̅ )<br />
( ( ( ) ) ) ( )<br />
(3.7.2)<br />
( ( ) ) ( )<br />
( )<br />
Si osservi che<br />
può essere scelto arbitrariamente, in particolare possiamo<br />
scegliere<br />
ottenendo:<br />
( ) ( ) (3.7.3)<br />
Osserviamo adesso che nell’ultimo membro della (3.7.3) tutti gli adden<strong>di</strong> eccetto il<br />
primo tendono a zero al crescere <strong>di</strong> , possiamo quin<strong>di</strong> scriverla nella forma:<br />
( ) ( ) (3.7.4)
La Co<strong>di</strong>fica <strong>di</strong> Sorgente 27<br />
La precedente è molto importante perché ci permette <strong>di</strong> affermare che per le<br />
DMS, accettando eventualmente una complessità elevata <strong>di</strong> co<strong>di</strong>fica/deco<strong>di</strong>fica, si può<br />
costruire un co<strong>di</strong>ce che usa un numero me<strong>di</strong>o <strong>di</strong> bit per simbolo prossimo quanto si<br />
vuole all’entropia della sorgente.<br />
In conclusione mettendo insieme la (3.5.3) e la (3.7.4) abbiamo <strong>di</strong>mostrato il<br />
seguente<br />
Teorema 3.1<br />
Data una DMS stazionaria con entropia ( ) e comunque scelto , esiste un<br />
intero in corrispondenza al quale si può costruire un co<strong>di</strong>ce univocamente<br />
deco<strong>di</strong>ficabile che esibisce una lunghezza me<strong>di</strong>a per simbolo <strong>di</strong> sorgente che sod<strong>di</strong>sfa<br />
la seguente <strong>di</strong>suguaglianza:<br />
( ) ( ) (3.7.5)<br />
Inoltre, qualunque sia<br />
, non è possibile costruire co<strong>di</strong>ci per i quali risulti:<br />
( ) (3.7.6)<br />
***********<br />
Vale la pena <strong>di</strong> osservare che il co<strong>di</strong>ce che abbiamo costruito, se da un lato c’è<br />
stato utile per ottenere la (3.7.5), dal punto <strong>di</strong> vista pratico sarebbe <strong>di</strong>fficilmente<br />
applicabile perché presuppone la conoscenza della dmp della sorgente, dato questo <strong>di</strong><br />
cui in pratica <strong>di</strong>fficilmente si <strong>di</strong>spone. Esistono algoritmi <strong>di</strong> co<strong>di</strong>fica che tendono al<br />
limite inferiore imposto dalla (3.7.5) pur non presupponendo la conoscenza della dmp<br />
in parola, e che quin<strong>di</strong> si rivelano molto più utili in pratica.<br />
Esempio 3.3<br />
L’algoritmo <strong>di</strong> Huffman descritto nell’Esempio 3.2 richiede la conoscenza a priori delle<br />
probabilità dei simboli <strong>di</strong> sorgente. Descriviamo brevemente un possibile metodo per ottenere una<br />
versione adattativa dell’algoritmo che presuppone solo la conoscenza della car<strong>di</strong>nalità dell’alfabeto<br />
.<br />
L’idea è riassumibile in due punti:<br />
- utilizzare, invece delle probabilità <strong>di</strong> manifestazione, le frequenze relative <strong>di</strong> manifestazione<br />
dei simboli <strong>di</strong> sorgente, inizializzate con una <strong>di</strong>stribuzione a priori nota a co<strong>di</strong>ficatore e<br />
Fig.E 3.2 - Schema a blocchi <strong>di</strong> un generico codec (co<strong>di</strong>ficatore/deco<strong>di</strong>ficatore) adattativo.<br />
deco<strong>di</strong>ficatore
28 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
- non aggiornare la tabella delle frequenze relative <strong>di</strong> apparizione dei simboli fintanto che il<br />
deco<strong>di</strong>ficatore non li ha potuti osservare.<br />
Lo schema <strong>di</strong> riferimento dell’algoritmo adattativo (che è <strong>di</strong> carattere generale) è riportato in<br />
Errore. L'origine riferimento non è stata trovata..<br />
Si noti che così descritto, questo metodo richiede nella peggiore delle ipotesi la ricostruzione<br />
(previa verifica <strong>di</strong> consistenza) dell’albero <strong>di</strong> Huffman per ogni simbolo trasmesso, il che può essere<br />
Fig.E 3.3 - Andamento temporale (blu), al variare <strong>di</strong> M, della lunghezza me<strong>di</strong>a del co<strong>di</strong>ce prodotto dal<br />
codec adattativo <strong>di</strong> Fig.E 3.2 per la sorgente DMS dell’Esempio 3.3. In rosso l’entropia stimata in base<br />
alle frequenze relative.<br />
impraticabile. Inoltre, l’algoritmo adattativo così formulato è basato sull’assunzione che le frequenze<br />
relative convergano in tempi brevi alle probabilità <strong>di</strong> manifestazione dei simboli; per “brevi” si<br />
intende rispetto al tempo durante il quale si può assumere che la sorgente sia effettivamente<br />
stazionaria.<br />
In Fig.E 3.3 è mostrato l’andamento temporale della lunghezza (me<strong>di</strong>a) del co<strong>di</strong>ce per un<br />
co<strong>di</strong>ficatore adattativo che elabora simboli quaternari caratterizzati dalle probabilità <strong>di</strong><br />
manifestazione , , e , al variare della lunghezza degli<br />
M-messaggi; l’entropia della sorgente è pari a ( ) .<br />
3.8 - Co<strong>di</strong>fica <strong>di</strong> Sorgenti con Memoria.<br />
Una sorgente è detta con memoria quando la probabilità <strong>di</strong> emissione <strong>di</strong> un<br />
simbolo <strong>di</strong>pende dalla sequenza <strong>di</strong> simboli emessa in precedenza:<br />
( ) ( ) (3.8.1)<br />
Come puntualizzato al termine del capitolo precedente, per una sorgente <strong>di</strong>screta<br />
con memoria l’entropia <strong>di</strong> un M-messaggio è minore dell’entropia della sorgente<br />
riguardata come senza memoria. Ciò implica che co<strong>di</strong>ficare una sorgente con memoria<br />
con meto<strong>di</strong> che possono essere ottimi nel caso <strong>di</strong> sorgenti DMS può risultare ben<br />
lontano dall’ottimo.<br />
Si potrebbe osservare che la proprietà <strong>di</strong> equipartizione, valida anche per sorgenti<br />
con memoria, permette <strong>di</strong> affermare che la co<strong>di</strong>fica senza memoria <strong>di</strong> M-messaggi è,
La Co<strong>di</strong>fica <strong>di</strong> Sorgente 29<br />
asintoticamente per<br />
qualche unità è quasi sempre proibitivo.<br />
, ottima; d’altra parte l’impiego <strong>di</strong> valori <strong>di</strong> M maggiori <strong>di</strong><br />
L’approccio utilizzato in pratica per la co<strong>di</strong>fica <strong>di</strong> sorgenti con memoria consiste<br />
nell’operare una forma <strong>di</strong> pre-co<strong>di</strong>fica allo scopo <strong>di</strong> rendere il più possibile incorrelata<br />
la sorgente. Riportiamo <strong>di</strong> seguito alcuni esempi <strong>di</strong>dattici che s’ispirano a meto<strong>di</strong><br />
impiegati nella pratica.<br />
Esempio 3.4<br />
Nel caso <strong>di</strong> sorgenti <strong>di</strong>screte ottenute tramite campionamento <strong>di</strong> segnali a valori <strong>di</strong>screti (si pensi<br />
ad esempio ad una scansione FAX), si può impiegare la co<strong>di</strong>fica run-length (RLE).<br />
L’idea alla base della RLE è sostituire sequenze costituite da simboli identici con una in<strong>di</strong>cazione<br />
<strong>di</strong> quale simbolo viene ripetuto quante volte. Ad esempio, la co<strong>di</strong>fica run-length della sequenza:<br />
A, A, A, A, A, B, B, B, B, B, B, C, C, C, C, A, A, B, B, B, B, B, C, C, C<br />
è data da:<br />
(A,5), (B,6), (C,4), (A,2), (B,5), (C,3).<br />
Per valutare l’efficienza della co<strong>di</strong>fica run-length si deve tenere conto dell’overhead richiesto per<br />
co<strong>di</strong>ficare la lunghezza dei run. Per ottenere qualche numero tangibile, consideriamo la piccola<br />
immagine in bianco e nero (32 righe, 128 colonne) in Fig.E 3.4.<br />
Questa immagine, riguardata come una sequenza <strong>di</strong> simboli binari emessi da una sorgente DMS,<br />
ha una entropia <strong>di</strong> 0.5871 bit/simbolo (578 pixel neri, 3518 pixel bianchi), ovvero un contenuto<br />
informativo stimato <strong>di</strong> 2405 bit.<br />
Se co<strong>di</strong>ficata RLE per colonne con lunghezza massima dei run pari a 511, è rappresentata da 313<br />
run aventi una entropia stimata <strong>di</strong> 4.582 bit/run ovvero un contenuto informativo complessivo non<br />
inferiore a 1435 bit (con un guadagno potenziale del 65% rispetto alla <strong>di</strong>mensione non co<strong>di</strong>ficata <strong>di</strong><br />
4096 bit).<br />
Si deve però notare che la lunghezza massima dei run è un parametro problematico da impostare,<br />
in quanto se, da una parte, incrementandolo il numero complessivo <strong>di</strong> run <strong>di</strong>minuisce, dall’altra il<br />
numero <strong>di</strong> bit necessario a co<strong>di</strong>ficare la lunghezza <strong>di</strong> un singolo run aumenta, sicché per immagini <strong>di</strong><br />
piccola <strong>di</strong>mensione come questa l’effettivo guadagno può risultare marginale.<br />
Da segnalare che per la co<strong>di</strong>fica <strong>di</strong> immagini in bianco e nero (ad. esempio FAX), esistono<br />
generalizzazioni bi<strong>di</strong>mensionali della co<strong>di</strong>fica run length, che sfruttano le correlazioni esistenti tra le<br />
righe.<br />
Esempio 3.5<br />
Nel caso <strong>di</strong> sorgenti<br />
<strong>di</strong>screte generiche esistono<br />
molti meto<strong>di</strong>, nessuno<br />
dei quali ottimo.<br />
Un approccio utilizzato<br />
nella co<strong>di</strong>fica <strong>di</strong> sorgente<br />
<strong>di</strong> dati correlati è<br />
Fig.E 3.4 - Immagine (ingran<strong>di</strong>ta in modo da evidenziare i singoli pixel) per l’esempio<br />
<strong>di</strong> co<strong>di</strong>fica run-length (32x128x1).<br />
quello a <strong>di</strong>zionario. Il<br />
più <strong>di</strong>ffuso algoritmo <strong>di</strong><br />
co<strong>di</strong>fica <strong>di</strong> sorgente a<br />
<strong>di</strong>zionario è il Lempel-Ziv (del 1977, LZ77), implementato in molte utility “zip” (pkzip, winzip,<br />
infozip, gzip, compress e altre).<br />
L’idea della co<strong>di</strong>fica LZ77 è sostituire, nella sequenza originaria, a sequenze <strong>di</strong> simboli già<br />
incontrate una in<strong>di</strong>cazione <strong>di</strong> “a partire da dove” e “per quanti simboli” è possibile copiarle. Per<br />
chiarire, consideriamo la co<strong>di</strong>fica LZ77 della sequenza dell’Esempio 3.4<br />
(A,1,4), (B,1,5), (C,1,3), (A,11,6), (C,1,2).<br />
Il primo blocco, (A,1,4), viene deco<strong>di</strong>ficato come: “dopo un simbolo A, torna in<strong>di</strong>etro <strong>di</strong> un passo<br />
e copia per quattro volte”, ovvero una sequenza <strong>di</strong> cinque simboli A. Il secondo blocco ed il terzo<br />
blocco sono analoghi al primo. Per comprendere come viene interpretato il quarto blocco, notiamo<br />
che dopo i primi tre blocchi il deco<strong>di</strong>ficatore avrà prodotto la sequenza:<br />
A, A, A, A, A, B, B, B, B, B, B, C, C, C, C.
30 Capitolo - 3 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
A questo punto, aggiungere un simbolo A, tornare in<strong>di</strong>etro <strong>di</strong> un<strong>di</strong>ci passi e copiare per sei volte<br />
corrisponde ad aggiungere la sequenza A, B, B, B, B, B, C in coda. L’ultimo blocco è <strong>di</strong> tipo runlength<br />
come i primi tre.<br />
La co<strong>di</strong>fica LZ77 dell’immagine in bianco e nero <strong>di</strong> Fig.E 3.4 è una sequenza <strong>di</strong> solo 60 triplette<br />
aventi una entropia stimata <strong>di</strong> 11.52 bit ciascuna, per un contenuto informativo complessivo non<br />
minore <strong>di</strong> 692 bit (con un guadagno potenziale dell’83% sulla <strong>di</strong>mensione non co<strong>di</strong>ficata <strong>di</strong> 4096<br />
bit).
4.1 - L’Informazione Mutua.<br />
Capitolo - 4<br />
CANALI PRIVI DI MEMORIA<br />
Consideriamo un generico esperimento casuale. Abbiamo detto che al manifestarsi<br />
<strong>di</strong> un dato evento E è associata una quantità d’informazione<br />
; la stessa<br />
(E )<br />
quantità può essere interpretata come la nostra incertezza sull’evento E . Ad esempio<br />
se (E ) allora sul fatto che E si manifesti non abbiamo nessuna incertezza ed in<br />
questo caso si avrebbe<br />
(E )<br />
nel caso in cui<br />
(E ) fosse molto piccola<br />
avremmo una grande incertezza sul fatto che E si possa manifestare, ed acquisiremmo<br />
quin<strong>di</strong> una grande informazione qualora si manifestasse.<br />
Consideriamo adesso una coppia d’eventi E , E , il manifestarsi <strong>di</strong> E può<br />
variare la nostra incertezza su E se ad esempio E E il manifestarsi <strong>di</strong> E<br />
rimuoverebbe tutta l’incertezza<br />
(E ) che a priori avevamo su E . Se, viceversa, i<br />
due eventi fossero statisticamente in<strong>di</strong>pendenti il manifestarsi <strong>di</strong> E<br />
immutata l’incertezza che a priori avevamo su E .<br />
lascerebbe<br />
In altri termini se sapessimo che E è verificato il manifestarsi <strong>di</strong> E ci fornirebbe<br />
un’informazione in genere <strong>di</strong>versa da quella che avremmo avuto a priori (cioè senza<br />
saper nulla circa E ). In particolare l’informazione fornita a posteriori (cioè sapendo<br />
che E è verificato) dal manifestarsi <strong>di</strong> E varrebbe<br />
(E E ) .<br />
Si definisce informazione mutua (E E ), l’incertezza che rimarrebbe sull’evento<br />
E qualora E si manifestasse. In formule:<br />
( )<br />
( ) ( )<br />
( )<br />
( )<br />
(4.1.1)<br />
Alla luce della definizione appena data la scelta del nome Informazione mutua<br />
può apparire infelice, esso probabilmente trae origine dal fatto che ricordando la regola<br />
<strong>di</strong> Bayes possiamo scrivere:<br />
( )<br />
( )<br />
( ) ( )<br />
( )<br />
( )<br />
( ) (4.1.2)<br />
Osserviamo che, nel caso in cui E E , (E E ) varrebbe cioè E ci<br />
(E )<br />
fornirebbe su E tutta l’informazione che ci potrebbe fornire E stesso. E cioè<br />
rimuoverebbe ogni incertezza su E . Viceversa se (E E ) ( E ) ( E ) allora
32 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
(E E ) che sta a significare che il manifestarsi <strong>di</strong> E non mo<strong>di</strong>ficherebbe<br />
l’incertezza su E .<br />
È anche opportuno sottolineare che (E E ) può assumere anche valori negativi,<br />
ciò da conto del fatto che il manifestarsi <strong>di</strong> E potrebbe rendere molto più incerto, se<br />
non impossibile il manifestarsi <strong>di</strong> E .<br />
4.2 - Concetto <strong>di</strong> Canale.<br />
Come già detto, un sistema <strong>di</strong> trasmissione ha la finalità <strong>di</strong> inviare un messaggio<br />
da un emissario a un destinatario in luoghi o tempi <strong>di</strong>versi. Per recapitare il messaggio,<br />
il sistema si gioverà <strong>di</strong> un mezzo trasmissivo che viene abitualmente chiamato canale.<br />
Il concetto <strong>di</strong> canale è piuttosto ampio, nel senso che esso può includere, a seconda<br />
delle necessità, o solo il mezzo fisico, ad esempio il solo doppino telefonico o un nastro<br />
magnetico, o anche tutto ciò che è compreso tra un microfono e un altoparlante.<br />
Nel caso ad esempio <strong>di</strong> un sistema <strong>di</strong> trasmissione numerico modulato linearmente,<br />
si può pensare che il canale includa, modulatore, amplificatore RF, mezzo<br />
fisico, amplificatore d’ingresso, eventuale demodulatore a frequenza interme<strong>di</strong>a,<br />
demodulatore, filtri adattati e campionatori. In questo caso il canale accetterà in<br />
ingresso un numero complesso appartenente a una data costellazione e fornirà in uscita<br />
un numero complesso che in genere <strong>di</strong>fferisce da quello inviato per effetto del rumore e<br />
dei <strong>di</strong>sturbi introdotti dal mezzo e dagli apparati. Se decidessimo <strong>di</strong> includere nel<br />
canale anche il decisore, l’uscita del canale sarebbe si un punto della costellazione, ma<br />
come sappiamo non sempre lo stesso che si era inviato.<br />
Qui ci limitiamo a considerare canali <strong>di</strong> tipo <strong>di</strong>screto che sono caratterizzati da un<br />
alfabeto d’ingresso e da uno d’uscita , legati da un mapping aleatorio.<br />
In pratica non si lede la generalità se si pensano ingresso e uscita come una<br />
coppia <strong>di</strong> variabili aleatorie definite sullo stesso esperimento casuale.<br />
Se l’alfabeto d’ingresso e quello d’uscita hanno rispettivamente car<strong>di</strong>nalità ed<br />
e se e sono i rispettivi alfabeti, il canale è univocamente<br />
in<strong>di</strong>viduato quando sono note le seguenti dmp con<strong>di</strong>zionate:<br />
( | ) ( | ) (4.2.1)<br />
Risulta spontaneo pensare alle come agli elementi <strong>di</strong> una matrice con un<br />
numero <strong>di</strong> righe pari alla car<strong>di</strong>nalità dell’alfabeto <strong>di</strong> ingresso e un numero <strong>di</strong> colonne<br />
uguale alla car<strong>di</strong>nalità <strong>di</strong> quello d’uscita. Chiameremo matrice <strong>di</strong> transizione <strong>di</strong><br />
canale.
Canali Discreti Privi <strong>di</strong> Memoria 33<br />
Nel caso in cui l’alfabeto d’ingresso è finito e quello d’uscita ha la potenza del<br />
continuo il canale è caratterizzato se si conoscono le seguenti densità <strong>di</strong> probabilità<br />
con<strong>di</strong>zionate:<br />
( | ) ( | ) (4.2.2)<br />
Si <strong>di</strong>ce che il canale è privo <strong>di</strong> memoria se, la probabilità <strong>di</strong> rivelare un<br />
data sequenza <strong>di</strong> M simboli d’uscita in corrispondenza ad un dato M-messaggio <strong>di</strong><br />
ingresso è data da<br />
( [ ] | [ ]) ∏ ( ) (4.2.3)<br />
se l’alfabeto d’uscita è finito.<br />
Ovvero la densità <strong>di</strong> probabilità della sequenza d’uscita<br />
sequenza d’ingresso è data da:<br />
con<strong>di</strong>zionata ad una<br />
( ) ∏ ( ) (4.2.4)<br />
nel caso in cui l’alfabeto d’uscita ha la potenza del continuo.<br />
Se in ingresso al canale è connessa una sorgente che emette simboli compatibili<br />
con il canale, e se sono note le probabilità d’emissione ( ) <strong>di</strong> ciascun<br />
simbolo dell’alfabeto <strong>di</strong> sorgente dalle (4.2.1) e (4.2.2) possiamo dedurre la<br />
<strong>di</strong>stribuzione <strong>di</strong> massa <strong>di</strong> probabilità dell’alfabeto d’uscita del canale, cioè dei simboli<br />
:<br />
( ) ∑ (4.2.5)<br />
ovvero la densità <strong>di</strong> probabilità della V.A. d’uscita:<br />
( ) ∑ ( ) (4.2.6)<br />
Consideriamo un canale <strong>di</strong>screto e privo <strong>di</strong> memoria (DMC - Discrete Memoryless<br />
Channel).<br />
Se in uscita rilevassimo il simbolo l’incertezza residua sull’emissione del<br />
generico simbolo d’ingresso varrebbe:<br />
( )<br />
(4.2.7)<br />
che ricordando la (4.1.2) è uguale a
34 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( )<br />
(4.2.8)<br />
( )<br />
me<strong>di</strong>ando su tutte le possibili coppie ingresso uscita otteniamo una misura dell’incertezza<br />
che me<strong>di</strong>amente ci rimane sul simbolo in ingresso dopo aver osservato il<br />
corrispondente simbolo in l’uscita. Abbiamo appena definito l’informazione mutua<br />
me<strong>di</strong>a:<br />
( ) ∑ ∑ ( )<br />
( )<br />
( )<br />
∑ ∑ ( )<br />
( | )<br />
( )<br />
(4.2.9)<br />
∑ ∑ ( )<br />
sostituendo nella precedente la (4.2.5) otteniamo ancora:<br />
( ) ∑ ∑<br />
∑<br />
(4.2.10)<br />
Sebbene l’informazione mutua (4.2.8) possa assumere anche valori negativi così<br />
non è per l’informazione mutua me<strong>di</strong>a (4.2.9), risulta infatti:<br />
( ) ∑ ∑ ∑ ∑ ( )<br />
∑ ∑ ( ) [∑ ∑ ∑ ∑ ( )]<br />
(4.2.11)<br />
Osservando la (4.2.10) ci ren<strong>di</strong>amo conto che l’informazione mutua non <strong>di</strong>pende<br />
solo dal canale, ma anche dalla dmp della sorgente. Al fine <strong>di</strong> fornire una grandezza<br />
caratteristica del solo canale si procede alla ricerca del massimo della (4.2.10) al variare<br />
delle <strong>di</strong>stribuzioni<br />
<strong>di</strong> massa <strong>di</strong> probabilità della sorgente. Otteniamo<br />
così la cosiddetta capacità <strong>di</strong> canale:<br />
I( ) (4.2.12)<br />
che, come vedremo, gioca un ruolo fondamentale nel<br />
<strong>di</strong>mensionamento <strong>di</strong> un sistema <strong>di</strong> trasmissione.<br />
La ricerca del suddetto massimo, dato il tipo <strong>di</strong><br />
<strong>di</strong>pendenza da<br />
non è in genere semplice.<br />
Fig.E 4.1 - Canale Simmetrico Binario<br />
4.3 - Il Canale Simmetrico Binario.<br />
Si consideri un canale schematizzato in Fig.E 4.1<br />
che accetta ed emette simboli appartenenti a un alfabeto binario sorgente che emette
Canali Discreti Privi <strong>di</strong> Memoria 35<br />
simboli appartenenti a un alfabeto binario costituiti cioè rispettivamente da due soli<br />
simboli, , ; la matrice <strong>di</strong> transizione a esso associata sarà quin<strong>di</strong> una<br />
che se risulta<br />
è simmetrica e caratterizza un BSC (Binary<br />
Simmetric Channel).<br />
| | (4.3.1)<br />
Se il canale è connesso a una sorgente che emette simboli con probabilità ,<br />
risulta:<br />
( ) ( )<br />
( )( )<br />
L’informazione mutua me<strong>di</strong>a <strong>di</strong> un BSC varrà quin<strong>di</strong>:<br />
(4.3.2)<br />
( ) ∑ ∑ ∑ ∑ ∑ ∑<br />
∑ ∑<br />
∑<br />
( ) ( ) ( )<br />
(4.3.3)<br />
( )( ) ( ) ∑<br />
( ) ( ) ∑ ( ) ( )<br />
Fig.E 4.2 - Capacità del canale simmetrico<br />
binario<br />
(ve<strong>di</strong> Fig.E 4.2).<br />
Dalla precedente si evince facilmente che la<br />
capacità <strong>di</strong> canale si ottiene massimizzando l’entropia<br />
dell’uscita ( ), che, come già visto, lo é<br />
quando i simboli d’uscita sono equiprobabili, cosa<br />
che, data la simmetria del canale, avviene quando<br />
lo sono quelli emessi dalla sorgente. Conclu<strong>di</strong>amo<br />
che la capacità <strong>di</strong> un BSC vale:<br />
( ) (4.3.4)<br />
È interessante osservare che implicherebbe che da conto del fatto<br />
che in questo caso il canale sarebbe ovviamente del tutto inutile ai fini del trasferimento<br />
d’informazione.<br />
Fig.E 4.3 - Canale Gaussiano<br />
4.4 - Capacità del Canale AWGN a Banda<br />
Limitata.<br />
Consideriamo adesso il canale con ingresso e<br />
uscita ad alfabeto continuo rappresentato in Fig.E 4.3
36 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
esso aggiunge alla variabile aleatoria generata dalla sorgente un <strong>di</strong>sturbo costituito da<br />
una variabile aleatoria Gaussiana a me<strong>di</strong>a nulla e varianza , statisticamente<br />
in<strong>di</strong>pendente dalla variabile aleatoria in ingresso.<br />
L’informazione mutua associata al canale in questione è data da:<br />
( ) ( ) ( )<br />
∫ ( )<br />
∫ ( )<br />
( )<br />
( )<br />
∫ ∫ ( )<br />
( )<br />
(4.4.1)<br />
∫ ( ) ∫ ( )<br />
( )<br />
Osserviamo che ( )<br />
√<br />
( )<br />
in quanto <strong>di</strong>fferisce da per il solo<br />
<strong>di</strong>sturbo<br />
la (2.2.3) otteniamo:<br />
che abbiamo detto essere Gaussiano. Sostituendo nella (4.4.1) e ricordando<br />
( ) ∫ ( )<br />
∫ ( ) ( )<br />
( )<br />
(4.4.2)<br />
∫ ( )<br />
( )<br />
( )<br />
la capacità del canale in parola si ottiene quin<strong>di</strong> massimizzando l’integrale ad ultimo<br />
membro della precedente, cioè l’entropia dell’uscita. Sappiamo (ve<strong>di</strong> § 2.2 - ) che il<br />
massimo dell’entropia, a parità <strong>di</strong> varianza, si ottiene da una sorgente Gaussiana.<br />
Affinché la ( ) sia Gaussiana, deve esserlo la variabile aleatoria . In questo<br />
caso in<strong>di</strong>cata con la sua varianza, in virtù dell’in<strong>di</strong>pendenza tra ed si ha:<br />
La capacità del canale Gaussiano è quin<strong>di</strong> data da:<br />
(4.4.3)<br />
( ) ( ( )) ( ) ( ) ( )<br />
( )<br />
(4.4.4)<br />
Consideriamo adesso il canale AWGN (Ad<strong>di</strong>ttive White Gaussian Noise) (ve<strong>di</strong><br />
Fig.E 4.4) cioè un canale con ingresso e uscita a tempo continuo che agisce sul segnale<br />
d’ingresso sommando a quest’ultimo un segnale<br />
stazionario Gaussiano a me<strong>di</strong>a nulla e densità spettrale <strong>di</strong><br />
potenza bilatera costante pari ad<br />
Fig.E 4.4 - Canale AWGN<br />
Come sappiamo ogni sistema <strong>di</strong> trasmissione è<br />
affetto quantomeno dal rumore termico che si può modellare proprio con un processo<br />
Gaussiano bianco.
Canali Discreti Privi <strong>di</strong> Memoria 37<br />
Osserviamo adesso che ogni sistema d’interesse pratico tratta <strong>di</strong> fatto segnali a banda<br />
limitata. Pertanto per limitare la potenza <strong>di</strong> rumore introdotta ogni canale <strong>di</strong> fatto viene<br />
limitato in banda tramite un apposito filtro posto tipicamente in ingresso al ricevitore.<br />
Se in<strong>di</strong>chiamo con la banda del segnale sappiamo che esso può essere ricostruito a<br />
partire dai suoi campioni purché ne vengano prelevati almeno al secondo. Il canale<br />
AWGN equivale quin<strong>di</strong> a un canale Gaussiano utilizzato con la stessa cadenza. La<br />
varianza dei campioni del segnale coinciderà quin<strong>di</strong> con la potenza me<strong>di</strong>a del segnale, e<br />
quella del rumore con la frazione <strong>di</strong> potenza <strong>di</strong> quest’ultimo contenuta nella banda del<br />
segnale risulta quin<strong>di</strong>:<br />
( )<br />
(4.4.5)<br />
dove ( ) rappresenta la potenza del segnale e in<strong>di</strong>ca la densità spettrale <strong>di</strong> potenza<br />
monolatera del rumore. Sostituendo nella (4.4.4) otteniamo:<br />
(<br />
( )<br />
) (4.4.6)<br />
La precedente in<strong>di</strong>ca la capacità del canale AWGN limitato in banda per uso del canale,<br />
espressa quin<strong>di</strong> in bit. In pratica è più utile esprimere la capacità in termini <strong>di</strong> bit al<br />
secondo, in questo caso a partire dalla precedente è sufficiente osservare che il canale<br />
viene utilizzato volte al secondo. La capacità espressa in bit/sec del canale in<br />
questione vale quin<strong>di</strong>:<br />
(<br />
( )<br />
) (4.4.7)<br />
Osserviamo che nella (4.4.7) appare il rapporto segnale rumore. La precedente ci <strong>di</strong>ce<br />
che per aumentare la capacità <strong>di</strong> un canale a tempo continuo possiamo aumentarne il<br />
rapporto segnale rumore o aumentarne la banda, tenendo però presente che un aumento<br />
della banda, a parità <strong>di</strong> potenza del segnale, comporta un deterioramento del rapporto<br />
segnale rumore.<br />
4.5 - Informazione Mutua tra M-messaggi.<br />
Consideriamo un DMC. Utilizzando le dmp congiunte, possiamo facilmente<br />
definire l’informazione mutua tra M-messaggi in ingresso e in uscita.<br />
( ) ∑ ∑ ( )<br />
( )<br />
( ) (4.5.1)<br />
la precedente può anche essere riscritta:<br />
( ) ∑ ( )<br />
( )<br />
∑ ∑ ( )<br />
( ) (4.5.2)
38 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
e, ricordando la (1.3.6), può essere maggiorata come segue:<br />
( ) ∑ ( )<br />
∏ ( )<br />
∑ ∑ ( )<br />
( )<br />
∑ ∑ ( ) ( ) ∏ ( )<br />
( )<br />
∑ ∑ ( ) ( ) ∑<br />
( )<br />
( )<br />
(4.5.3)<br />
∑ ∑ ∑ ( ) ( )<br />
( )<br />
( )<br />
∑ ( )<br />
L’uguaglianza vale se i simboli d’uscita sono mutuamente statisticamente in<strong>di</strong>pendenti<br />
perché in questo caso si avrebbe ( ) ∏ ( ). Questa con<strong>di</strong>zione è certamente<br />
sod<strong>di</strong>sfatta se la sorgente è priva <strong>di</strong> memoria.<br />
Se la sorgente ed il canale sono stazionari tenuto conto della (4.2.12) possiamo<br />
ulteriormente scrivere:<br />
( ) ∑ ( ) ( ) (4.5.4)<br />
4.6 - Canali in Cascata.<br />
Consideriamo adesso il caso <strong>di</strong> due canali in cascata (ve<strong>di</strong> Fig.E 4.5).<br />
Supponiamo che l’alfabeto d’uscita del primo canale coincida con quello d’ingresso del<br />
secondo, e che l’uscita <strong>di</strong> ciascun canale <strong>di</strong>penda esclusivamente dal suo ingresso. Ciò<br />
significa che<br />
( ) ( ) (4.6.1)<br />
Fig.E 4.5 - Canali in cascata<br />
Facendo sempre riferimento alla figura, consideriamo la <strong>di</strong>fferenza tra le informazioni<br />
mutue ( )ed ( ). Si ha:
Canali Discreti Privi <strong>di</strong> Memoria 39<br />
( ) ( ) ∑ ( )<br />
∑ ( )<br />
( )<br />
( )<br />
( ) ( )<br />
( ) ( )<br />
∑ ( ) ( ( ) ( )<br />
( ) ( )<br />
∑ ( )<br />
)<br />
( )<br />
( )<br />
( ∑ ( ) ( ) ( )<br />
( ) ( )<br />
( ))<br />
( ∑ ( ) ( ) ( ) ( )<br />
( ) ( )<br />
( ))<br />
(4.6.2)<br />
( ∑ ( ) ( ) ( )<br />
( )<br />
( ))<br />
( ∑ ( ) ( ) ( ) ( ))<br />
(∑ ( ) ∑ ( ) ) (∑ ( ) )<br />
Fig.E 4.6<br />
In definitiva abbiamo mostrato che se si collegano due, o, ovviamente, più canali<br />
in cascata l’informazione mutua tra ingresso e uscita può solo <strong>di</strong>minuire. Il risultato<br />
appena ottenuto vale anche nel caso in cui si colleghino in cascata al canale dei sistemi<br />
deterministici, come ad esempio un co<strong>di</strong>ficatore in ingresso e\o un deco<strong>di</strong>ficatore<br />
d’uscita.<br />
Consideriamo (ve<strong>di</strong> Fig.E 4.6) il caso <strong>di</strong> una DMS connessa a un co<strong>di</strong>ficatore che<br />
opera in modo deterministico su M-messaggi emessi dalla sorgente per generare<br />
sequenze <strong>di</strong> lettere compatibili con un DMC con alfabeti d’ingresso e d’uscita della<br />
stessa car<strong>di</strong>nalità . L’uscita del canale è poi connessa a un deco<strong>di</strong>ficatore che opera in<br />
modo deterministico sugli L-messaggi emessi dal canale per “cercare” <strong>di</strong> ricostruire gli<br />
M-messaggi emessi dalla sorgente. Ovviamente una con<strong>di</strong>zione sufficiente affinché in<br />
uscita venga ricostruito correttamente il messaggio è che il canale non abbia introdotto<br />
<strong>di</strong>sturbi tali da indurre il deco<strong>di</strong>ficatore in errore.
40 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Assumiamo inoltre che le durate dell’M-messaggio emesso dalla sorgente e del<br />
corrispondente L-messaggio in uscita al co<strong>di</strong>ficatore siano uguali, pertanto se la sorgente<br />
emette lettere con una cadenza regolare la cadenza dei simboli in ingresso al<br />
canale sarà data da:<br />
(4.6.3)<br />
Con riferimento alla Fig.E 4.6 considerando l’informazione mutua (<br />
conto della (4.6.2) possiamo scrivere:<br />
), tenuto<br />
dove<br />
( ) ( ) ( ) (4.6.4)<br />
è la capacità relativa ad una coppia <strong>di</strong> simboli ingresso/uscita del canale.<br />
4.7 - L’Inverso del Teorema della Co<strong>di</strong>fica <strong>di</strong> Canale<br />
È a questo punto opportuno ricordare che il nostro obiettivo nella progettazione<br />
<strong>di</strong> un sistema <strong>di</strong> trasmissione è ottenere la minore probabilità d’errore compatibilmente<br />
con dei prefissati vincoli <strong>di</strong> potenza impiegabile e/o <strong>di</strong> banda, senza tralasciare<br />
ovviamente la complessità del sistema che, quando non si scontra con barriere tecnologiche,<br />
ha un forte impatto sui costi.<br />
Facendo sempre riferimento alla Fig.E 4.6 considerando ad esempio la -esima<br />
lettera dell’M-messaggio emesso dalla sorgente, il sistema commette un errore se la -<br />
esima lettera del corrispondente M-messaggio in uscita dal deco<strong>di</strong>ficatore non coincide<br />
con quella emessa.<br />
La probabilità che il sistema commetta un errore sulla -esima lettera del<br />
messaggio è quin<strong>di</strong> uguale alla ( ), che, in termini della dmp congiunta delle<br />
variabili vale:<br />
∑ ( )<br />
A<br />
(4.7.1)<br />
La probabilità d’errore appena calcolata <strong>di</strong>pende in genere dall’in<strong>di</strong>ce . Se<br />
volessimo farci un’idea della probabilità d’errore me<strong>di</strong>a su un generico simbolo dell’Mmessaggio<br />
potremmo calcolare la me<strong>di</strong>a aritmetica delle ottenendo:<br />
∑ (4.7.2)<br />
Consideriamo adesso la catena <strong>di</strong> <strong>di</strong>suguaglianze:
Canali Discreti Privi <strong>di</strong> Memoria 41<br />
( ) ( ) ∑ ( )<br />
A<br />
∑ ∑ ( )<br />
A A<br />
( )<br />
( )<br />
∑ ∑ ( )<br />
A A<br />
( )<br />
( )<br />
∑ ( ( ) ∑ ( )<br />
A<br />
A<br />
∑ ( ( ) ∑ ( )<br />
A<br />
A<br />
∑ ∑ ∑ ( )<br />
A A<br />
)<br />
( )<br />
)<br />
∏ ( | )<br />
( | )<br />
(4.7.3)<br />
∑ ∑ ∑ ( )<br />
A A<br />
( | )<br />
Il nostro scopo è quello <strong>di</strong> esplicitare il legame tra le grandezze associate all’informazione<br />
e la probabilità d’errore espressa dalla (4.7.1), appare pertanto opportuno<br />
riscrivere la (4.7.3) nella forma:<br />
( ) ( ) ∑ ∑ ( )<br />
( )<br />
∑ ( )<br />
( )<br />
(4.7.4)<br />
(<br />
)<br />
Introducendo la probabilità <strong>di</strong> corretta decisione sul -esimo<br />
simbolo possiamo maggiorare la seconda sommatoria in parentesi nella precedente<br />
come segue:<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
∑ ( ) ( ( )<br />
)<br />
A<br />
(4.7.5)<br />
∑ ( ( ) ( ))<br />
A<br />
( )<br />
( )<br />
Procedendo in modo analogo sulla prima sommatoria in parentesi nella (4.7.4) si<br />
ottiene anche:
42 Capitolo - 4 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( )<br />
A<br />
( )<br />
( )( )<br />
∑ ( )<br />
A<br />
( )( )<br />
∑ ( )<br />
A<br />
( )<br />
∑ ( ) ( ( | )( )<br />
)<br />
A<br />
( )<br />
( )<br />
(4.7.6)<br />
∑ ( ) ( | )( )<br />
A<br />
(<br />
)<br />
∑ ( ) ∑ ( )<br />
A<br />
A<br />
(<br />
( )<br />
)<br />
( )<br />
dove<br />
rappresenta la car<strong>di</strong>nalità dell’alfabeto . Tenuto conto delle (4.7.5) e (4.7.6) il<br />
primo membro della (4.7.4) può essere quin<strong>di</strong> ulteriormente maggiorato:<br />
( ) ( ) ∑ [<br />
( )<br />
( )<br />
( ) ]<br />
∑ [ ( ) ( )<br />
( ) ]<br />
(4.7.7)<br />
∑ ( ) ( ) ( ) ∑ ( )<br />
Nella precedente ( ) può essere interpretata come l’entropia <strong>di</strong> una sorgente binaria<br />
che emette le due lettere che costituiscono il suo alfabeto con probabilità e .<br />
Ricordando la (1.3.6) possiamo ancora scrivere:<br />
( ) ( ) ( ) ∑ [ ( )<br />
( ) ]<br />
(4.7.8)<br />
( ) ( )<br />
( )<br />
( ) ( )<br />
Sfruttando il fatto che, per ipotesi, la sorgente è priva <strong>di</strong> memoria e tenendo in conto la<br />
(4.6.4) abbiamo ancora:<br />
( ) ( ) ( ) ( ) ( ) ( )<br />
( )<br />
(4.7.9)<br />
che, in virtù della (4.6.3), conduce alla:<br />
( ) ( ) ( ) ( ) (4.7.10)
Canali Discreti Privi <strong>di</strong> Memoria 43<br />
Per assegnata car<strong>di</strong>nalità dell’alfabeto<br />
<strong>di</strong> sorgente possiamo tracciare<br />
il grafico della funzione: ( ) (<br />
Fig.E 4.7 - F(P e ) (N )P e H(P e )<br />
) ( ).<br />
Come si può notare (ve<strong>di</strong> Fig.E<br />
4.7) la ( ) pertanto la limitazione<br />
imposta dalla (4.7.10), che per como<strong>di</strong>tà<br />
riscriviamo nella forma:<br />
( ) ( ) (4.7.11)<br />
non avrà alcun effetto fintanto che risulta ( ) o, che è lo stesso, quando<br />
( )<br />
(4.7.12)<br />
cioè fintantoché l’entropia della sorgente espressa in bit al secondo si mantiene minore<br />
della capacità <strong>di</strong> canale anch’essa espressa in bit al secondo.<br />
Quando viceversa la (4.7.12) non è sod<strong>di</strong>sfatta la (4.7.11) pone un limite inferiore<br />
alla probabilità d’errore ottenibile; saranno cioè compatibili con la (4.7.11) solo valori<br />
<strong>di</strong> che fanno si che il valore assunto dalla ( ) resti al <strong>di</strong> sopra della quantità<br />
( ) che nel piano <strong>di</strong> Fig.E 4.7 è rappresentata da una retta parallela all’asse<br />
delle ascisse, saranno dunque compatibili con la (4.7.11) soltanto valori <strong>di</strong> probabilità<br />
d’errore che restino alla destra dell’ascissa dell’intersezione <strong>di</strong> detta retta con la curva<br />
( ).<br />
Quello che abbiamo appena <strong>di</strong>mostrato è noto come: inverso del teorema della<br />
co<strong>di</strong>fica <strong>di</strong> canale.<br />
Teorema 4.1<br />
Non è possibile ottenere una probabilità d’errore piccola a piacere all’uscita <strong>di</strong> un<br />
canale che ha una capacità<br />
se quest’ultima è minore dell’entropia (espressa<br />
sempre in<br />
) della sorgente ad esso connessa.<br />
**********<br />
Purtroppo il teorema appena enunciato nulla ci <strong>di</strong>ce circa la probabilità <strong>di</strong> errore<br />
effettivamente ottenibile nel caso in cui la capacità del canale sia maggiore dell’entropia<br />
della sorgente.
Capitolo - 5<br />
CENNI DI TRASMISSIONE NUMERICA<br />
5.1 - Scenario <strong>di</strong> Riferimento.<br />
Al fine <strong>di</strong> introdurre il teorema <strong>di</strong> Shannon sulla co<strong>di</strong>fica <strong>di</strong> canale, è opportuno<br />
introdurre alcuni concetti <strong>di</strong> trasmissione numerica.<br />
Come schema <strong>di</strong> principio del nostro sistema consideriamo una sorgente che<br />
emette lettere appartenenti ad un alfabeto <strong>di</strong> car<strong>di</strong>nalità finita N con una cadenza<br />
<strong>di</strong> lettere al secondo. La suddetta sorgente è connessa a un co<strong>di</strong>ficatore <strong>di</strong> sorgente<br />
( )<br />
che ogni secon<strong>di</strong> emette un M-messaggio ( ) che potremo<br />
( )<br />
pensare come il risultato <strong>di</strong> un esperimento casuale . piloterà un co<strong>di</strong>ficatore <strong>di</strong><br />
canale.<br />
( )<br />
Il co<strong>di</strong>ficatore <strong>di</strong> canale, o modulatore, ha il compito <strong>di</strong> associare ad ogni<br />
un segnale ( ) (<br />
ad energia finita, in<strong>di</strong>viduato da una funzione reale ) ( ), <strong>di</strong> durata<br />
non maggiore <strong>di</strong> , che verrà inviato sul canale, che qui supporremo AWGN (Ad<strong>di</strong>tive<br />
White Gaussian Noise), cioè un canale che si limita a sommare al segnale un processo<br />
stazionario Gaussiano bianco ( ), con densità spettrale <strong>di</strong> potenza bilatera costante ,<br />
o, che è lo stesso, con funzione <strong>di</strong> autocorrelazione ( ) ( ).<br />
Il ricevitore è chiamato, a fornire una stima dell’M-messaggio trasmesso, basandosi<br />
sul segnale ricevuto e, ove possibile, sulla conoscenza della statistica <strong>di</strong> sorgente.<br />
5.2 - Struttura del modulatore e del co<strong>di</strong>ficatore <strong>di</strong> sorgente<br />
Il set <strong>di</strong> segnali utilizzato dal co<strong>di</strong>ficatore <strong>di</strong> canale sopra citato ha car<strong>di</strong>nalità<br />
finita. Esso sarà pertanto contenuto in un sottospazio S K <strong>di</strong> <strong>di</strong>mensione<br />
dello spazio dei segnali a energia finita.<br />
Tramite la procedura <strong>di</strong> ortonormalizzazione <strong>di</strong> Gram-Smith potremo costruire<br />
quin<strong>di</strong> una base ortonormale per . Ogni segnale emesso dal modulatore si<br />
può quin<strong>di</strong> esprimere nella forma:<br />
S K<br />
∑ (5.2.1)<br />
La precedente suggerisce anche uno schema <strong>di</strong> principio per il co<strong>di</strong>ficatore <strong>di</strong><br />
sorgente che in sostanza associa a ogni sequenza <strong>di</strong> lettere emesse dalla<br />
sorgente il vettore<br />
che consente al co<strong>di</strong>ficatore <strong>di</strong> canale<br />
<strong>di</strong> generare a sua volta tramite la (5.2.1) il segnale da inviare sul canale.
46 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
5.3 - Struttura del Ricevitore.<br />
Nell’intervallo (stiamo trascurando il ritardo introdotto dal canale), Il<br />
ricevitore vede al suo ingresso il segnale<br />
(5.3.1)<br />
a energia finita che possiamo pensare come una manifestazione <strong>di</strong> un segnale aleatorio<br />
.<br />
Il segnale ricevuto può essere scomposto in due segnali: il primo, S K<br />
, appartenente<br />
al sottospazio S K il secondo, ˜ , ortogonale a detto sottospazio.<br />
In particolare avremo<br />
dove<br />
S ∑ (5.3.2)<br />
∫ ( ( ) ( )) ( ) (5.3.3)<br />
Teniamo presente che tutte le funzioni in gioco sono reali e, a parte il rumore,<br />
nulle al <strong>di</strong> fuori dell’intervallo , quin<strong>di</strong> tali sono anche le funzioni che<br />
rappresentano i componenti della base ortonormale utilizzata. La (5.3.3) esprime<br />
pertanto il prodotto scalare tra il segnale ricevuto e l’ -esimo elemento .<br />
Le sono variabili aleatorie Gaussiane a me<strong>di</strong>a nulla con varianza ,<br />
l’ortonormalità della base garantisce anche che esse sono mutuamente<br />
statisticamente in<strong>di</strong>pendenti. Osserviamo che il segnale ˜ S non contiene<br />
nessuna informazione circa il segnale trasmesso in quanto non appartiene per<br />
costruzione allo spazio S K dei segnali trasmessi. La nostra strategia <strong>di</strong> decisione si può<br />
quin<strong>di</strong> basare esclusivamente su S , o, che è lo stesso, sul vettore delle sue<br />
componenti rispetto alla base .<br />
In sostanza il vettore costituisce la cosiddetta statistica sufficiente su cui deve<br />
operare il ricevitore per fornire una stima del messaggio trasmesso.<br />
Possiamo pensare il ricevitore costituito da due sistemi in cascata, un demodulatore<br />
che ha il compito <strong>di</strong> calcolare il vettore ed un decisore che sulla base <strong>di</strong><br />
quest’ultimo provvede a stimare il messaggio trasmesso.<br />
In pratica si può pensare al vettore come alla realizzazione <strong>di</strong> un vettore <strong>di</strong><br />
variabili aleatorie definito sull’esperimento casuale innescato dall’emissione <strong>di</strong> un<br />
messaggio e dal suo invio sul canale AWGN.
Cenni <strong>di</strong> Trasmissione Numerica 47<br />
5.4 - La Regola <strong>di</strong> Decisione Ottima.<br />
Vogliamo che la strategia seguita dal ricevitore nel suo complesso conduca alla<br />
minima probabilità d’errore me<strong>di</strong>a. In altri termini vogliamo che sia minima la<br />
probabilità <strong>di</strong> prendere decisioni sbagliate sul messaggio trasmesso, noto il segnale<br />
ricevuto e la probabilità <strong>di</strong> emissione <strong>di</strong> ciascun messaggio.<br />
Ovviamente la minimizzazione della probabilità d’errore equivale alla massimizzazione<br />
della probabilità <strong>di</strong> corretta decisione. La regola <strong>di</strong> decisione ottima sarà<br />
quin<strong>di</strong> quella che ci fa scegliere per il messaggio se risulta:<br />
( ) ( ) (5.4.1)<br />
La regola <strong>di</strong> decisione appena descritta si esprime sinteticamente scrivendo:<br />
˜ argma ( ) (5.4.2)<br />
Nell’ipotesi, in questo contesto remota, in cui due o più messaggi massimizzino la<br />
precedente sceglieremo a caso tra essi.<br />
Quando si adotta la regola <strong>di</strong> decisione (5.4.2) si sta applicando il criterio della<br />
massima probabilità a posteriori (MAP Maximum A posteriori Probability).<br />
5.5 - Il Criterio della Massima Verosimiglianza.<br />
Detto un intorno <strong>di</strong> e ( ) la sua misura possiamo scrivere:<br />
( )<br />
( )<br />
( )<br />
(5.5.1)<br />
in<strong>di</strong>cando con ( ) la densità <strong>di</strong> probabilità <strong>di</strong> , la probabilità che vale<br />
∫ ( ) Scegliendo opportunamente ˜ e ̂ in .possiamo ulteriormente elaborare<br />
la (5.5.1) come segue:<br />
( )<br />
( )<br />
( )<br />
( )<br />
(<br />
( )<br />
)<br />
( ) ∫ ( )<br />
∫ ( )<br />
∫ ( ) ( )<br />
( ˜ ) ( )<br />
( ̂ ) ( ) ( )<br />
( ˜) ( )<br />
( ) ( )<br />
( )<br />
sostituendo la (5.5.2) nella (5.4.2) otteniamo:<br />
(5.5.2)<br />
˜ argma {<br />
( ) ( )<br />
} (5.5.3)<br />
( )
48 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Appare chiaro che la densità <strong>di</strong> probabilità marginale <strong>di</strong> al denominatore della precedente<br />
non ha alcuna influenza sull’argomento che lo rende massimo, pertanto possiamo<br />
ulteriormente scrivere:<br />
˜ argma ( ) ( ) (5.5.4)<br />
5.6 - Funzioni <strong>di</strong> Verosimiglianza.<br />
Un’ulteriore semplificazione della (5.5.3), si ottiene infine se i messaggi<br />
sono tutti equiprobabili. In questo caso, semplificando ulteriormente la notazione, ponendo<br />
cioè ( ) ( ), la regola <strong>di</strong> decisione ottima <strong>di</strong>venta:<br />
deci<strong>di</strong> per ˜ se:<br />
˜ argma ( ) (5.6.1)<br />
La densità <strong>di</strong> probabilità ( ) prende il nome <strong>di</strong> funzione <strong>di</strong><br />
verosimiglianza. Essa, come si può notare, <strong>di</strong>pende sostanzialmente dal canale, che in<br />
questo caso pensiamo costituito dalla cascata del modulatore, del canale AWGN e del<br />
demodulatore.<br />
Un ricevitore che adotta la regola <strong>di</strong> decisione (5.6.1) applica il criterio della<br />
Massima Verosimiglianza MV, o ML (Maximum Likelihood), se si preferisce<br />
l’acronimo inglese.<br />
È opportuno precisare che il criterio MV viene <strong>di</strong> regola adottato, anche quando<br />
la statistica della sorgente non è nota, in questo caso il criterio non è ottimo, non<br />
conduce cioè alla minima probabilità d’errore me<strong>di</strong>a, ma spesso non si può fare altrimenti<br />
non conoscendo la statistica della sorgente, in ogni caso, in genere, la per<strong>di</strong>ta in<br />
termini <strong>di</strong> prestazioni adottando il criterio MV anziché il MAP è in genere accettabile.<br />
5.7 - Le Regioni <strong>di</strong> Decisione.<br />
Ricor<strong>di</strong>amo che ad ogni messaggio corrisponde tramite la (5.2.1) uno ed un<br />
sol punto nello spazio S K . Osserviamo quin<strong>di</strong> che, se è stato trasmesso , allora<br />
all’uscita del demodulatore sarà presente il vettore<br />
, dove<br />
è la realizzazione <strong>di</strong> un vettore <strong>di</strong> variabili aleatorie Gaussiane a me<strong>di</strong>a<br />
nulla e matrice <strong>di</strong> covarianza cioè <strong>di</strong> variabili tra loro mutuamente statisticamente<br />
in<strong>di</strong>pendenti, ne consegue che , per fissato , è anch’esso un vettore <strong>di</strong> variabili<br />
aleatorie mutuamente in<strong>di</strong>pendenti con matrice <strong>di</strong> covarianza e me<strong>di</strong>a<br />
m<br />
.<br />
Si ha pertanto:
Cenni <strong>di</strong> Trasmissione Numerica 49<br />
( ) ∏<br />
√<br />
( )<br />
( ) ∏<br />
( )<br />
(5.7.1)<br />
ad ogni<br />
( )<br />
∑ ( )<br />
( )<br />
si può quin<strong>di</strong> associare l’insieme dei punti <strong>di</strong> S K<br />
( ) ( ) (5.7.2)<br />
che è denominato regione <strong>di</strong> decisione <strong>di</strong> .<br />
Se abbiamo cura <strong>di</strong> assegnare a caso all’una o all’altra regione i punti <strong>di</strong> S K che si<br />
trovano al confine tra due o più regioni <strong>di</strong> decisione, ci si convince facilmente che<br />
∪ (5.7.3)<br />
Per il canale AWGN possiamo ancora scrivere:<br />
{ ( )<br />
‖<br />
‖<br />
( )<br />
‖<br />
‖<br />
}<br />
(5.7.4)<br />
{ }<br />
dalla precedente s’intuisce facilmente che le frontiere delle regioni <strong>di</strong> decisione sono<br />
iperpiani <strong>di</strong> S K , e che la probabilità che cada sulla frontiera <strong>di</strong> una regione <strong>di</strong> decisione<br />
è in questo caso nulla, essendo nulla la misura <strong>di</strong> tali frontiere.<br />
Il concetto <strong>di</strong> regione <strong>di</strong> decisione è applicabile anche in un contesto più generale,<br />
basandosi <strong>di</strong>rettamente sulla (5.5.3) nel caso <strong>di</strong> messaggi non equiprobabili.<br />
Anche nel caso in cui lo spazio d’osservazione S K è <strong>di</strong>screto si possono definire<br />
le regioni <strong>di</strong> decisione, tenendo però presente che tutte le densità <strong>di</strong> probabilità che<br />
compaiono nelle (5.5.3) e (5.6.1) vanno intese come <strong>di</strong>stribuzioni <strong>di</strong> massa <strong>di</strong><br />
probabilità e che in questo caso l’eventualità che il vettore cada su un punto <strong>di</strong> S K<br />
appartenente alla frontiera <strong>di</strong> una regione <strong>di</strong> decisione può essere <strong>di</strong>versa da zero.<br />
In<strong>di</strong>chiamo con la probabilità che il ricevitore stimi in modo errato il<br />
messaggio sotto la con<strong>di</strong>zione che sia stato trasmesso il messaggio , detto il<br />
complementare <strong>di</strong> R rispetto allo spazio <strong>di</strong> osservazione S K , ( ) si potrà esprimere<br />
come segue:<br />
( ) (<br />
( ) ) (5.7.5)<br />
La probabilità d’errore me<strong>di</strong>a del sistema sarà espressa dalla me<strong>di</strong>a statistica delle<br />
( ). Avremo quin<strong>di</strong>:<br />
∑ ( ) ( ) (5.7.6)
50 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
che nel caso <strong>di</strong> equiprobabilità dei messaggi trasmessi varrà:<br />
∑ ( ) (5.7.7)<br />
Sebbene la precedente sia concettualmente semplice, calcolarne il valore può<br />
essere complicato. La sua valutazione comporta generalmente il calcolo d’integrali su<br />
domini multi<strong>di</strong>mensionali che <strong>di</strong>fficilmente si risolvono in forma chiusa, e che anche<br />
approcciati per via numerica possono presentare delle criticità.<br />
È pertanto utile, in generale, e in particolare per i nostri scopi, introdurre dei<br />
meto<strong>di</strong> che permettano <strong>di</strong> maggiorare la probabilità d’errore:<br />
5.8 - L’Union Bound.<br />
L’union bound è una maggiorazione della che si basa sul fatto che la<br />
probabilità dell’unione <strong>di</strong> due eventi è minore o uguale della somma delle probabilità <strong>di</strong><br />
ciascuno <strong>di</strong> essi.<br />
In particolare si osservi che se il decisore dovesse scegliere soltanto tra due<br />
alternative, ad esempio tra il messaggio e il messaggio , vi sarebbero solo due<br />
regioni <strong>di</strong> decisione quella R associata a e la sua complementare rispetto a S K ,<br />
R .<br />
Ovviamente R R , risulta inoltre:<br />
⋂ ⋃ (5.8.1)<br />
avremo pertanto:<br />
( ∪ ) ∑ ( )<br />
(5.8.2)<br />
Nel caso in esame:<br />
la ( ) è data da:<br />
{ } (5.8.3)<br />
( )<br />
∫ ( ) ∫ ( ) ∏<br />
( )<br />
(5.8.4)<br />
Al fine <strong>di</strong> calcolare la (5.8.4) è utile riformulare la <strong>di</strong>suguaglianza che definisce<br />
la<br />
nel modo seguente:
Cenni <strong>di</strong> Trasmissione Numerica 51<br />
( )<br />
∑( )<br />
(5.8.5)<br />
Osserviamo che ∑ ( ) può interpretarsi come il valore assunto<br />
da una variabile aleatoria ottenuta combinando linearmente le componenti <strong>di</strong><br />
(<br />
che, se è stato trasmesso ) , costituiscono una -upla <strong>di</strong> variabili aleatorie Gaussiane<br />
statisticamente in<strong>di</strong>pendenti. è quin<strong>di</strong> una variabile aleatoria Gaussiana con valor<br />
me<strong>di</strong>o:<br />
e varianza:<br />
∑( ) (5.8.6)<br />
∑( ) (5.8.7)<br />
Ricordando che ( )<br />
√<br />
∫ potremo scrivere:<br />
( ) ( )<br />
( )<br />
( )<br />
∫<br />
√<br />
√<br />
∫<br />
( )<br />
(5.8.8)<br />
(<br />
√<br />
( ) ( )<br />
)<br />
(<br />
) (<br />
)<br />
√<br />
√<br />
L’ultimo membro della precedente può essere sostituito nella (5.8.2) che tenuto conto<br />
della (5.7.6) e dell’ipotesi <strong>di</strong> equiprobabilità dei simboli trasmissibili, ci permette <strong>di</strong><br />
scrivere:<br />
∑ ( ) ( )<br />
∑ ( ) ∑ (<br />
√<br />
)<br />
( )<br />
∑ (<br />
√<br />
)<br />
(5.8.9)
52 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
5.9 - Bound <strong>di</strong> Bhattacharrya.<br />
L’union bound può essere applicato anche al caso in cui lo spazio <strong>di</strong> osservazione<br />
sia <strong>di</strong>screto. Consideriamo ad esempio il caso <strong>di</strong> una sorgente binaria priva <strong>di</strong> memoria<br />
che emetta una parola <strong>di</strong> bit, vogliamo trasmettere la parola in questione utilizzando<br />
un BSC volte con . Il compito del co<strong>di</strong>ficatore <strong>di</strong> canale consiste quin<strong>di</strong><br />
nell’associare a ciascuno dei possibili messaggi <strong>di</strong> sorgente una tra le possibili<br />
parole da affidare al canale. Chiameremo co<strong>di</strong>ce il sottoinsieme delle parole scelte.<br />
Osserviamo che per effetto del canale la parola ricevuta potrebbe non appartenere<br />
al co<strong>di</strong>ce, ma in ogni caso sarebbe una tra le . In sostanza lo spazio d’osservazione<br />
è in questo caso finito.<br />
La probabilità ( ) che venga rivelata la parola quando è stata trasmessa la<br />
parola <strong>di</strong> co<strong>di</strong>ce è data da<br />
( ) ( ) ( ) ( ) (5.9.1)<br />
in cui rappresenta il numero <strong>di</strong> simboli in cui <strong>di</strong>fferisce da e la probabilità <strong>di</strong><br />
crossover del BSC. Osserviamo che, se , , ( ) è quin<strong>di</strong> una funzione<br />
decrescente <strong>di</strong> che, come vedremo in seguito, è detta <strong>di</strong>stanza <strong>di</strong> Hamming. Ciò ci<br />
permette <strong>di</strong> associare a ogni parola <strong>di</strong> co<strong>di</strong>ce una regione <strong>di</strong> decisione, che conterrà i<br />
punti dello spazio d’osservazione, cioè le parole <strong>di</strong> bit aventi da essa una <strong>di</strong>stanza<br />
minore rispetto a quella che hanno dalle altre parole <strong>di</strong> co<strong>di</strong>ce, convenendo <strong>di</strong> assegnare<br />
in modo puramente casuale a una sola delle regioni interessate i punti dello spazio<br />
d’osservazione che dovessero trovarsi a uguale <strong>di</strong>stanza da due o più parole <strong>di</strong> co<strong>di</strong>ce.<br />
Ciò premesso, il calcolo della probabilità d’errore con<strong>di</strong>zionata all’emissione <strong>di</strong><br />
una data parola <strong>di</strong> co<strong>di</strong>ce vale:<br />
∑ ( )<br />
(5.9.2)<br />
e la probabilità d’errore me<strong>di</strong>a:<br />
∑ ( ) ∑ ( ) (5.9.3)<br />
dove ( ) rappresenta la probabilità <strong>di</strong> emissione della parola da parte del<br />
co<strong>di</strong>ficatore <strong>di</strong> canale, che equivale, essendo il co<strong>di</strong>ficatore deterministico, a quella <strong>di</strong><br />
emissione della corrispondente parola <strong>di</strong> bit dalla sorgente.<br />
Anche in questo contesto è possibile applicare lo union bound. In<strong>di</strong>viduando le<br />
associate alle coppie <strong>di</strong> parole <strong>di</strong> co<strong>di</strong>ce possiamo infatti scrivere:
Cenni <strong>di</strong> Trasmissione Numerica 53<br />
( ) ∑ ( )<br />
(5.9.4)<br />
tramite la funzione ausiliaria<br />
possiamo riformulare la (5.9.4) come segue<br />
( ) { (5.9.5)<br />
Osserviamo che<br />
( ) ∑ ( ) ( )<br />
S risulta:<br />
S<br />
(5.9.6)<br />
possiamo pertanto maggiorare la (5.9.6) ottenendo:<br />
( ) ( ( )<br />
( ) ) (5.9.7)<br />
( ) ∑ ( ( )<br />
( ) ) ( )<br />
S<br />
∑( ( )) ( ))<br />
S<br />
(5.9.8)<br />
∑ [∏( ( ) ( ))]<br />
S<br />
∏ ∑ ( ( ) ( ))<br />
in cui abbiamo anche tenuto conto del fatto che il canale è privo <strong>di</strong> memoria.<br />
La sommatoria a ultimo membro della precedente può assumere solo due valori a<br />
seconda che risulti o meno uguale a nel primo caso la somma varrà nell’altro<br />
√ (<br />
). Potremo finalmente scrivere:<br />
( ) ∏ ∑ ( ( ) ( ))<br />
(5.9.9)<br />
( √ ( ))<br />
essendo la <strong>di</strong>stanza <strong>di</strong> Hamming tra e .<br />
Quella appena ottenuta è la maggiorazione <strong>di</strong> Bhattacharyya. Che tramite l’union<br />
bound ci permette <strong>di</strong> scrivere:<br />
∑ ( ) ∑ ( √ ( )) (5.9.10)<br />
Il bound <strong>di</strong> Bhattacharyya sulla probabilità d’errore può essere applicato anche<br />
nel caso <strong>di</strong> spazio d’osservazione continuo.
54 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Per mostrarlo pren<strong>di</strong>amo nuovamente in considerazione la (5.8.4), possiamo scrivere:<br />
( | ) ∫ ( | ) ∫ √ ( )<br />
( )<br />
∫ √ ( ) ( )<br />
S<br />
S<br />
( | )<br />
(5.9.11)<br />
la quale sostituendo alle ddp con<strong>di</strong>zionate che vi compaiono le loro espressioni<br />
fornisce:<br />
( | )<br />
∫ √ ( ) ( )<br />
S<br />
( ) ∫<br />
S<br />
∑ ( ) ( )<br />
( ) ∫<br />
S<br />
∑ ( )<br />
∏ ∫<br />
√<br />
( )<br />
)<br />
(5.9.12)<br />
∏ ∫<br />
√<br />
( ) ( )<br />
( )<br />
∏<br />
∏<br />
∑ ( )<br />
La precedente può essere utilizzata nell’union bound<br />
∑ ( ) ( ) ∑ (<br />
√<br />
) ∑<br />
‖<br />
‖<br />
(5.9.13)<br />
La (5.9.13), a ben vedere, si poteva ottenere <strong>di</strong>rettamente utilizzando una ben<br />
nota catena <strong>di</strong> <strong>di</strong>suguaglianze relative alla ( ), risulta infatti (ve<strong>di</strong> Fig.E 5.1):<br />
√<br />
( ) ( )<br />
( )<br />
√<br />
(5.9.14)
Cenni <strong>di</strong> Trasmissione Numerica 55<br />
Fig.E 5.1 - Q(x), 1 2 ex2 2 ,<br />
1<br />
e x2<br />
√2πx 2 2<br />
Constatiamo che, nel caso <strong>di</strong><br />
spazio <strong>di</strong> osservazione continuo, la<br />
maggiorazione <strong>di</strong> Bhattacharyya seppur<br />
asintoticamente stretta è comunque<br />
più “lasca” <strong>di</strong> quelle che si possono<br />
ottenere maggiorando la ( )<br />
tramite una delle precedenti. Utilizzando<br />
ad esempio la seconda si introdurrebbe<br />
un fattore vale cioè la seguente<br />
<strong>di</strong>suguaglianza:<br />
∑<br />
‖<br />
‖<br />
(5.9.15)<br />
L’utilizzo della prima delle (5.9.14) fornirebbe come risulta evidente dalla Fig.E<br />
5.1Fig.E 5.1 una maggiorazione certamente più stretta solo qualora i valori degli<br />
argomenti delle ( ) nella (5.9.13) fossero tutti maggiori <strong>di</strong> √ .<br />
5.10 - Bound <strong>di</strong> Gallager.<br />
Lo Union Bound può rivelarsi in molti casi una maggiorazione piuttosto lasca,<br />
talvolta ad<strong>di</strong>rittura palesemente inutile se dovesse risultare maggiore <strong>di</strong> uno.<br />
Un <strong>di</strong>verso approccio per maggiorare è quello <strong>di</strong> considerare una regione<br />
̃ ̅ e valutare la probabilità ( ̃ ) . Quest’ultima, sarà<br />
necessariamente non minore <strong>di</strong><br />
. A tale scopo consideriamo il seguente sottoinsieme<br />
dello spazio d’osservazione S K :<br />
̃ { ∑ ( ( )<br />
( ) ) } (5.10.1)<br />
dove è un reale positivo scelto ad arbitrio. ̃ ̅ , infatti, si osservi che la<br />
sommatoria nella (5.10.1) è a termini positivi, inoltre se ̅ allora per definizione<br />
esiste almeno un tale che ( ) ( ), ciò, essendo , comporta<br />
che almeno un addendo, e quin<strong>di</strong> tutta la sommatoria, assuma un valore maggiore <strong>di</strong><br />
in ogni punto <strong>di</strong> ̅<br />
. Introducendo la funzione ausiliaria:<br />
( ) {<br />
̃<br />
(5.10.2)<br />
possiamo scrivere:
56 Capitolo - 5 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( ) ∫ ( ) ∫ ( ) ( )<br />
̃<br />
S<br />
È inoltre facile verificare che per ogni reale positivo risulta:<br />
(5.10.3)<br />
( ) [∑ ( ( )<br />
( ) ) ] (5.10.4)<br />
la (5.10.3) può quin<strong>di</strong> essere ulteriormente maggiorata ottenendo:<br />
( ) ∫ [∑ ( ( )<br />
( ) ) ] ( )<br />
S<br />
(5.10.5)<br />
S<br />
∫ [∑( ( )) ] ( )<br />
La precedente può essere semplificata se si pone<br />
otteniamo infatti:<br />
( ) ∫ [∑( ( )) ] ( )<br />
(5.10.6)<br />
S<br />
La maggiorazione della probabilità d’errore che si ottiene dalla (5.10.6), me<strong>di</strong>ando<br />
sui messaggi , è applicabile anche a spazi d’osservazione <strong>di</strong>screti, a patto <strong>di</strong><br />
sostituire l’integrale con una sommatoria estesa all’intero spazio d’osservazione e <strong>di</strong><br />
interpretare le densità <strong>di</strong> probabilità che vi compaiono come <strong>di</strong>stribuzioni <strong>di</strong> massa <strong>di</strong><br />
probabilità:<br />
( ) ∑ [∑ ( ( )) ] ( )<br />
(5.10.7)<br />
S<br />
L’utilizzo del bound <strong>di</strong> Gallager in pratica rimane ristretto ad un limitato insieme<br />
<strong>di</strong> sistemi <strong>di</strong> trasmissione in quanto esso comporta comunque il calcolo <strong>di</strong> integrali o<br />
sommatorie multi<strong>di</strong>mensionali che rapidamente <strong>di</strong>ventano impraticabili. Va anche<br />
sottolineato il fatto che il valore <strong>di</strong> al secondo membro delle (5.10.6) e (5.10.7) deve<br />
essere ottimizzato se si vuole rendere la maggiorazione più stretta possibile. In questo<br />
contesto il bound appena introdotto è propedeutico alla <strong>di</strong>mostrazione del teorema <strong>di</strong><br />
Shannon sulla co<strong>di</strong>fica <strong>di</strong> canale che verrà <strong>di</strong>mostrato nel prossimo capitolo.
Capitolo - 6<br />
IL TEOREMA DI SHANNON SULLA CODIFICA DI CANALE<br />
6.1 - Premessa.<br />
Shannon, nel suo pionieristico lavoro del 1948, in<strong>di</strong>viduò una maggiorazione<br />
della probabilità d’errore che, anziché cercare <strong>di</strong> maggiorare la probabilità d’errore<br />
associata alla scelta <strong>di</strong> uno specifico insieme <strong>di</strong> segnali si propone <strong>di</strong> maggiorare la<br />
probabilità <strong>di</strong> errore me<strong>di</strong>a tra tutti i possibili set costituiti da un numero fissato <strong>di</strong><br />
segnali contenuti in un sottospazio <strong>di</strong> <strong>di</strong>mensione assegnata , nell’ipotesi in cui tutte<br />
le componenti <strong>di</strong> oguno <strong>di</strong> essi possano assumere valori appartenenti al medesimo<br />
alfabeto <strong>di</strong> car<strong>di</strong>nalità finita . Sotto queste ipotesi si possono effettuare un numero<br />
finito <strong>di</strong> scelte per la -upla <strong>di</strong> segnali da impiegare, esistono infatti solo ( )<br />
possibili -uple <strong>di</strong> segnali, alcune delle quali in realtà non “felici” in quanto utilizzano<br />
più volte uno stesso segnale.<br />
Shannon sfruttò il fatto che una qualsiasi funzione <strong>di</strong> variabile aleatoria può<br />
certamente assumere un valore non maggiore del suo valor me<strong>di</strong>o. Applicato al caso in<br />
esame ciò comporta l’esistenza <strong>di</strong> almeno una -upla <strong>di</strong> segnali che da luogo ad una<br />
probabilità d’errore non maggiore della me<strong>di</strong>a tra le probabilità <strong>di</strong> errore <strong>di</strong> tutte le -<br />
uple.<br />
È interessante osservare che quest’affermazione resta valida quale che sia la<br />
<strong>di</strong>stribuzione <strong>di</strong> massa <strong>di</strong> probabilità che si sceglie per calcolare la me<strong>di</strong>a citata, nel<br />
caso particolare potremmo ad esempio scegliere la me<strong>di</strong>a aritmetica, daremmo in<br />
questo caso uguale peso a ogni possibile -upla, ovvero potremmo attribuire pesi<br />
<strong>di</strong>versi ad esempio associando peso nullo a tutte le -uple in cui uno stesso segnale è<br />
utilizzato più <strong>di</strong> una volta, in questo caso evidentemente il valor me<strong>di</strong>o tra le probabilità<br />
<strong>di</strong> errore sarebbe verosimilmente una maggiorazione più stretta, altre scelte potrebbero<br />
rivelarsi infelici, ma costituirebbero comunque una maggiorazione per la probabilità<br />
d’errore <strong>di</strong> almeno una - upla.<br />
6.2 - La Disuguaglianza <strong>di</strong> Jensen<br />
Nel precedente paragrafo è stata utilizzata una <strong>di</strong>suguaglianza che risulta utile<br />
anche nella trattazione <strong>di</strong> altri argomenti legati alla <strong>Teoria</strong> dell’Informazione.<br />
Cominciamo con il definire un sottoinsieme convesso <strong>di</strong> uno spazio vettoriale:
58 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Definizione 6.1<br />
Un sottoinsieme <strong>di</strong> uno spazio vettoriale su o su è convesso se comunque presi<br />
due suoi elementi e un reale non negativo non maggiore <strong>di</strong> risulta:<br />
( ) A (6.2.1)<br />
***********<br />
La precedente in sostanza ci <strong>di</strong>ce che insieme è convesso se contiene tutte le<br />
corde che uniscono coppie <strong>di</strong> suoi elementi. Un esempio <strong>di</strong> regione convessa in<br />
l’insieme <strong>di</strong> tutte le possibili <strong>di</strong>stribuzioni <strong>di</strong> massa <strong>di</strong> probabilità <strong>di</strong> una variabile<br />
aleatoria <strong>di</strong>screta che assume valori appartenenti ad un<br />
insieme <strong>di</strong> car<strong>di</strong>nalità . Ad esempio in tale<br />
regione è costituita dal segmento della retta<br />
appartenente al primo quadrante. Nel caso <strong>di</strong><br />
Fig.E 6.1) da tutti i punti del piano<br />
coor<strong>di</strong>nate non negative.<br />
È facile convincersi del fatto che:<br />
è<br />
(ve<strong>di</strong><br />
- l’intersezione (anche infinita) d’insiemi convessi<br />
e convessa<br />
- l’insieme ottenuto moltiplicando tutti gli elementi <strong>di</strong> un convesso per uno scalare è<br />
convesso.<br />
- è convesso l’insieme che ha per elementi tutte le possibili somme tra elementi<br />
appartenenti a due insiemi convessi.<br />
Definizione 6.2<br />
Una funzione ( ) a valori in si <strong>di</strong>ce concava su un sottoinsieme convesso A del<br />
suo dominio se comunque presi due elementi x , x appartenenti ad e un reale non<br />
negativo<br />
Fig.E 6.1<br />
risulta:<br />
1 2<br />
<strong>di</strong><br />
Se risulta<br />
( ) ( ) ( ) ( ( ) ) (6.2.2)<br />
( ) ( ) ( ) ( ( ) ) (6.2.3)<br />
la funzione si <strong>di</strong>ce strettamente concava<br />
***********<br />
La definizione <strong>di</strong> funzione convessa è uguale alla precedente salvo il fatto che le<br />
<strong>di</strong>seguaglianze cambiano <strong>di</strong> verso.
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale 59<br />
Nel caso <strong>di</strong> funzioni definite su sottoinsiemi <strong>di</strong> la precedente caratterizza le<br />
funzioni con concavità rivolta verso il basso in tutti i punti <strong>di</strong> un intervallo che è un<br />
sottoinsieme convesso <strong>di</strong> , è noto che laddove esiste la derivata seconda <strong>di</strong> una<br />
funzione concava è non positiva.<br />
Osserviamo che la combinazione lineare <strong>di</strong> funzioni concave è concava lo è<br />
strettamente se anche una sola delle funzioni lo è. Per verificarlo è sufficiente sommare<br />
termine a termine le (6.2.2) scritte per ciascuno degli adden<strong>di</strong> della combinazione<br />
lineare.<br />
Osservando la (6.2.2) notiamo che se si interpretano ed come i valori che<br />
può assumere una V.A. generalmente multi<strong>di</strong>mensionali e con ed<br />
rispettivamente le probabilità che essa li assuma, potremo affermare che per una<br />
funzione concava su un convesso che contenga tutti i valori che la V.A. può assumere<br />
ed una V.A. del tipo citato vale la proprietà:<br />
( ) ( ) (6.2.4)<br />
Vogliamo mostrare che la precedente è valida in generale cioè per variabili aleatorie<br />
<strong>di</strong>screte generalmente multi<strong>di</strong>mensionali che possano assumere valori.<br />
Abbiamo mostrato che la (6.2.4) è vera per , per lo è banalmente<br />
supponiamo quin<strong>di</strong> che lo sia per e mostriamo che allora lo è anche per .<br />
Se la (6.2.4) è vera per n 1 quale che sia la dmp <strong>di</strong> X si ha:<br />
∑ ( ) (∑( )) (6.2.5)<br />
dove rappresenta la probabilità che la variabile aleatoria assuma il valore .<br />
Risulta:<br />
∑ ( ) ∑ (∑<br />
∑<br />
( )) ( ) (6.2.6)<br />
Osserviamo che ∑<br />
∑<br />
sod<strong>di</strong>sfa tutte le proprietà <strong>di</strong> una dmp quin<strong>di</strong> in virtù<br />
della (6.2.5) possiamo scrivere:<br />
∑ ( ) ∑ ( (∑<br />
∑<br />
)) ( )<br />
(6.2.7)<br />
∑ ( ( )) ( )<br />
dove<br />
è certamente un punto appartenente al convesso su cui è definita la funzione.
60 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
All’ultimo membro della precedente potremo applicare la (6.2.2) ottenendo:<br />
∑ ( ) ∑ ( ( )) ( ) (∑ )<br />
(∑ ∑<br />
∑<br />
) (∑ ) ( )<br />
(6.2.8)<br />
ovviamente la (6.2.5) <strong>di</strong>venta<br />
∑ ( ) (∑( )) (6.2.9)<br />
se la ( ) anziché essere concava è convessa.<br />
6.3 - Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale.<br />
Consideriamo la probabilità d’errore con<strong>di</strong>zionata all’emissione dell’ -esimo<br />
segnale <strong>di</strong> una data -upla, essa è in realtà una funzione della -upla nel suo complesso,<br />
in quanto il cambiamento anche <strong>di</strong> un solo segnale nella -upla può comportare la<br />
mo<strong>di</strong>fica della regione <strong>di</strong> decisione associata ad , per sottolineare ciò, porremo in<br />
quel che segue ( ).<br />
Dovendo calcolare la me<strong>di</strong>a sopra citata, e tenuto conto delle considerazioni fatte<br />
in merito, possiamo scegliere ad arbitrio una <strong>di</strong>stribuzione <strong>di</strong> massa <strong>di</strong> probabilità<br />
( ) per le -uple <strong>di</strong> possibili segnali. Per semplicità supponiamo<br />
che<br />
( ) ∏ ( ) (6.3.1)<br />
e che tutte le d.m.p. marginali che compaiono nella produttoria siano identiche.<br />
Avremo quin<strong>di</strong>:<br />
∑ ∑ ∑ ∏ ( ) ( ) (6.3.2)<br />
utilizzando il bound <strong>di</strong> Gallager otteniamo:<br />
∑ ∑ ∑ ∏ ( ) ∫ [ ∑ ( ( )) ] ( ) (6.3.3)<br />
S<br />
che può essere riscritta sfruttando il teorema della me<strong>di</strong>a (portando cioè la me<strong>di</strong>a<br />
all’interno dell’integrale) come segue:<br />
S<br />
∫ ∑ ( ) ( ) {∑ ∑ ∑ ∑ ∏ ( ) [ ∑ ( ( [ ] )) ] }<br />
(6.3.4)
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale 61<br />
Osserviamo che ∑ ( ( )) , può intendersi come il valore<br />
assunto da una variabile aleatoria reale . Nel derivare il bound <strong>di</strong> Gallager avevamo<br />
supposto se adesso lo limitiamo all’intervallo , è una funzione concava<br />
<strong>di</strong> (concavità rivolta verso il basso), quin<strong>di</strong> possiamo applicare la <strong>di</strong>suguaglianza <strong>di</strong><br />
Jensen (ve<strong>di</strong> § precedente) che garantisce che il valor me<strong>di</strong>o <strong>di</strong> una funzione concava <strong>di</strong><br />
una V.A. è non maggiore del valore che detta funzione assume in corrispondenza al<br />
valor me<strong>di</strong>o della V.A..<br />
Sulla base <strong>di</strong> quanto appena detto possiamo maggiorare il contenuto delle parentesi<br />
graffe della precedente come segue:<br />
∑ ∑ ∑ ∑ ∏ ( ) [ ∑ ( ( )) ] ( )<br />
[ ∑ ∑ ∑ ∑ ∏ ( ) ∑ ( ( )) ]<br />
[ ∑ ∑ ∑ ∑ ∑ ∏ ( ) ( ( )) ]<br />
(6.3.5)<br />
[ ∑ ∑ ( ) ( ( )) ]<br />
[( ) ∑ ( ) ( ( )) ]<br />
L’ultimo membro della precedente ci consente <strong>di</strong> maggiorare ulteriormente la<br />
ottenendo:<br />
S<br />
∫ ∑ ( ) ( ( )) [( ) ∑ ( )( ( )) ]<br />
( ) ∫ [∑ ( )( ( )) ]<br />
S<br />
(6.3.6)<br />
S<br />
∫ [∑ ( )( ( )) ]<br />
Ulteriori elaborazioni della precedente si possono ottenere osservando che il<br />
contenuto delle parentesi quadre all’ultimo membro <strong>di</strong> essa può intendersi come il valor<br />
me<strong>di</strong>o della ( ( )) pensata come funzione della V.A. multi<strong>di</strong>mensionale . Ciò<br />
premesso, se introduciamo l’ipotesi ( ) ∏ ( ), cioè che il canale, se<br />
utilizzato in tempi <strong>di</strong>versi per inviare le componenti del segnale , sia privo <strong>di</strong><br />
memoria, ovvero che per inviarle si utilizzino contemporaneamente canali identici
62 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
in<strong>di</strong>pendenti tra loro, sostituendo nella (6.3.6) e ricordando che la me<strong>di</strong>a <strong>di</strong> un prodotto<br />
è uguale al prodotto delle me<strong>di</strong>e otteniamo:<br />
S<br />
∫ [ ∑ ∑ ∑ ( ) ∏ ( ( | )) ]<br />
(6.3.7)<br />
S<br />
∫ [∏ ∑ ( ) ( ( | )) ]<br />
la quale limitandoci a considerare delle ( ) ∏ ( ) fornisce ancora:<br />
S<br />
∫ [∏ ∑ ( ) ( ( )) ]<br />
S<br />
∫ ∏ [∑ ( )( ( )) ]<br />
(6.3.8)<br />
{∫ [∑ ( )( ( )) ] }<br />
È opportuno riba<strong>di</strong>re che la maggiorazione ricavata è del tutto generale, essendo<br />
basata sul bound <strong>di</strong> Gallager, quin<strong>di</strong> si applica anche a canali <strong>di</strong>screti.<br />
Pertanto, prima <strong>di</strong> procedere oltre, provve<strong>di</strong>amo a riscrivere la (6.3.8) per spazi<br />
d’uscita <strong>di</strong>screti. Per farlo dobbiamo sostituire l’integrale con una sommatoria estesa a<br />
tutti i possibili simboli dell’alfabeto d’uscita che supporremo <strong>di</strong> car<strong>di</strong>nalità , e la<br />
densità <strong>di</strong> probabilità con<strong>di</strong>zionata che caratterizza il canale con uscita nel continuo con<br />
le dmp con<strong>di</strong>zionate del DMC ottenendo:<br />
[∑ (∑ ( )( ( )) ) ] (6.3.9)<br />
è utile riscrivere la precedente nella forma:<br />
{ [∑ (∑ ( )( ( )) ) ] }<br />
{ [∑ (∑ ( )( ( )) ) ]}<br />
(6.3.10)<br />
{ [∑ (∑ ( )( ( )) ) ]}<br />
che ne rende esplicita la <strong>di</strong>pendenza dal rapporto .<br />
Ricor<strong>di</strong>amo che è il numero <strong>di</strong> segnali utilizzati e la <strong>di</strong>mensione del sottospazio<br />
in cui detti segnali sono contenuti, si può interpretate come la massima<br />
quantità d’informazione, espressa in nat, che i parametri fissati per il sistema consentirebbero<br />
<strong>di</strong> affidare a ogni <strong>di</strong>mensione del sottospazio. rappresenta quin<strong>di</strong> il data rate.
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale 63<br />
La (6.3.10) si può esprimere in forma più compatta ponendo:<br />
( ( )) [∑ (∑ ( )( ( ) )) ] (6.3.11)<br />
Sostituendo la precedente nella (6.3.10) otteniamo:<br />
( ( ( )) ) (6.3.12)<br />
Il minimo al variare <strong>di</strong> e ( ) del secondo membro della precedente fornisce la<br />
maggiorazione più stretta. La minimizzazione citata equivale alla ricerca <strong>di</strong>:<br />
( )<br />
( ( )) ( ) (6.3.13)<br />
Ovviamente tale ricerca deve tener conto delle limitazioni poste su , che deve<br />
appartenere all’intervallo e del fatto che la ( ) deve sod<strong>di</strong>sfare le proprietà <strong>di</strong><br />
una dmp che assume valori in un insieme <strong>di</strong> car<strong>di</strong>nalità .<br />
Osserviamo infine che la maggiorazione appena ricavata non <strong>di</strong>pende da<br />
quin<strong>di</strong> essa è anche una maggiorazione per la probabilità d’errore me<strong>di</strong>a del sistema.<br />
Tutto ciò considerato possiamo scrivere:<br />
( ) (6.3.14)<br />
Appare chiaro quanto siano importanti le proprietà della ( ( )).<br />
In quel che segue per semplificare la notazione porremo ( ) , ( ) ,<br />
in<strong>di</strong>cheremo la <strong>di</strong>stribuzione <strong>di</strong> massa ( ) con<br />
Possiamo osservare che, in<strong>di</strong>pendentemente dalla ( ), risulta:<br />
( ) [∑ (∑ ( ) ) ] [∑ ∑ ] (6.3.15)<br />
si ha inoltre:
64 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
{ [∑ (∑ ( ) ) ]}<br />
( ) |<br />
|<br />
|<br />
∑ (∑ ( ) )<br />
| ∑<br />
[∑ ( ) ]<br />
|<br />
∑<br />
{( ) [∑ ( ) ]}<br />
|<br />
|<br />
∑ (∑ ))<br />
{<br />
{<br />
[∑ ( ) ]<br />
∑ ( ) ( ) ( )<br />
( )<br />
|<br />
∑ ( )<br />
} }<br />
∑<br />
( )<br />
∑ ( )<br />
(<br />
)<br />
∑ ( ) ∑ ∑ ( ) ∑ ∑ ( ) I( )<br />
(6.3.16)<br />
La precedente in sostanza <strong>di</strong>ce che la pendenza della ( ), valutata per<br />
e pensata come funzione della sola , è pari all’informazione mutua del canale<br />
connesso ad una sorgente che emette simboli <strong>di</strong>stribuiti secondo la . Per questo<br />
motivo abbiamo in<strong>di</strong>cato la suddetta informazione mutua come una ( ) che evidenzia<br />
la <strong>di</strong>pendenza dalla <strong>di</strong>stribuzione sotto il nostro controllo.<br />
Abbiamo già visto che ( ) . Se risulta ( ) allora la ( ) che,<br />
come abbiamo visto attraversa l’asse delle nell’origine, assume certamente valori<br />
positivi in un intorno destro <strong>di</strong> quest’ultima.<br />
Si può anche verificare che la ( ), se ( ) , è una funzione strettamente<br />
crescente e che la sua derivata seconda è non positiva per . Essa ha quin<strong>di</strong> la<br />
concavità rivolta verso il basso, salvo alcune eccezioni in cui la derivata seconda è<br />
nulla, ma tali casi non hanno interesse pratico.<br />
Il nostro scopo è quello <strong>di</strong> massimizzare la ( ) , consideriamo per il<br />
momento solo la <strong>di</strong>pendenza da , la derivata parziale rispetto a della funzione in<br />
parola vale:<br />
( )<br />
(6.3.17)
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale 65<br />
affinché si annulli deve risultare<br />
( )<br />
. Sappiamo che<br />
( )<br />
non è crescente<br />
poiché sua derivata è non positiva, pertanto la (6.3.17) non può annullarsi per<br />
se:<br />
( ) | (6.3.18)<br />
Ovvero se<br />
( ) | ( ) (6.3.19)<br />
per i valori <strong>di</strong><br />
che sod<strong>di</strong>sfano la (6.3.18) risulta,<br />
( )<br />
quin<strong>di</strong> ( )<br />
è strettamente crescente nell’intervallo<br />
nell’estremo destro dell’intervallo; avremo cioè:<br />
ed assume il suo massimo valore<br />
( ) ( )<br />
( ) | (6.3.20)<br />
per<br />
( ) | ( ) (6.3.21)<br />
la (6.3.17) si annulla certamente per un valore <strong>di</strong> appartenente all’intervallo che<br />
risolve l’equazione<br />
( )<br />
. Tale zero corrisponde certamente a un massimo come<br />
si constata facilmente analizzando il segno della (6.3.17). La (<br />
<strong>di</strong><br />
dato dalla (6.3.21) è implicitamente definita dalle:<br />
) nel range <strong>di</strong> valori<br />
( ) ( )<br />
( )<br />
( )<br />
(6.3.22)<br />
dalle quali si ottiene:<br />
{<br />
( )<br />
( ( )<br />
( ) ) ( ) ( ) ( )<br />
( )<br />
(6.3.23)<br />
che comporta:<br />
( )<br />
(<br />
( ) )<br />
( )<br />
(6.3.24)
66 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Nelle ultime due equazioni il secondo membro è una funzione <strong>di</strong> essendo la<br />
soluzione della seconda delle (6.3.22) che è unica in quanto nell’intervallo <strong>di</strong> interesse<br />
abbiamo visto che la<br />
( )<br />
è una funzione strettamente crescente <strong>di</strong> .<br />
Per i valori <strong>di</strong> ( ) la (6.3.17) assumerebbe valori negativi quin<strong>di</strong> la<br />
( ) sarebbe una funzione decrescente <strong>di</strong> quin<strong>di</strong> il suo massimo lo<br />
raggiungerebbe per , ma ( ) in<strong>di</strong>pendentemente da ne seguirebbe<br />
( ) e la (6.3.14) si rivelerebbe del tutto inutile.<br />
In conclusione la ( ) per valori <strong>di</strong> appartenenti all’intervallo<br />
[<br />
( )<br />
| ] è un tratto <strong>di</strong> retta parallela alla seconda bisettrice che tocca l’asse<br />
delle or<strong>di</strong>nate in ( ( )) alla quale si raccorda un tratto <strong>di</strong> curva con<br />
concavità rivolta verso l’alto che tocca l’asse delle ascisse in I( ), come si verifica<br />
facilmente valutando le (6.3.22) per . A questo punto non resta che massimizzare<br />
la ( ( )) rispetto alla ( ).<br />
La che massimizza la ( ) <strong>di</strong>pende dal canale che si sta utilizzando, e, per<br />
fissato canale può <strong>di</strong>pendere dal rate , in particolare esistono canali per cui la ( )<br />
è massimizzata da un'unica , canali per i quali esistono delle <strong>di</strong>stinte che<br />
massimizzano la funzione in parola in intervalli <strong>di</strong> <strong>di</strong>sgiunti e canali per cui la ( )<br />
che massimizza la ( ) varia con continuità con . In ogni caso il fatto che la<br />
( ) sia una funzione limitata convessa per I( ) , assicura che la<br />
massimizzazione desiderata è in pratica l’inviluppo superiore <strong>di</strong> tutte le ( ), si può<br />
<strong>di</strong>mostrare che detta funzione è anch’essa convessa, decrescente e non negativa per<br />
, dove I( ) è la capacità <strong>di</strong> canale e che in questo contesto assume<br />
un ruolo fondamentale.<br />
In sostanza abbiamo appena <strong>di</strong>mostrato il Teorema <strong>di</strong> Shannon sulla co<strong>di</strong>fica <strong>di</strong><br />
canale, che possiamo recitare come segue:<br />
Teorema 6.1<br />
Dato un qualsiasi canale <strong>di</strong>screto privo <strong>di</strong> memoria, esiste sempre un co<strong>di</strong>ce con un<br />
rate [ ], le cui parole sono costituite da simboli per il quale risulta:<br />
( ) (6.3.25)<br />
dove è la probabilità d’errore ottenuta tramite un ricevitore a massima<br />
verosimiglianza ed ( ) una funzione decrescente, convessa e maggiore <strong>di</strong> zero<br />
nell’intervallo .
Il Teorema <strong>di</strong> Shannon sulla Co<strong>di</strong>fica <strong>di</strong> Canale 67<br />
***********<br />
Il precedente teorema in pratica mostra che se aumentiamo mantenendo<br />
costante possiamo in<strong>di</strong>viduare co<strong>di</strong>ci con probabilità d’errore piccola a piacere purché<br />
risulti . È opportuno tuttavia osservare che al crescere <strong>di</strong> il numero <strong>di</strong> parole <strong>di</strong><br />
co<strong>di</strong>ce necessario per mantenere costante il rate cresce anch’esso, “purtroppo” con<br />
legge esponenziale, aumentando così, spesso a livelli improponibili, la complessità <strong>di</strong><br />
deco<strong>di</strong>fica. Da qui la necessità <strong>di</strong> in<strong>di</strong>viduare co<strong>di</strong>ci su spazi dotati <strong>di</strong> strutture<br />
algebriche molto ricche che permettano operazioni <strong>di</strong> co<strong>di</strong>fica e deco<strong>di</strong>fica semplici,<br />
malgrado l’elevato numero <strong>di</strong> parole che li costituiscono.<br />
Potrebbe sorgere una perplessità circa il risultato appena ottenuto, si potrebbe<br />
infatti sospettare che il bound ottenuto per la probabilità d’errore me<strong>di</strong>a del co<strong>di</strong>ce<br />
nasconda delle probabilità d’errore con<strong>di</strong>zionate all’emissione <strong>di</strong> una specifica parola<br />
del co<strong>di</strong>ce molto maggiore del bound relativo alla probabilità d’errore me<strong>di</strong>a.<br />
Per fugare questa legittima perplessità consideriamo uno spazio <strong>di</strong> <strong>di</strong>mensione ,<br />
o che è lo stesso un co<strong>di</strong>ce costituito da parole <strong>di</strong> simboli emessi consecutivamente<br />
da un co<strong>di</strong>ficatore <strong>di</strong> canale. Il teorema <strong>di</strong> Shannon ci garantisce che esiste almeno un<br />
set <strong>di</strong> parole tra le possibili scelte, che esibisce una probabilità d’errore<br />
me<strong>di</strong>a non maggiore <strong>di</strong>:<br />
( ( ) ) (6.3.26)<br />
Se assumiamo che le parole che costituiscono il co<strong>di</strong>ce abbiano uguale probabilità <strong>di</strong><br />
essere emesse, allora avremo:<br />
∑<br />
(6.3.27)<br />
Scartando gli M segnali cui corrispondono le probabilità d’errore più gran<strong>di</strong>, ci<br />
ren<strong>di</strong>amo conto che la probabilità d’errore associata ad uno qualsiasi dei segnali<br />
sopravvissuti non può essere maggiore <strong>di</strong><br />
( ( )) . Se così non fosse, almeno ad<br />
un termine dei sopravvissuti corrisponderebbe una<br />
( ( )) vi sarebbero<br />
quin<strong>di</strong> almeno<br />
segnali, quelli scartati più quello appena citato, con<br />
( ( )) e potremmo scrivere:<br />
( )<br />
( ( ) )<br />
( ( ) ) ( ( ) ) (6.3.28)<br />
contro l’ipotesi che il co<strong>di</strong>ce sod<strong>di</strong>sfa la (6.3.26).<br />
Per ogni<br />
del gruppo dei sopravvissuti potremo allora scrivere:
68 Capitolo - 6 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( ( ) )<br />
(<br />
( ( ( )<br />
( ( )<br />
( ) )<br />
) (<br />
( ) ( ( ) )<br />
)<br />
( ) ))<br />
( ( ) )<br />
(6.3.29)<br />
Abbiamo appena mostrato che esiste certamente un co<strong>di</strong>ce per il quale la peggiore delle<br />
probabilità d’errore con<strong>di</strong>zionata supera il bound sulla probabilità d’errore me<strong>di</strong>a per al<br />
più un fattore .
Capitolo - 7<br />
STRUTTURE ALGEBRICHE<br />
Al fine <strong>di</strong> introdurre il concetto <strong>di</strong> co<strong>di</strong>ce è opportuno ricordare alcune<br />
definizioni:<br />
7.1 - Gruppo<br />
Un insieme<br />
in<strong>di</strong>cheremo con<br />
non vuoto in cui si è definita una legge <strong>di</strong> composizione interna che<br />
è un gruppo rispetto a tale legge se valgono le seguenti proprietà:<br />
( ) ( )<br />
(7.1.1)<br />
Se la legge <strong>di</strong> composizione interna è anche commutativa<br />
commutativo o abeliano.<br />
è un gruppo<br />
7.2 - Anello<br />
Un insieme nel quale siano state in<strong>di</strong>viduate due leggi <strong>di</strong> composizione interna<br />
che chiameremo ad<strong>di</strong>zione e moltiplicazione è un anello se:<br />
- è un gruppo commutativo rispetto all’ad<strong>di</strong>zione;<br />
- la moltiplicazione gode della proprietà associativa;<br />
- vale la legge <strong>di</strong>stributiva della moltiplicazione rispetto all’ad<strong>di</strong>zione sia a destra che<br />
a sinistra.<br />
Se la moltiplicazione gode anche della proprietà commutativa <strong>di</strong>remo che è un<br />
anello commutativo, se esiste in l’elemento neutro per la moltiplicazione <strong>di</strong>remo che<br />
è un anello con identità.<br />
7.3 - Campo<br />
Un insieme che sia un anello commutativo con identità è anche un campo se<br />
privato dell’elemento neutro rispetto all’ad<strong>di</strong>zione è un gruppo commutativo rispetto<br />
alla moltiplicazione.<br />
L’insieme dei numeri razionali, l’insieme dei reali e l’insieme dei<br />
complessi sono campi. Si verifica facilmente che anche l’insieme , effettuando<br />
l’ad<strong>di</strong>zione senza riporto, cioè ponendo e con la usuale moltiplicazione in<br />
è un campo che in<strong>di</strong>cheremo con .<br />
7.4 - Spazio vettoriale<br />
Dato un gruppo abeliano ed un campo si <strong>di</strong>ce che è uno spazio vettoriale<br />
sul campo se si è in<strong>di</strong>viduata una legge <strong>di</strong> composizione esterna, detta prodotto per
70 Capitolo - 7 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
scalari, che associa ad ogni elemento <strong>di</strong> un elemento <strong>di</strong> e che comunque scelti<br />
e<br />
goda delle proprietà:<br />
( )<br />
( ) (7.4.1)<br />
dove e in<strong>di</strong>cano rispettivamente gli elementi neutri dell’ad<strong>di</strong>zione e della<br />
moltiplicazione del campo, quello del gruppo, che chiameremo anche origine dello<br />
spazio.
Capitolo - 8<br />
8.1 - Lo Spazio<br />
Fissato un naturale consideriamo l’insieme <strong>di</strong> tutte le -uple or<strong>di</strong>nate<br />
d’elementi <strong>di</strong> . Ci si rende conto facilmente che è un gruppo rispetto alla legge <strong>di</strong><br />
composizione interna che associa ad ogni coppia <strong>di</strong> elementi <strong>di</strong> quello ottenuto<br />
componendo termine a termine tramite l’ad<strong>di</strong>zione in gli elementi omologhi delle<br />
due -uple. Si constata che ogni -upla è l’opposta <strong>di</strong> se stessa e che l’elemento<br />
neutro del gruppo è la -upla identicamente nulla.<br />
è anche uno spazio vettoriale <strong>di</strong> <strong>di</strong>mensione sopra il campo , potremo<br />
quin<strong>di</strong> pensare gli elementi <strong>di</strong> come vettori riga con componenti che assumono<br />
valori in . In quel che segue in<strong>di</strong>cheremo gli elementi <strong>di</strong> con lettere corsive<br />
minuscole in grassetto e li chiameremo parole <strong>di</strong> , o semplicemente parole, le<br />
componenti della generica parola saranno chiamate bit (nel senso <strong>di</strong> Binary <strong>di</strong>gIT, non<br />
<strong>di</strong> Binary Informationn uniT).<br />
È opportuno tenere presente che:<br />
- è uno spazio metrico, possiamo infatti assumere come <strong>di</strong>stanza tra due parole <strong>di</strong><br />
la somma in delle somme in delle componenti omologhe;<br />
- è uno spazio normato potendosi assumere come norma del generico elemento <strong>di</strong><br />
la <strong>di</strong>stanza <strong>di</strong> detto elemento dall’origine <strong>di</strong> , cioè dalla parola identicamente<br />
nulla.<br />
In quel che segue in<strong>di</strong>cheremo l’ad<strong>di</strong>zione nel campo con .<br />
La <strong>di</strong>stanza sopra introdotta è detta <strong>di</strong>stanza <strong>di</strong> Hamming. Essa in pratica è<br />
espressa dal numero <strong>di</strong> bit corrispondenti <strong>di</strong>versi delle due parole; in formule:<br />
( ) ∑ (8.1.1)<br />
Che la <strong>di</strong>stanza <strong>di</strong> Hamming sia effettivamente una metrica si verifica facilmente,<br />
essa è non negativa ed è nulla se e solo se le parole sono uguali, inoltre si può<br />
facilmente verificare che vale la <strong>di</strong>suguaglianza triangolare, cioè che date tre parole<br />
<strong>di</strong><br />
risulta:<br />
( ) ( ) ( ) (8.1.2)<br />
per sincerarsene basta esplicitare la precedente:<br />
∑ ∑ ∑ (8.1.3)
72 Capitolo - 8 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
ed osservare che tutti gli adden<strong>di</strong> delle sommatorie che compaiono nella precedente<br />
sono non negativi, pertanto è sufficiente verificare che la (8.1.3) sia sod<strong>di</strong>sfatta<br />
addendo per addendo, fatto questo facilmente verificabile effettuando delle prove<br />
esaustive.<br />
La massima <strong>di</strong>stanza possibile tra due parole <strong>di</strong> vale e si ottiene in<br />
corrispondenza a coppie <strong>di</strong> parole che siano una la negata dell’altra, cioè ottenute<br />
mutando tutti i bit uno in zero e viceversa.<br />
La norma <strong>di</strong> un elemento <strong>di</strong> viene denominato peso della parola e coincide<br />
con il numero <strong>di</strong> bit uno presenti nella parola.<br />
La norma e la metrica appena introdotte sono tra loro coerenti, infatti la <strong>di</strong>stanza<br />
tra due elementi coincide con la norma della <strong>di</strong>fferenza tra <strong>di</strong> essi. Ricor<strong>di</strong>amo che in<br />
ad<strong>di</strong>zione e sottrazione coincidono, in quanto ogni elemento è l’opposto <strong>di</strong> se<br />
stesso.<br />
8.2 - Generalizzazione della <strong>di</strong>stanza <strong>di</strong> Hamming<br />
Dato un insieme <strong>di</strong> car<strong>di</strong>nalità consideriamo l’insieme A . Anche su detto<br />
insieme si può introdurre la <strong>di</strong>stanza <strong>di</strong> Hamming tra due suoi elementi, che anche in<br />
questo caso è espressa dal numero <strong>di</strong> simboli corrispondenti <strong>di</strong>versi tra loro. La<br />
<strong>di</strong>stanza tra due elementi <strong>di</strong> A è quin<strong>di</strong> al più .<br />
Si può verificare che la <strong>di</strong>stanza <strong>di</strong> Hamming è una metrica su A . Essa è non<br />
negativa, nulla se e solo se i due elementi sono lo stesso elemento, la verifica della<br />
vali<strong>di</strong>tà della <strong>di</strong>suguaglianza triangolare può essere effettuata analizzando tutti i casi<br />
possibili.<br />
Fissato un elemento <strong>di</strong> A ed un naturale esistono ( )( ) elementi<br />
<strong>di</strong> A a <strong>di</strong>stanza da . Potremmo <strong>di</strong>re che detti elementi giacciono sulla superficie <strong>di</strong><br />
una sfera <strong>di</strong> raggio centrata in . La sfera appena citata contiene esattamente<br />
∑ ( )( ) elementi. Il numero <strong>di</strong> tali elementi, per analogia, costituisce il “volume”<br />
<strong>di</strong> detta sfera.<br />
Qualora A fosse anche uno spazio vettoriale, tramite la <strong>di</strong>stanza <strong>di</strong> Hamming si<br />
potrebbe in<strong>di</strong>viduare un “peso” per ogni elemento <strong>di</strong> A espresso dalla <strong>di</strong>stanza<br />
dell’elemento dall’origine dello spazio, tale peso costituirebbe una possibile norma per<br />
A .
Capitolo - 9<br />
CODICI BINARI A BLOCCHI<br />
9.1 - Co<strong>di</strong>ficatore, Co<strong>di</strong>ce, Deco<strong>di</strong>ficatore<br />
Cominciamo con alcune definizioni:<br />
Definizione 9.1 - co<strong>di</strong>ficatore a blocchi<br />
Un co<strong>di</strong>ficatore binario a blocchi è un’applicazione da a , se è iniettiva il<br />
co<strong>di</strong>ficatore è non ambiguo.<br />
***********<br />
Definizione 9.2 - co<strong>di</strong>ce binario a blocchi<br />
Dato un co<strong>di</strong>ficatore da a chiameremo co<strong>di</strong>ce binario a blocchi l’insieme<br />
( ) . Gli elementi <strong>di</strong> sono denominati parole <strong>di</strong> co<strong>di</strong>ce.<br />
***********<br />
In altri termini per co<strong>di</strong>ce binario a blocchi intenderemo l’insieme delle parole <strong>di</strong><br />
che sono immagine secondo il co<strong>di</strong>ficatore <strong>di</strong> almeno un elemento <strong>di</strong> , uno<br />
solo se il co<strong>di</strong>ficatore è non ambiguo.<br />
In questo contesto la finalità <strong>di</strong> un co<strong>di</strong>ce è quella <strong>di</strong> combattere l’effetto dei<br />
<strong>di</strong>sturbi introdotti dal canale nel segnale ricevuto, tali <strong>di</strong>sturbi potrebbero infatti dar<br />
luogo ad errori nella ricezione. Compito del sistema <strong>di</strong> co<strong>di</strong>fica è ridurre la frequenza <strong>di</strong><br />
tali errori seguendo una delle seguenti strategie:<br />
- in<strong>di</strong>viduare e segnalare gli errori che si verificano con maggiore probabilità; ciò è<br />
utile qualora sia <strong>di</strong>sponibile un canale <strong>di</strong> ritorno, non sia necessario trasmettere in<br />
tempo reale e sia quin<strong>di</strong> possibile la ritrasmissione del messaggio senza<br />
pregiu<strong>di</strong>care la qualità del servizio, In questo caso si parla <strong>di</strong> tecniche <strong>di</strong> tipo ARQ<br />
(Automatic Repeat-reQuest);<br />
- tentare , qualora la ritrasmissione non sia possibile, <strong>di</strong> correggere gli errori che più<br />
verosimilmente sono presenti nella parola ricevuta in questo caso si fa riferimento a<br />
strategie <strong>di</strong> tipo FEC (Forward Error Correction).<br />
In alcuni casi sono previste entrambe le strategie, cioè alcuni errori vengono rivelati e<br />
corretti, altri semplicemente segnalati.<br />
In quel che segue ci occuperemo principalmente <strong>di</strong> sistemi <strong>di</strong> co<strong>di</strong>fica finalizzati alla<br />
FEC. La funzione <strong>di</strong> correzione sopra citata è affidata a un’applicazione D che<br />
chiameremo deco<strong>di</strong>ficatore.
74 Capitolo - 9 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Definizione 9.3 - deco<strong>di</strong>ficatore<br />
Dato un co<strong>di</strong>ce binario a blocchi , il deco<strong>di</strong>ficatore è un’applicazione<br />
che sulla base <strong>di</strong> un criterio prefissato, ha il compito <strong>di</strong> associare ad ogni elemento <strong>di</strong><br />
che si presenti all’uscita del canale l’elemento <strong>di</strong> che verosimilmente era stato<br />
immesso nel co<strong>di</strong>ficatore posto all’ingresso del canale stesso.<br />
***********<br />
Quanto appena detto rende chiaro che più che <strong>di</strong> co<strong>di</strong>ci bisognerebbe parlare <strong>di</strong><br />
sistemi <strong>di</strong> co<strong>di</strong>fica-deco<strong>di</strong>fica, sia perché uno stesso co<strong>di</strong>ce (in quanto sottoinsieme<br />
<strong>di</strong> ) potrebbe essere ottenuto con co<strong>di</strong>ficatori <strong>di</strong>versi, sia perché potrebbe essere<br />
deco<strong>di</strong>ficato con deco<strong>di</strong>ficatori basati su criteri <strong>di</strong>versi.<br />
Nella pratica in effetti quando si parla <strong>di</strong> co<strong>di</strong>ce ci si riferisce in<strong>di</strong>fferentemente,<br />
capiterà anche noi, sia a che a , lasciando al contesto l’onere <strong>di</strong> rendere chiaro al<br />
lettore a cosa si stia effettivamente facendo riferimento.<br />
Appare in conclusione chiaro che un sistema <strong>di</strong> co<strong>di</strong>fica è in realtà completamente<br />
definito solo dalla terna .<br />
La capacità <strong>di</strong> correzione <strong>di</strong> un co<strong>di</strong>ce è in pratica affidata alla ridondanza più o<br />
meno oculatamente introdotta dal co<strong>di</strong>ficatore, ne <strong>di</strong>scende che <strong>di</strong> regola e che il<br />
co<strong>di</strong>ficatore è un’applicazione iniettiva.<br />
Altrettanto evidente è che, se il co<strong>di</strong>ce è non ambiguo, il criterio adottato per la<br />
scelta del deco<strong>di</strong>ficatore deve necessariamente essere tale che la restrizione <strong>di</strong> a<br />
coincida con l’applicazione inversa della restrizione <strong>di</strong> a .<br />
9.2 - Utilità della co<strong>di</strong>fica <strong>di</strong> canale<br />
La scelta del co<strong>di</strong>ce, e quella del deco<strong>di</strong>ficatore possono avere un considerevole<br />
impatto sulle prestazioni del sistema <strong>di</strong> trasmissione in termini <strong>di</strong> probabilità d’errore e<br />
<strong>di</strong> complessità del sistema.<br />
Va anche sottolineato che, per fissato co<strong>di</strong>ce, possono essere in<strong>di</strong>viduati <strong>di</strong>versi<br />
deco<strong>di</strong>ficatori. Per taluni sistemi può essere più qualificante ottimizzare la probabilità<br />
d’errore sul singolo bit informativo, per altri quella sul simbolo trasmesso, nella scelta<br />
del deco<strong>di</strong>ficatore se ne dovrebbe tener conto. Un altro elemento da considerare nella<br />
scelta del sistema <strong>di</strong> co<strong>di</strong>fica è il tipo <strong>di</strong> canale, che può essere il classico AWGN, un<br />
canale dotato <strong>di</strong> memoria, con conseguente presenza d’interferenza intersimbolica, o un<br />
canale che introduce <strong>di</strong>sturbi <strong>di</strong> tipo burst, cioè <strong>di</strong>sturbi che seppur <strong>di</strong> breve durata<br />
tendono a coinvolgere più simboli consecutivi.
Co<strong>di</strong>ci Binari a Blocchi 75<br />
Non si può nemmeno trascurare tra i parametri da tenere in considerazione la<br />
complessità della deco<strong>di</strong>fica. Scegliere ad esempio un algoritmo <strong>di</strong> deco<strong>di</strong>fica subottimo,<br />
comporta in genere un degrado delle prestazioni, detto degrado, però, potrebbe<br />
essere ampiamente ripagato da una significativa riduzione della complessità e quin<strong>di</strong><br />
dei costi, ovvero potrebbe essere una scelta obbligata da limiti tecnologici contingenti.<br />
In particolare per il momento faremo riferimento a un sistema che trasmette su un<br />
BSC (Binary Symmetric Channel) privo <strong>di</strong> memoria. I simboli che costituiscono la<br />
generica parola <strong>di</strong> co<strong>di</strong>ce vengono quin<strong>di</strong> inviati in<strong>di</strong>pendentemente sul canale e<br />
ciascuno <strong>di</strong> essi avrà una probabilità<br />
<strong>di</strong> essere rivelato in modo errato, pertanto in<br />
uscita al canale avremo un elemento <strong>di</strong> che non è certo corrisponda all’elemento<br />
inviato.<br />
La probabilità <strong>di</strong> ricevere una parola <strong>di</strong> correttamente sarà data da (<br />
) ad esempio con e avremo conseguentemente la<br />
probabilità <strong>di</strong> ricevere una parola non corretta vale<br />
, tale probabilità è in<br />
realtà scomponibile nella somma <strong>di</strong> tante probabilità d’eventi <strong>di</strong>sgiunti, precisamente<br />
eventi del tipo: “nella parola ricevuta sono presenti esattamente errori”.<br />
La probabilità che la parola ricevuta non sia corretta si può quin<strong>di</strong> anche scrivere nella<br />
forma:<br />
∑ ( ) ( ) (9.2.1)<br />
dove il - esimo addendo esprime la probabilità che nella parola ricevuta siano presenti<br />
esattamente t errori. La probabilità che la parola contenga almeno due errori si può<br />
pertanto scrivere anche nella forma:<br />
∑ ( ) ( ) (9.2.2)<br />
nel nostro esempio tale probabilità si ridurrebbe a .<br />
Quanto detto mostra come il contributo alla probabilità dell’errore singolo sia <strong>di</strong><br />
fatto dominante essendo gli adden<strong>di</strong> della (9.2.1) rapidamente decrescenti al crescere <strong>di</strong><br />
1 .<br />
Disporre <strong>di</strong> un co<strong>di</strong>ce in grado <strong>di</strong> correggere anche un numero limitato <strong>di</strong> errori<br />
in una parola ricevuta sembrerebbe pertanto essere una scelta quasi obbligata, in realtà<br />
bisogna anche tener presente che le capacità correttive <strong>di</strong> un co<strong>di</strong>ce comportano<br />
1 Per verificarlo è sufficiente esprimere ( ) nella forma ( ⁄ ) ( ) ed osservare che se<br />
risulta ( ) , pertanto ( ) è una funzione decrescente <strong>di</strong> t .
76 Capitolo - 9 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
l’introduzione <strong>di</strong> una ridondanza cioè l’introduzione <strong>di</strong> bit non destinati a trasportare<br />
informazione, ciò, a parità <strong>di</strong> tempo destinato all’invio <strong>di</strong> una parola, comporta un<br />
aumento della banda, a meno <strong>di</strong> non voler rallentare il flusso informativo.<br />
Bisogna anche considerare che il confronto tra assenza e presenza <strong>di</strong> co<strong>di</strong>ce<br />
andrebbe fatto a parità d’energia associata al bit informativo, cioè tenendo conto che<br />
parte dell’energia dei bit <strong>di</strong> informazione non co<strong>di</strong>ficati, in presenza <strong>di</strong> un co<strong>di</strong>ce, deve<br />
essere de<strong>di</strong>cata ai bit <strong>di</strong> ridondanza, in quanto, a parità <strong>di</strong> densità spettrale <strong>di</strong> potenza<br />
del rumore, la sul bit cresce al <strong>di</strong>minuire della energia ad esso associata, il calcolo<br />
della (9.2.2) andrebbe quin<strong>di</strong> effettuato introducendo un valore <strong>di</strong> che tiene conto <strong>di</strong><br />
ciò.<br />
Malgrado le considerazioni appena fatte, fin quando è accettabile l’aumento della<br />
banda, l’introduzione <strong>di</strong> un co<strong>di</strong>ce a correzione d’errore è comunque vantaggiosa<br />
rispetto alla trasmissione non co<strong>di</strong>ficata.<br />
9.3 - La deco<strong>di</strong>fica a massima verosimiglianza<br />
In quel che segue ci riferiremo a canali BSC ed adotteremo la tecnica <strong>di</strong><br />
deco<strong>di</strong>fica a massima verosimiglianza (MV), che, com’è noto, equivale alla maximum<br />
a posteriori probability (MAP) nel caso in cui i bit informativi trasmessi siano<br />
equiprobabili. Osserviamo che in questo caso lo sono anche tutte le parole <strong>di</strong> e<br />
conseguentemente, in virtù dell’iniettività del co<strong>di</strong>ficatore , lo saranno anche tutte le<br />
parole del co<strong>di</strong>ce . Sotto quest’ipotesi, in<strong>di</strong>cando con la generica parola <strong>di</strong> co<strong>di</strong>ce,<br />
con la parola ricevuta e con ̂ la parola <strong>di</strong> co<strong>di</strong>ce a scelta dal deco<strong>di</strong>ficatore, la<br />
regola <strong>di</strong> decisione sarà:<br />
Regola <strong>di</strong> decisione a Massima Verosimiglianza<br />
Scegli la parola <strong>di</strong> co<strong>di</strong>ce ̂ per la quale è massima la probabilità <strong>di</strong> ricevere , atteso<br />
che ̂ sia la parola trasmessa, in simboli:<br />
̂ ( ( )) (9.3.1)<br />
Qualora il massimo non dovesse essere unico, scegli a caso, tra le parole <strong>di</strong> co<strong>di</strong>ce che<br />
lo raggiungono.<br />
***********<br />
Nella precedente e rappresentano VV.AA. multi<strong>di</strong>mensionali che assumono<br />
rispettivamente valori in ed in .<br />
Considerato che nel nostro caso risulta:<br />
( ) ( ) ( ) ( ) ( ) (9.3.2)
Co<strong>di</strong>ci Binari a Blocchi 77<br />
dove rappresenta il numero <strong>di</strong> bit in cui <strong>di</strong>fferisce da Se il massimo della<br />
(9.3.2) si raggiunge per tutti i valori <strong>di</strong> che rendono minimo. qualora ciò avvenisse<br />
in corrispondenza ad un'unica parola <strong>di</strong> co<strong>di</strong>ce, si sceglierebbe quella, se dovessero<br />
esservi più parole per le quali ciò avviene il deco<strong>di</strong>ficatore o in armonia con la regola<br />
MV sceglie a caso, o può limitarsi a segnalare la presenza d’errori nella parola ricevuta.<br />
Va da se che l’ultima opzione è praticabile solo se si <strong>di</strong>spone <strong>di</strong> un canale <strong>di</strong> ritorno e<br />
se la trasmissione non deve avvenire necessariamente in tempo reale.<br />
Osserviamo che , è la <strong>di</strong>stanza <strong>di</strong> Hamming tra e , quin<strong>di</strong> il criterio <strong>di</strong><br />
decisione a massima verosimiglianza su canale BSC consiste in pratica nello scegliere a<br />
caso, tra le parole <strong>di</strong> co<strong>di</strong>ce a minima <strong>di</strong>stanza <strong>di</strong> Hamming dalla parola ricevuta.<br />
9.4 - Definizioni e teoremi sui co<strong>di</strong>ci rivelatori e correttori<br />
Supponiamo che il trasmettitore invii una parola e che per effetto dei <strong>di</strong>sturbi<br />
venga ricevuta una parola <strong>di</strong>versa da . È imme<strong>di</strong>ato constatare che esiste certamente<br />
che ci permette <strong>di</strong> scrivere . Chiameremo evento o pattern d’errore.<br />
Definizione 9.4<br />
Un pattern <strong>di</strong> errore<br />
è rilevabile se risulta:<br />
essendo il complementare <strong>di</strong> rispetto a .<br />
Viceversa <strong>di</strong>remo che non è rilevabile se:<br />
***********<br />
(9.4.1)<br />
(9.4.2)<br />
Ad ogni pattern d’errore corrisponde un peso. Esistono ( ) eventi d’errore <strong>di</strong><br />
peso Osserviamo che le posizioni dei bit uno nel pattern d’errore identificano i bit<br />
errati nella parola ricevuta.<br />
Si <strong>di</strong>ce che un co<strong>di</strong>ce è in grado <strong>di</strong> rivelare errori se rivela tutti i pattern <strong>di</strong><br />
errore <strong>di</strong> peso in<strong>di</strong>pendentemente dalla parola <strong>di</strong> co<strong>di</strong>ce trasmessa.<br />
Definizione 9.5<br />
Siano e due parole <strong>di</strong> . Si definisce <strong>di</strong>stanza minima ( ) <strong>di</strong> un co<strong>di</strong>ce:<br />
( ( ) ( )) (9.4.3)<br />
***********
78 Capitolo - 9 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Teorema 9.1<br />
Con<strong>di</strong>zione necessaria e sufficiente affinché un co<strong>di</strong>ce sia in grado <strong>di</strong> rivelare tutti i<br />
pattern d’errore <strong>di</strong> peso non superiore a è che risulti .<br />
Dimostrazione:<br />
Necessarietà:<br />
Se il co<strong>di</strong>ce è in grado <strong>di</strong> rivelare tutti gli errori <strong>di</strong> peso non superiore a , allora,<br />
comunque scelta una parola <strong>di</strong> co<strong>di</strong>ce c ed un pattern d’errore e <strong>di</strong> peso<br />
, la<br />
parola<br />
non può essere una parola <strong>di</strong> co<strong>di</strong>ce. Ammettiamo per assurdo che<br />
( ) .<br />
esisterebbero allora almeno due parole <strong>di</strong> co<strong>di</strong>ce, siano e , tali che<br />
Consideriamo il pattern d’errore<br />
esisterebbe quin<strong>di</strong> un evento d’errore <strong>di</strong> peso<br />
, risulta:<br />
(9.4.4)<br />
che non può essere rivelato in quanto<br />
composto con una parola <strong>di</strong> co<strong>di</strong>ce genera un’altra parola <strong>di</strong> co<strong>di</strong>ce.<br />
Sufficienza:<br />
Se e viene ricevuta la parola , con risulta:<br />
( ) ( ) (9.4.5)<br />
la (9.4.5) implica che non può essere una parola del co<strong>di</strong>ce poiché ,<br />
l’errore viene pertanto rilevato.<br />
***********<br />
Definizione 9.6<br />
Diciamo che un deco<strong>di</strong>ficatore<br />
è in grado <strong>di</strong> correggere un pattern d’errore e se,<br />
quale che sia la parola <strong>di</strong> co<strong>di</strong>ce c , risulta:<br />
( ) ( ) (9.4.6)<br />
Diciamo che un deco<strong>di</strong>ficatore è in grado <strong>di</strong> correggere errori <strong>di</strong> peso se la<br />
precedente è vera per ogni pattern d’errore <strong>di</strong> peso .<br />
Teorema 9.2<br />
***********<br />
Con<strong>di</strong>zione necessaria affinché un deco<strong>di</strong>ficatore MV sia in grado <strong>di</strong> correggere tutti i<br />
pattern d’errore <strong>di</strong> peso non superiore a , è che il co<strong>di</strong>ce abbia una .<br />
Dimostrazione:<br />
Supponiamo, per assurdo, che esista un co<strong>di</strong>ce in grado <strong>di</strong> correggere tutti gli<br />
errori <strong>di</strong> peso non superiore a con<br />
. Per detto co<strong>di</strong>ce esisterà quin<strong>di</strong>
Co<strong>di</strong>ci Binari a Blocchi 79<br />
almeno una coppia <strong>di</strong> parole <strong>di</strong> co<strong>di</strong>ce, c e<br />
c ' , la cui <strong>di</strong>stanza è<br />
. Esistono<br />
certamente due pattern d’errore, siano ed , entrambi <strong>di</strong> peso non maggiore <strong>di</strong> , tali<br />
che<br />
(9.4.7)<br />
Nel caso in cui potremo scegliere un pattern d’errore tale che ed<br />
un tale che che sod<strong>di</strong>sfino la precedente.<br />
Supponiamo adesso che venga ricevuta la parola<br />
, la sua <strong>di</strong>stanza da<br />
vale<br />
quella da vale:<br />
( ) ( ) (9.4.8)<br />
pertanto il deco<strong>di</strong>ficatore a massima verosimiglianza decide per , o per una qualsiasi<br />
altra parola <strong>di</strong> co<strong>di</strong>ce che <strong>di</strong>sti non più <strong>di</strong> da .<br />
Se potremo scegliere due pattern d’errore ed entrambi <strong>di</strong> peso che<br />
sod<strong>di</strong>sfano la (9.4.7). Supponiamo ancora una volta che venga ricevuta la parola ,<br />
la sua <strong>di</strong>stanza da<br />
sceglie a caso tra<br />
vale come pure la sua <strong>di</strong>stanza da c pertanto, o il deco<strong>di</strong>ficatore<br />
e , ovvero decide a favore <strong>di</strong> un’altra parola <strong>di</strong> co<strong>di</strong>ce che <strong>di</strong>sti da<br />
, meno <strong>di</strong> .<br />
***********<br />
Teorema 9.3<br />
Un deco<strong>di</strong>ficatore MV è in grado <strong>di</strong> correggere tutti i pattern d’errore <strong>di</strong> peso non<br />
superiore a .<br />
Dimostrazione:<br />
Supponiamo che il canale mo<strong>di</strong>fichi una parola <strong>di</strong> co<strong>di</strong>ce c aggiungendovi un<br />
pattern d’errore <strong>di</strong> peso non superiore a . All’ingresso del deco<strong>di</strong>ficatore si presenta<br />
quin<strong>di</strong> la parola . Quale che sia risulta , in quanto , poiché<br />
<strong>di</strong>sta da meno <strong>di</strong><br />
, inoltre:<br />
( ) (9.4.9)<br />
osserviamo che il peso <strong>di</strong><br />
e quello del pattern d’errore è non superiore a<br />
, pertanto, , ( ) , mentre ( ) , quin<strong>di</strong> il deco<strong>di</strong>ficatore MV<br />
in corrispondenza a restituirà ( ) ( ), l’errore verrà quin<strong>di</strong> corretto.<br />
***********
Capitolo - 10<br />
CODICI LINEARI A BLOCCHI<br />
10.1 - Premessa<br />
Abbiamo visto che un co<strong>di</strong>ce a blocco è sostanzialmente un’applicazione<br />
iniettiva tra e con gli bit aggiunti consentono in pratica <strong>di</strong><br />
migliorare le prestazioni del sistema introducendo un’opportuna ridondanza ai bit<br />
informativi.<br />
Osserviamo che al crescere <strong>di</strong> cresce, con legge esponenziale, il numero delle<br />
parole <strong>di</strong> co<strong>di</strong>ce. Ci si rende conto che in queste con<strong>di</strong>zioni la tecnica <strong>di</strong> deco<strong>di</strong>fica,<br />
consistente in una ricerca esaustiva su una tabella (in pratica un banco <strong>di</strong> memoria) che<br />
associa ad ogni possibile elemento <strong>di</strong> l’elemento <strong>di</strong> che più “verosimilmente” è<br />
stato trasmesso <strong>di</strong>venta in breve impraticabile a causa delle eccessive <strong>di</strong>mensioni della<br />
succitata tabella, ovvero perché si preferisce utilizzare la memoria del sistema per altri<br />
scopi.<br />
Queste considerazioni inducono alla progettazione <strong>di</strong> co<strong>di</strong>ci che permettano <strong>di</strong><br />
adottare delle tecniche <strong>di</strong> deco<strong>di</strong>fica <strong>di</strong> tipo algoritmico, o che quantomeno limitino la<br />
quantità <strong>di</strong> memoria necessaria per effettuare la ricerca sopra citata.<br />
Tale risultato può essere ottenuto ad esempio se si progetta un co<strong>di</strong>ce in modo da<br />
in<strong>di</strong>viduare nel sottoinsieme una qualche struttura algebrica. Tanto più ricca sarà tale<br />
struttura, tanto maggiore sarà la possibilità <strong>di</strong> in<strong>di</strong>viduare algoritmi <strong>di</strong> deco<strong>di</strong>fica<br />
efficienti.<br />
10.2 - Morfismi<br />
È utile introdurre alcune definizioni<br />
Definizione 10.1 - omomorfismo<br />
Un omomorfismo è un’applicazione avente come dominio un gruppo e come<br />
codominio un gruppo tale che<br />
( ) ( ) ( ) (10.2.1)<br />
***********<br />
Nella precedente il segno<br />
gruppo in cui si opera.<br />
in<strong>di</strong>ca la legge <strong>di</strong> composizione interna relativa al
82 Capitolo - 10 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Definizione 10.2 - monomorfismo<br />
Un monomorfismo è un omomorfismo iniettivo.<br />
***********<br />
Definizione 10.3 - isomorfismo<br />
Un monomorfismo suriettivo è un isomorfismo.<br />
***********<br />
Si può <strong>di</strong>mostrare che l’insieme immagine del dominio <strong>di</strong> un omomorfismo<br />
( ) è un sottogruppo del gruppo d’arrivo. Per sottogruppo s’intende un<br />
sottoinsieme <strong>di</strong> un gruppo che ha la struttura <strong>di</strong> gruppo rispetto alla stessa legge <strong>di</strong><br />
composizione interna del gruppo in cui è contenuto.<br />
10.3 - Schema <strong>di</strong> principio <strong>di</strong> un co<strong>di</strong>ce lineare a blocco<br />
Un’importante classe <strong>di</strong> co<strong>di</strong>ci a blocco è quella dei co<strong>di</strong>ci lineari. Un<br />
Fig.E 10.1 Schema <strong>di</strong> principio <strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> Hamming 15,11<br />
co<strong>di</strong>ficatore lineare è concettualmente costituito da (ve<strong>di</strong> Fig.E 10.1) un registro<br />
d’ingresso dotato <strong>di</strong> celle, da un banco <strong>di</strong> sommatori ciascuno dei quali con un<br />
numero <strong>di</strong> ingressi compreso tra e e da un registro <strong>di</strong> uscita costituito da celle<br />
connesse alle uscite dei sommatori corrispondenti. Questi ultimi, nel caso dei co<strong>di</strong>ci<br />
binari, effettuano le somme in . Conveniamo che un sommatore con un solo ingresso<br />
equivale ad una connessione <strong>di</strong>retta tra la cella d’ingresso e quella <strong>di</strong> uscita<br />
corrispondente al sommatore.<br />
I registri sopra citati possono essere in pratica registri a scorrimento (shift<br />
register), in questo caso la sorgente emette una sequenza <strong>di</strong> bit, non appena il registro<br />
d’ingresso è carico, cioè dopo perio<strong>di</strong> del suo clock, l’uscita dei sommatori, che<br />
potrebbero essere realizzati con delle porte logiche <strong>di</strong> tipo XOR, viene utilizzata per<br />
settare le celle del registro <strong>di</strong> uscita che verrà quin<strong>di</strong> completamente scaricato nel<br />
tempo necessario a ricaricare con i successivi bit il registro <strong>di</strong> ingresso.
Co<strong>di</strong>ci Lineari a Blocchi 83<br />
In sostanza, se e in<strong>di</strong>cano rispettivamente i perio<strong>di</strong> <strong>di</strong> clock del<br />
registro d’ingresso e <strong>di</strong> quello d’uscita, deve risultare .<br />
10.4 - Matrice generatrice del co<strong>di</strong>ce<br />
I co<strong>di</strong>ci lineari a blocco sono anche chiamati co<strong>di</strong>ci a controllo <strong>di</strong> parità (parity<br />
check code) in quanto il generico elemento del registro d’uscita, vale uno ogniqualvolta<br />
la somma in senso or<strong>di</strong>nario dei valori delle celle <strong>di</strong> ingresso a cui è connesso è un<br />
numero <strong>di</strong>spari e vale zero altrimenti.<br />
Se in<strong>di</strong>chiamo con una parola <strong>di</strong> e con ( ) la corrispondente parola <strong>di</strong><br />
forma:<br />
in uscita dal co<strong>di</strong>ficatore, l’<br />
esimo bit della parola d’uscita può esprimersi nella<br />
(10.4.1)<br />
dove il generico è un coefficiente che vale se un ingresso del -esimo sommatore<br />
è connesso alla -esima cella del registro <strong>di</strong> ingresso e vale<br />
altrimenti.<br />
Ricor<strong>di</strong>amoci che tutte le operazioni delle (10.4.1) sono effettuate secondo le<br />
regole del campo .<br />
Un co<strong>di</strong>ce definito tramite le (10.4.1) si <strong>di</strong>ce lineare in quanto, come si verifica<br />
facilmente, la parola <strong>di</strong> co<strong>di</strong>ce ottenuta in corrispondenza alla somma <strong>di</strong> due qualsiasi<br />
parole <strong>di</strong> è la somma in delle rispettive parole <strong>di</strong> co<strong>di</strong>ce.<br />
e sono gruppi, ed un co<strong>di</strong>ficatore lineare è un omomorfismo, ovviamente,<br />
è auspicabile che sia anche un monomorfismo, onde evitare che a due parole <strong>di</strong>stinte <strong>di</strong><br />
corrisponda la stessa parola <strong>di</strong> co<strong>di</strong>ce in .<br />
Il co<strong>di</strong>ce è pertanto un sottogruppo <strong>di</strong> .<br />
Se pensiamo e come vettori riga le (10.4.1) si possono rappresentare sotto<br />
forma matriciale:<br />
(10.4.2)<br />
dove è una matrice il cui generico elemento è . è detta matrice<br />
generatrice del co<strong>di</strong>ce.<br />
Si osservi che le righe della matrice , sono le parole <strong>di</strong> co<strong>di</strong>ce che vengono<br />
generate in corrispondenza agli elementi che costituiscono la base canonica <strong>di</strong><br />
. Ci si<br />
convince anche abbastanza facilmente del fatto che le righe <strong>di</strong> generano me<strong>di</strong>ante<br />
tutte le loro possibili combinazioni lineari , che oltre ad essere un sottogruppo <strong>di</strong><br />
ne è anche un sottospazio. Ovviamente affinché il co<strong>di</strong>ce non sia ambiguo<br />
essere un monomorfismo.<br />
deve
84 Capitolo - 10 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Una con<strong>di</strong>zione necessaria e sufficiente affinché<br />
righe della sua matrice generatrice siano linearmente in<strong>di</strong>pendenti.<br />
10.5 - Distribuzione dei pesi <strong>di</strong> un co<strong>di</strong>ce lineare a blocco<br />
sia un monomorfismo è che le<br />
Abbiamo detto che la somma <strong>di</strong> due parole <strong>di</strong> un co<strong>di</strong>ce lineare è una parola <strong>di</strong><br />
co<strong>di</strong>ce, ciò comporta che la parola identicamente nulla in un co<strong>di</strong>ce lineare è sempre<br />
una parola <strong>di</strong> co<strong>di</strong>ce, in quanto ottenibile sommando ad una qualunque parola del<br />
co<strong>di</strong>ce se stessa, in<strong>di</strong>cando con<br />
avremo:<br />
la parola identicamente nulla per un co<strong>di</strong>ce lineare<br />
( ) ( ) (10.5.1)<br />
ma, per fissato , al variare <strong>di</strong> in si ottengono tutte le parole <strong>di</strong> co<strong>di</strong>ce, in sostanza<br />
fissata una <strong>di</strong>stanza <strong>di</strong> Hamming ogni parola <strong>di</strong> un co<strong>di</strong>ce lineare vedrà lo stesso<br />
numero <strong>di</strong> parole <strong>di</strong> co<strong>di</strong>ce a quella <strong>di</strong>stanza. Tale proprietà si rivela utile ad esempio<br />
nel calcolo della probabilità d’errore in quanto la probabilità d’errore con<strong>di</strong>zionata<br />
all’invio <strong>di</strong> una parola <strong>di</strong> co<strong>di</strong>ce non <strong>di</strong>pende dalla particolare parola inviata, ed è<br />
quin<strong>di</strong> uguale alla probabilità d’errore non con<strong>di</strong>zionata.<br />
Dalla (10.5.1) si deduce inoltre facilmente che per calcolare la <strong>di</strong>stanza minima<br />
del co<strong>di</strong>ce è sufficiente in<strong>di</strong>viduare la parola non nulla <strong>di</strong> peso minimo, che è<br />
evidentemente la parola a minima <strong>di</strong>stanza <strong>di</strong> Hamming dalla parola nulla, ovviamente<br />
non è detto che tale parola sia unica.<br />
co<strong>di</strong>ce.<br />
La (10.5.1) ci suggerisce <strong>di</strong> introdurre la cosiddetta <strong>di</strong>stribuzione dei pesi del<br />
Definizione 10.4<br />
Dato un co<strong>di</strong>ce lineare<br />
per <strong>di</strong>stribuzione dei pesi s’intende una applicazione<br />
( ), definita sull’insieme dei naturali non maggiori <strong>di</strong> , a valori in ; che associa<br />
ad ogni elemento del suo dominio il numero <strong>di</strong> parole <strong>di</strong> co<strong>di</strong>ce che hanno peso pari ad<br />
esso.<br />
***********<br />
È facile intuire che le prestazioni <strong>di</strong> un co<strong>di</strong>ce sono in prima istanza influenzate<br />
dalla sua <strong>di</strong>stanza minima, che coincide con il più piccolo elemento non nullo del<br />
dominio <strong>di</strong><br />
dalla<br />
( ) cui corrisponde un’immagine <strong>di</strong>versa da zero, ma <strong>di</strong>pendono anche<br />
( ) nel suo insieme.
Co<strong>di</strong>ci Lineari a Blocchi 85<br />
10.6 - Capacità <strong>di</strong> rivelazione <strong>di</strong> un co<strong>di</strong>ce lineare a blocco<br />
Per la capacità <strong>di</strong> rivelazione <strong>di</strong> un co<strong>di</strong>ce lineare a blocco vale il seguente<br />
teorema:<br />
Teorema 10.1<br />
Un deco<strong>di</strong>ficatore a massima verosimiglianza per un co<strong>di</strong>ce lineare non è in grado <strong>di</strong><br />
rivelare tutti e soli gli eventi d’errore che coincidono con una parola <strong>di</strong> co<strong>di</strong>ce.<br />
Dimostrazione:<br />
Se il canale fa sì che ad una parola <strong>di</strong> co<strong>di</strong>ce venga aggiunto un pattern d’errore<br />
che coincide con una parola <strong>di</strong> co<strong>di</strong>ce in ingresso al deco<strong>di</strong>ficatore si presenterà la<br />
parola , ma il co<strong>di</strong>ce è lineare quin<strong>di</strong> è una parola <strong>di</strong> co<strong>di</strong>ce pertanto<br />
l’errore non sarà rivelato.<br />
Viceversa se un pattern d’errore non viene rivelato, allora deve esistere una<br />
parola <strong>di</strong> co<strong>di</strong>ce tale che essendo è la parola trasmessa. L’eguaglianza<br />
appena scritta comporta:<br />
pertanto<br />
è una parola <strong>di</strong> co<strong>di</strong>ce.<br />
(10.6.1)<br />
***********<br />
10.7 - Probabilità <strong>di</strong> non rivelazione d’errore <strong>di</strong> un co<strong>di</strong>ce lineare<br />
Ci proponiamo <strong>di</strong> calcolare la probabilità che un co<strong>di</strong>ce lineare, impiegato per la<br />
sola rivelazione d’errore, non ne riveli la presenza nella parola ricevuta, sotto l’ipotesi<br />
che il co<strong>di</strong>ce venga utilizzato su un canale BSC e che il deco<strong>di</strong>ficatore sia del tipo MV.<br />
Sappiamo che (ve<strong>di</strong> Teorema 10.1) gli unici pattern d’errore non rivelati sono<br />
quelli che coincidono con una parola <strong>di</strong> co<strong>di</strong>ce. Osserviamo che la probabilità che si<br />
presenti un dato pattern d’errore ̂ <strong>di</strong>pende esclusivamente dal suo peso e vale in<br />
particolare:<br />
̂ ( ) (10.7.1)<br />
Tra tutti gli ( ) possibili pattern d’errore <strong>di</strong> peso non verranno rivelati soltanto quelli<br />
che coincidono con una parola <strong>di</strong> co<strong>di</strong>ce, cioè tanti quante sono le parole <strong>di</strong> co<strong>di</strong>ce <strong>di</strong><br />
quel peso. Poiché i pattern d’errore sono tra loro in<strong>di</strong>pendenti, la probabilità ( )<br />
che un errore non venga rivelato dal co<strong>di</strong>ce vale:<br />
( ) ∑ ( ) ( ) (10.7.2)
86 Capitolo - 10 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
La precedente presuppone la conoscenza della <strong>di</strong>stribuzione dei pesi, purtroppo<br />
detta funzione non è nota per molti dei co<strong>di</strong>ci d’uso comune, in questo caso può essere<br />
utile una maggiorazione della (10.7.2) che si basa sulla considerazione che in ogni caso<br />
deve essere:<br />
( ) ( ) (10.7.3)<br />
non possono cioè esservi più pattern d’errore <strong>di</strong> peso <strong>di</strong> quante non siano le parole <strong>di</strong><br />
aventi quel peso. Potremo quin<strong>di</strong> certamente scrivere:<br />
( ) ∑ ( ) ( ) (10.7.4)<br />
10.8 - Laterali <strong>di</strong> un sottogruppo<br />
Premesso che in questo paragrafo per como<strong>di</strong>tà utilizzeremo la notazione<br />
moltiplicativa per in<strong>di</strong>care la legge <strong>di</strong> composizione <strong>di</strong> un gruppo, in<strong>di</strong>cheremo quin<strong>di</strong><br />
con l’elemento neutro del gruppo, consideriamo un gruppo abeliano ed un suo<br />
sottogruppo . Ricor<strong>di</strong>amoci che, per definizione <strong>di</strong> sottogruppo, è chiuso rispetto<br />
alla legge <strong>di</strong> composizione <strong>di</strong> .<br />
Consideriamo adesso un generico elemento non appartenente a , se<br />
componiamo questo elemento con gli elementi <strong>di</strong> otteniamo un sottoinsieme <strong>di</strong><br />
<strong>di</strong>sgiunto da . Se infatti risultasse che, per un qualche elemento <strong>di</strong> ,<br />
, ciò implicherebbe che e quin<strong>di</strong> , ma se<br />
allora essendo gruppo vi appartiene anche , contro l’ipotesi. viene denominato<br />
laterale, coinsieme o coset <strong>di</strong> .<br />
Consideriamo adesso, se esiste, un elemento che non appartiene né a né a ,<br />
sia . Anche , composto con gli elementi <strong>di</strong> , genera un sottoinsieme <strong>di</strong> ovviamente<br />
<strong>di</strong>sgiunto da , ma anche da ; se infatti esistesse tale che ˜<br />
, ciò implicherebbe ˜ che implicherebbe contro l’ipotesi.<br />
Possiamo quin<strong>di</strong> concludere che i laterali <strong>di</strong> un sottogruppo se non sono <strong>di</strong>sgiunti sono<br />
coincidenti.<br />
Appare chiaro che ogni sottogruppo <strong>di</strong> un gruppo induce una partizione in laterali<br />
del sottogruppo. Si può facilmente verificare che tutti i laterali hanno la stessa<br />
car<strong>di</strong>nalità del sottogruppo cui sono associati e che ogni elemento <strong>di</strong> un laterale,<br />
composto con gli elementi del sottogruppo, è in grado <strong>di</strong> generare il laterale cui<br />
appartiene. È quin<strong>di</strong> legittimo scegliere in corrispondenza ad ogni laterale un suo
Co<strong>di</strong>ci Lineari a Blocchi 87<br />
elemento, che viene denominato rappresentante <strong>di</strong> laterale o <strong>di</strong> coinsieme, o ancora<br />
coset leader. Il criterio <strong>di</strong> scelta può essere qualsiasi.<br />
Ricor<strong>di</strong>amoci che stiamo considerando gruppi abeliani, se rimuovessimo questa<br />
ipotesi ad ogni sottogruppo potrebbero essere associati dei laterali destri e sinistri,<br />
generalmente <strong>di</strong>stinti, qualora tali laterali dovessero coincidere si <strong>di</strong>rebbe che il<br />
sottogruppo considerato è un sottogruppo normale.<br />
Il fatto che tutti i laterali <strong>di</strong> un sottogruppo hanno la stessa car<strong>di</strong>nalità consente <strong>di</strong><br />
affermare, nel caso <strong>di</strong> gruppi finiti, che ogni sottogruppo ha un numero d’elementi<br />
sottomultiplo <strong>di</strong> quello del gruppo in cui è contenuto.<br />
10.9 - Deco<strong>di</strong>fica tramite i rappresentanti <strong>di</strong> laterale<br />
Tornando ai co<strong>di</strong>ci lineari a blocco ( ), ricor<strong>di</strong>amo che l’insieme delle parole<br />
<strong>di</strong> un tale co<strong>di</strong>ce costituisce un sottogruppo . Abbiamo anche mostrato che un<br />
co<strong>di</strong>ce lineare a blocco è in grado <strong>di</strong> rivelare tutti i pattern d’errore che non coincidono<br />
con parole <strong>di</strong> co<strong>di</strong>ce.<br />
Occupiamoci adesso delle sue capacità correttive. A tal proposito osserviamo che<br />
ogni parola ricevuta appartiene ad un solo laterale <strong>di</strong> rispetto a , intendendo<br />
ovviamente stesso come un laterale. Risulta inoltre , il pattern d’errore<br />
introdotto dal canale appartiene quin<strong>di</strong> certamente allo stesso laterale cui appartiene .<br />
Visto che la probabilità che il canale introduca un pattern d’errore <strong>di</strong> un dato peso<br />
decresce al crescere <strong>di</strong> quest’ultimo, l’ipotesi più verosimile è che il pattern d’errore<br />
introdotto coincida con una parola <strong>di</strong> peso minimo appartenente allo stesso laterale<br />
della parola ricevuta.<br />
Le considerazioni appena fatte portano alla seguente tecnica <strong>di</strong> deco<strong>di</strong>fica: dato<br />
un co<strong>di</strong>ce scegliamo come rappresentante <strong>di</strong> ogni suo laterale la parola <strong>di</strong> peso<br />
minimo appartenente ad esso. Nel caso in cui nel laterale vi siano più parole <strong>di</strong> peso<br />
minimo ne sceglieremo una a caso. Osserviamo che, quale che sia la parola ricevuta,<br />
essa si potrà scrivere in modo univoco nella forma essendo il coset leader<br />
del laterale a cui essa appartiene. Comunque scelta una parola <strong>di</strong> co<strong>di</strong>ce risulta:<br />
( ) ( ) (10.9.1)<br />
in quanto è una parola <strong>di</strong> che appartiene allo stesso laterale <strong>di</strong> , visto che<br />
è una parola <strong>di</strong> co<strong>di</strong>ce, ed è per ipotesi una parola <strong>di</strong> peso minimo <strong>di</strong> quel<br />
laterale, pertanto se adottiamo la deco<strong>di</strong>fica ML dobbiamo necessariamente scegliere la<br />
parola .
88 Capitolo - 10 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Se nello stesso laterale più <strong>di</strong> una parola ha peso minimo, ciò significa che la<br />
parola ricevuta si trova alla stessa <strong>di</strong>stanza da due o più parole <strong>di</strong> co<strong>di</strong>ce, in questo<br />
caso, quale che sia la scelta effettuata tra le parole can<strong>di</strong>date, le prestazioni del<br />
deco<strong>di</strong>ficatore non cambiano.<br />
Si osservi che qualora la parola ricevuta appartenga al co<strong>di</strong>ce tale operazione non<br />
la altera in quanto il rappresentante <strong>di</strong> laterale relativo a è unico ed è ovviamente la<br />
parola identicamente nulla.<br />
Quanto sopra detto ci porta ad enunciare il seguente<br />
Teorema 10.2<br />
Un deco<strong>di</strong>ficatore che adotta la tecnica dei coset leader corregge tutti e soli i pattern<br />
d’errore coincidenti con un coset leader.<br />
***********<br />
Un vantaggio della deco<strong>di</strong>fica basata sui coset leader è quello <strong>di</strong> restituire sempre<br />
una parola <strong>di</strong> co<strong>di</strong>ce, ovviamente non sempre quella corretta. Il suo principale<br />
svantaggio consiste nel fatto che per metterla in pratica occorre comunque effettuare<br />
una ricerca in tutto per in<strong>di</strong>viduare il laterale cui appartiene la parola, se è grande<br />
tale ricerca può <strong>di</strong>ventare troppo onerosa.<br />
10.10 - Probabilità d’errore <strong>di</strong> un co<strong>di</strong>ce lineare a blocchi<br />
Il Teorema 10.2 ci suggerisce come calcolare la probabilità <strong>di</strong> corretta decisione<br />
( ) <strong>di</strong> un co<strong>di</strong>ce, impiegato su un canale BSC.<br />
Osserviamo innanzitutto che all’uscita del deco<strong>di</strong>ficatore sarà presente la parola<br />
effettivamente inviata tutte e sole le volte che il pattern d’errore introdotto dal canale<br />
coincide con un coset leader, considerando anche tra i pattern d’errore quello<br />
identicamente nullo che è il coset leader del co<strong>di</strong>ce.<br />
La ( ) coinciderà quin<strong>di</strong> con la probabilità che il pattern d’errore sia un<br />
qualsiasi coset leader. Possiamo quin<strong>di</strong> scrivere:<br />
( ) ∑ ( ) ( ) (10.10.1)<br />
dove rappresenta il massimo peso raggiunto dai coset leader ed ( ) un’applicazione<br />
che associa ad ogni intero compreso tra ed il numero <strong>di</strong> coset leader <strong>di</strong> peso .<br />
Dalla (10.10.1) <strong>di</strong>scende facilmente:<br />
( ) ( ) ∑ ( ) ( ) (10.10.2)
Co<strong>di</strong>ci Lineari a Blocchi 89<br />
10.11 - Co<strong>di</strong>ci perfetti, bound <strong>di</strong> Hamming<br />
Una maggiorazione della probabilità d’errore può essere ottenuta ricordando il<br />
Teorema 9.3, che afferma che la capacità correttiva <strong>di</strong> un co<strong>di</strong>ce è non minore <strong>di</strong><br />
. In altri termini il teorema afferma che la regione <strong>di</strong> decisione <strong>di</strong> ciascuna<br />
parola <strong>di</strong> co<strong>di</strong>ce contiene una “ipersfera” <strong>di</strong> raggio pari a . In<br />
che contiene<br />
esattamente ∑<br />
( ) punti.<br />
Osserviamo che in un co<strong>di</strong>ce lineare tutte le regioni <strong>di</strong> decisione hanno la stessa<br />
forma e che l’insieme dei coset leader costituisce la regione <strong>di</strong> decisione associata alla<br />
parola nulla. Vi sono laterali, quin<strong>di</strong> coset leader. Il Teorema 9.3 nel caso <strong>di</strong><br />
co<strong>di</strong>ci lineari implica quin<strong>di</strong> che deve valere la <strong>di</strong>suguaglianza:<br />
∑ ( ) ∑ ( ) (10.11.1)<br />
la precedente va sotto il nome <strong>di</strong> Bound <strong>di</strong> Hamming i co<strong>di</strong>ci che lo sod<strong>di</strong>sfano come<br />
uguaglianza sono detti co<strong>di</strong>ci perfetti.<br />
Quale che sia il co<strong>di</strong>ce lineare che stiamo considerando, i primi t 1 adden<strong>di</strong><br />
dell’ultimo membro della (10.11.1) devono necessariamente essere uguali ai<br />
corrispondenti adden<strong>di</strong> della sommatoria a primo membro, possiamo pertanto scrivere:<br />
( ) ∑ ( ) ( ) ∑ ( ) ( )<br />
( ) ∑ ( ) ( ) ∑ ( ) ( )<br />
(10.11.2)<br />
la precedente è ovviamente sod<strong>di</strong>sfatta come uguaglianza solo dai co<strong>di</strong>ci perfetti, quali<br />
sono ad esempio i co<strong>di</strong>ci <strong>di</strong> Hamming cui accenneremo più avanti.
Capitolo - 11<br />
CODICI SISTEMATICI<br />
11.1 - Co<strong>di</strong>ci Sistematici<br />
Quanto detto nei precedenti paragrafi ci fa comprendere che le prestazioni <strong>di</strong> un<br />
co<strong>di</strong>ce lineare sono da attribuirsi sostanzialmente al sottospazio <strong>di</strong> generato dalle<br />
righe della matrice che supporremo linearmente in<strong>di</strong>pendenti e che quin<strong>di</strong><br />
costituiranno una base per il sottospazio da esse generato. In sostanza quin<strong>di</strong> co<strong>di</strong>ci generati<br />
da matrici <strong>di</strong>stinte, delle stesse <strong>di</strong>mensioni, che generano però lo stesso<br />
sottospazio <strong>di</strong> sono del tutto equivalenti.<br />
Lo spazio generato dalle righe <strong>di</strong> non cambia se si permutano le sue righe, o se<br />
si somma ad una qualunque riga <strong>di</strong> una combinazione lineare delle restanti.<br />
Dato un co<strong>di</strong>ce lineare a blocchi, consideriamo la sua matrice e selezioniamone<br />
una sua colonna non identicamente nulla. Supponiamo sia la -esima. Consideriamo<br />
quin<strong>di</strong> una riga <strong>di</strong> che abbia un nella -esima colonna, supponiamo sia la -esima,<br />
sommiamo tale riga a tutte le altre righe <strong>di</strong> che si trovano nelle stesse con<strong>di</strong>zioni.<br />
(<br />
Otterremo così una matrice, sia ) , equivalente a la cui -esima colonna ha un solo<br />
( )<br />
valore in posizione -esima. Operiamo adesso sulla matrice come avevamo<br />
operato sulla con la sola accortezza <strong>di</strong> scegliere una colonna che abbia un in una<br />
( )<br />
riga <strong>di</strong>versa dalla -esima, otterremo così una con due colonne che presentano un<br />
solo valore su righe <strong>di</strong>verse. All’ -esimo passo sceglieremo una colonna che abbia un<br />
in una riga <strong>di</strong>versa da quelle selezionate ai passi precedenti.<br />
Tale procedura potrà essere ripetuta al più volte, a meno che non sia più<br />
possibile selezionare una colonna, ma ciò accade solo nel caso in cui tutte le righe non<br />
ancora selezionate sono identicamente nulle, in questo caso le righe della matrice da<br />
cui eravamo partiti non erano linearmente in<strong>di</strong>pendenti, quin<strong>di</strong> non erano in grado <strong>di</strong><br />
generare un sottospazio <strong>di</strong> <strong>di</strong>mensione , o, che è lo stesso, il co<strong>di</strong>ficatore non era un<br />
monomorfismo <strong>di</strong> in cioè avevamo preso in considerazione un co<strong>di</strong>ce ambiguo.<br />
( )<br />
Al termine della procedura sopra descritta avremo quin<strong>di</strong> una matrice che ha<br />
almeno colonne in cui compare un solo , tra le colonne con un solo ne esisterà<br />
almeno una che lo ha in corrispondenza alla prima riga, una in corrispondenza alla<br />
seconda e cosi via fino alla -esima.<br />
A questo punto è opportuno osservare che se s’intende utilizzare il co<strong>di</strong>ce su un<br />
canale simmetrico binario, ovvero mappando coppie <strong>di</strong> bit della parola d’uscita in punti
92 Capitolo - 11 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
<strong>di</strong> una costellazione QAM, è anche legittimo permutare le colonne della matrice ,<br />
questa operazione equivale in sostanza ad etichettare <strong>di</strong>versamente le <strong>di</strong>mensioni dello<br />
spazio .<br />
( )<br />
È ovvio che permutando opportunamente le colonne della si può ottenere<br />
una matrice del tipo:<br />
(11.1.1)<br />
un co<strong>di</strong>ce lineare a blocchi la cui matrice generatrice assume la forma (11.1.1) si <strong>di</strong>ce<br />
sistematico tale denominazione è dovuta al fatto che i primi bit della parola <strong>di</strong> co<strong>di</strong>ce<br />
coincidono con i bit informativi, i restanti sono utilizzati per effettuare i controlli<br />
<strong>di</strong> parità definiti dalle colonne della matrice .<br />
In pratica in corrispondenza ad ogni co<strong>di</strong>ce lineare a blocco non ambiguo esiste<br />
sempre un co<strong>di</strong>ce sistematico ad esso equivalente. L’utilizzo dei co<strong>di</strong>ci sistematici è<br />
quin<strong>di</strong> auspicabile, in quanto, solo per fare un esempio, consente <strong>di</strong> non effettuare<br />
nessuna deco<strong>di</strong>fica sulla parola ricevuta, limitandosi ad osservarne i primi bit,<br />
accettando in questo caso un degrado delle prestazioni a fronte <strong>di</strong> una <strong>di</strong>minuzione<br />
della complessità del sistema.<br />
11.2 - Matrice <strong>di</strong> controllo <strong>di</strong> parità<br />
Dato un co<strong>di</strong>ce lineare a blocco sistematico, in<strong>di</strong>chiamo con la generica<br />
parola d’ingresso e con la generica parola <strong>di</strong> co<strong>di</strong>ce. Se pren<strong>di</strong>amo in considerazione<br />
soltanto le ultime componenti della parola <strong>di</strong> co<strong>di</strong>ce, ponendo<br />
possiamo scrivere:<br />
[ ] (11.2.1)<br />
sostituendo a la sua espressione in termini della matrice<br />
otteniamo:<br />
[ ] [ ] ( )<br />
(11.2.2)<br />
Sempre in virtù del fatto che il co<strong>di</strong>ce è sistematico possiamo scrivere anche:<br />
che ci suggerisce <strong>di</strong> riscrivere l’ultima eguaglianza nella (11.2.2) nella forma:<br />
(11.2.3)<br />
[ ] (11.2.4)<br />
La matrice che compare nella precedente prende il nome <strong>di</strong> matrice <strong>di</strong><br />
controllo <strong>di</strong> parità (parity check matrix), in quanto la (11.2.4) è sod<strong>di</strong>sfatta da tutte e<br />
sole le parole <strong>di</strong> co<strong>di</strong>ce.
Co<strong>di</strong>ci Sistematici 93<br />
11.3 - Co<strong>di</strong>ci duali<br />
Osserviamo che la (11.2.4) implica l’ortogonalità tra la generica parola <strong>di</strong> co<strong>di</strong>ce<br />
e ogni riga della matrice , le cui righe essendo linearmente in<strong>di</strong>pendenti sono in<br />
grado <strong>di</strong> generare un sottospazio <strong>di</strong> ortogonale a , nel senso che<br />
combinando linearmente le righe <strong>di</strong> si ottengono sempre parole <strong>di</strong> ortogonali a<br />
qualsiasi parola <strong>di</strong> .<br />
Ci si rende facilmente conto del fatto che si può pensare a come ad un<br />
co<strong>di</strong>ce ( ).<br />
Permutando opportunamente le colonne della matrice si può sempre rendere<br />
sistematico, in un certo senso lo è anche senza permutarle, solo che in questo<br />
caso i bit informativi coincidono con gli ultimi bit della parola <strong>di</strong> co<strong>di</strong>ce.<br />
11.4 - Deco<strong>di</strong>fica basata sulla sindrome<br />
Supponiamo <strong>di</strong> ricevere una parola , affetta da un pattern d’errore . Se sostituiamo<br />
a primo membro della (11.2.4) otteniamo:<br />
(11.4.1)<br />
è una parola <strong>di</strong> bit che prende il nome <strong>di</strong> sindrome della parola ricevuta. Vi<br />
sono possibili sindromi.<br />
È interessante osservare che il calcolo della sindrome può essere effettuato in<br />
ricezione con uno schema analogo a quello utilizzato per il co<strong>di</strong>ficatore, <strong>di</strong>mensionando<br />
correttamente i due registri a scorrimento. Il calcolo della sindrome nei co<strong>di</strong>ci a<br />
rivelazione d’errore consente verificare facilmente se la parola ricevuta appartiene al<br />
co<strong>di</strong>ce solo le parole <strong>di</strong> co<strong>di</strong>ce hanno infatti sindrome nulla.<br />
Nel caso dei co<strong>di</strong>ci a correzione d’errore, osservando la (11.4.1) si rileva che tutti<br />
gli elementi <strong>di</strong> uno stesso laterale del co<strong>di</strong>ce hanno la stessa sindrome. Tutti gli<br />
elementi <strong>di</strong> un laterale si ottengono infatti sommando ad un qualsiasi elemento del<br />
coset stesso una parola <strong>di</strong> co<strong>di</strong>ce. È altresì chiaro che elementi appartenenti a laterali<br />
<strong>di</strong>stinti avranno sindromi <strong>di</strong>stinte. In sostanza esiste una corrispondenza biunivoca tra il<br />
gruppo delle sindromi e l’insieme dei laterali che è esso stesso un gruppo, detto gruppo<br />
quoziente in<strong>di</strong>cato con ⁄ . La composizione tra due laterali del gruppo quoziente<br />
si effettua in<strong>di</strong>viduando il coset <strong>di</strong> appartenenza dell’elemento <strong>di</strong> ottenuto<br />
componendo due elementi arbitrariamente scelti nei due laterali componen<strong>di</strong>.<br />
Si constata che il gruppo delle sindromi è isomorfo al gruppo quoziente <strong>di</strong><br />
in<strong>di</strong>viduato dal suo sottogruppo normale .
94 Capitolo - 11 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
La deco<strong>di</strong>fica a massima verosimiglianza può quin<strong>di</strong> essere effettuata associando<br />
preliminarmente ad ogni sindrome il coset leader nel laterale ad essa associato, da<br />
sommare alla parola ricevuta per effettuare la deco<strong>di</strong>fica. Tale tecnica comporta la<br />
presenza <strong>di</strong> un banco <strong>di</strong> memoria in grado <strong>di</strong> contenere parole <strong>di</strong> bit.<br />
In effetti essendo interessati solo ai bit informativi è sufficiente memorizzare<br />
soltanto i primi bit del coset leader, questo accorgimento riduce un po’ il fabbisogno<br />
<strong>di</strong> memoria.<br />
La deco<strong>di</strong>fica basata sulla sindrome è più efficiente <strong>di</strong> quella basata sui coset<br />
leader, anche se, al crescere delle <strong>di</strong>mensioni della parola <strong>di</strong> co<strong>di</strong>ce, <strong>di</strong>venta ben presto<br />
<strong>di</strong>fficilmente praticabile, a causa della quantità <strong>di</strong> memoria <strong>di</strong> cui necessita.
12.1 - Co<strong>di</strong>ci <strong>di</strong> Hamming<br />
Capitolo - 12<br />
Co<strong>di</strong>ci <strong>di</strong> Hamming e loro duali<br />
Abbiamo visto come si calcola la sindrome <strong>di</strong> un co<strong>di</strong>ce ed abbiamo osservato<br />
che più pattern d’errore possono con<strong>di</strong>videre la stessa sindrome. Immaginiamo adesso<br />
<strong>di</strong> voler costruire un co<strong>di</strong>ce che abbia la capacità <strong>di</strong> correggere tutti i pattern d’errore <strong>di</strong><br />
peso . Affinché ciò sia possibile ciascun pattern d’errore <strong>di</strong> peso<br />
coset leader.<br />
deve essere un<br />
Abbiamo visto che un co<strong>di</strong>ce ( ) consta <strong>di</strong> parole <strong>di</strong> bit. Esistono quin<strong>di</strong><br />
<strong>di</strong>stinti pattern d’errore <strong>di</strong> peso , ciascuno dei quali, moltiplicato per<br />
rispettiva sindrome. Detta sindrome coincide con la colonna della matrice<br />
corrisponde alla posizione dell’unico bit<br />
fornisce la<br />
che<br />
nel pattern d’errore. Quin<strong>di</strong>, se vogliamo che<br />
il co<strong>di</strong>ce sia in grado <strong>di</strong> correggere tutti i pattern d’errore <strong>di</strong> peso , è necessario che le<br />
colonne della matrice<br />
della matrice in questione ha<br />
siano tutte non nulle e <strong>di</strong>verse tra loro. Poiché ogni colonna<br />
elementi, deve necessariamente essere:<br />
(12.1.1)<br />
La precedente scritta come uguaglianza definisce implicitamente una famiglia <strong>di</strong><br />
co<strong>di</strong>ci, i co<strong>di</strong>ci <strong>di</strong> Hamming, che sono in grado <strong>di</strong><br />
correggere tutti gli errori <strong>di</strong> peso<br />
e <strong>di</strong> rivelare<br />
quelli <strong>di</strong> peso non superiore a due in quanto si<br />
può mostrare che la loro vale . Alcune<br />
soluzioni della (12.1.1) sono riportate nella in<br />
Tabella 12.1.<br />
Il primo co<strong>di</strong>ce della tabella è in effetti un<br />
co<strong>di</strong>ce a ripetizione, in sostanza ogni bit informativo viene inviato consecutivamente<br />
tre volte, vi sono due sole parole <strong>di</strong> co<strong>di</strong>ce, la <strong>di</strong>stanza <strong>di</strong> Hamming tra esse, quin<strong>di</strong><br />
anche la<br />
del co<strong>di</strong>ce, è , il co<strong>di</strong>ce è in grado <strong>di</strong> correggere errori singoli, la regola<br />
<strong>di</strong> decisione a massima verosimiglianza per questo co<strong>di</strong>ce consiste nello scegliere il bit<br />
che compare almeno due volte nella parola ricevuta. Se il canale introduce un errore<br />
doppio il co<strong>di</strong>ce rileva l’errore, ma non è in grado <strong>di</strong> correggerlo, nel senso che<br />
restituisce una parola <strong>di</strong> co<strong>di</strong>ce <strong>di</strong>versa da quella inviata nel caso <strong>di</strong> deco<strong>di</strong>fica MV. Vi<br />
sono tre laterali del co<strong>di</strong>ce a ciascuno <strong>di</strong> essi appartiene un pattern d’errore singolo e il<br />
suo negato.<br />
n<br />
k<br />
3 1<br />
7 4<br />
15 11<br />
31 26<br />
63 57<br />
127 120<br />
Tabella 12.1 Alcuni valori <strong>di</strong> n e k per<br />
i co<strong>di</strong>ci <strong>di</strong> Hamming
96 Capitolo - 12 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Per concludere si può facilmente verificare che la (10.11.1) è verificata come<br />
uguaglianza per tutti i co<strong>di</strong>ci <strong>di</strong> Hamming risulta infatti:<br />
da cui<br />
⌊ ⌋ (12.1.2)<br />
∑ ( ) (12.1.3)<br />
ma per i co<strong>di</strong>ci <strong>di</strong> Hamming<br />
all’insieme dei co<strong>di</strong>ci perfetti.<br />
, i co<strong>di</strong>ci <strong>di</strong> Hamming appartengono pertanto<br />
Esempio 12.1<br />
Una possibile matrice<br />
del secondo co<strong>di</strong>ce della Tabella 12.1, il 7,4,è data da:<br />
Fig.E 12.1 - Schema a blocchi del Co<strong>di</strong>ce 7,4 <strong>di</strong> Hamming<br />
Co<strong>di</strong>ce <strong>di</strong> Hamming 7,4<br />
0000 000<br />
0001 111<br />
0010 011<br />
0011 100<br />
0100 101<br />
0101 001<br />
0110 110<br />
0111 001<br />
1000 110<br />
1001 001<br />
1010 101<br />
1011 010<br />
1100 011<br />
1101 100<br />
1110 000<br />
1111 111<br />
Tabella 12.2 - Parole del<br />
co<strong>di</strong>ce Hamming 7.4<br />
matrice<br />
[ ]<br />
Osserviamo che la matrice in<br />
esame ha per colonne tutte le parole <strong>di</strong><br />
tre bit ad esclusione <strong>di</strong> quella costituita<br />
da soli zero, or<strong>di</strong>nate in modo da<br />
rispettare la (11.2.4).<br />
Ricor<strong>di</strong>amoci che le prime quattro<br />
colonne <strong>di</strong> possono essere permutate<br />
tra loro senza che le caratteristiche<br />
del co<strong>di</strong>ce cambino.<br />
Basandoci sulla (11.2.4) e sulla<br />
(11.1.1) potremo facilmente scrivere la<br />
generatrice del co<strong>di</strong>ce:<br />
[ ]<br />
il relativo schema a blocchi è mostrato in Fig.E 12.1, la lista delle<br />
parole del co<strong>di</strong>ce è elencata nella Tabella 12.2 dove ogni parola è stata<br />
sud<strong>di</strong>visa tra contenuto informativo (i primi 4 bit) e controlli <strong>di</strong> parità<br />
(gli ultimi 3).<br />
Uno schema a blocchi del co<strong>di</strong>ce <strong>di</strong> Hamming 15,11 è mostrato in<br />
Fig.E 10.1.<br />
12.2 - Duali dei co<strong>di</strong>ci <strong>di</strong> Hamming<br />
Nel caso dei duali dei co<strong>di</strong>ci <strong>di</strong> Hamming, le colonne<br />
della loro matrice generatrice<br />
sono tutte e sole le parole binarie<br />
non nulle che si possono scrivere con<br />
quin<strong>di</strong> esattamente<br />
bit vi saranno<br />
colonne nella matrice generatrice.<br />
La matrice definisce quin<strong>di</strong> un co<strong>di</strong>ce ( ), le cui parole non nulle<br />
hanno tutte peso .<br />
zero e<br />
Infatti ogni riga della matrice generatrice contiene per costruzione<br />
bit uno. Le restanti parole del co<strong>di</strong>ce si ottengono combinando linearmente<br />
bit
Co<strong>di</strong>ci <strong>di</strong> Hamming e loro Duali 97<br />
le righe della matrice generatrice, tale combinazione lineare, a ben vedere, consiste nel<br />
cancellare un sottoinsieme <strong>di</strong> righe dalla matrice generatrice e sommare le restanti.<br />
Per semplificare il ragionamento immaginiamo <strong>di</strong> aggiungere alla matrice una<br />
colonna nulla, sia ˜ la matrice estesa così ottenuta. Osserviamo che le parole del co<strong>di</strong>ce<br />
( ) generato da ˜ <strong>di</strong>fferiscono da quelle generate da solo per il fatto <strong>di</strong> avere un<br />
bit in più, che essendo generato dalla colonna identicamente nulla, vale<br />
sistematicamente . Possiamo quin<strong>di</strong> affermare che le parole corrispondenti dei due<br />
co<strong>di</strong>ci, cioè generate dalla stessa parola <strong>di</strong> hanno lo stesso peso.<br />
Osserviamo adesso che la cancellazione <strong>di</strong> una riga in ˜ da luogo ad una<br />
sottomatrice ˜ ( ) che ha le colonne uguali a due a due; se cancellassimo due righe<br />
avremmo una sottomatrice ˜ ( ) con colonne uguali a quattro a quattro e così via.<br />
In generale quin<strong>di</strong> cancellando righe <strong>di</strong> ˜ , con 0 j k , avremo una<br />
sottomatrice ˜ ( ) <strong>di</strong> righe con solo colonne <strong>di</strong>stinte che non potranno essere<br />
altro se non tutte le parole binarie <strong>di</strong> bit.<br />
Il peso della parola <strong>di</strong> co<strong>di</strong>ce ottenuta componendo le righe <strong>di</strong> ˜ ( ) , è<br />
uguale al numero <strong>di</strong> colonne che hanno un numero <strong>di</strong>spari <strong>di</strong> al loro interno. Ci si<br />
convince facilmente che esattamente la metà delle colonne <strong>di</strong>verse tra loro hanno<br />
peso <strong>di</strong>spari. Il peso della parola <strong>di</strong> co<strong>di</strong>ce ottenuta componendo le righe vale<br />
, in<strong>di</strong>pendente dal numero <strong>di</strong> righe cancellato, pur <strong>di</strong> non cancellarle<br />
tutte, in questo caso otterremo la parola <strong>di</strong> co<strong>di</strong>ce nulla che ha peso .<br />
Possiamo quin<strong>di</strong> concludere che la <strong>di</strong>stanza minima per co<strong>di</strong>ci generati da matrici<br />
<strong>di</strong> tipo ˜ , o da matrici <strong>di</strong> tipo vale , che è anche, la <strong>di</strong>stanza tra due parole <strong>di</strong><br />
co<strong>di</strong>ce qualsiasi.<br />
12.3 - Co<strong>di</strong>ci ortogonali e transortogonali<br />
Immaginiamo <strong>di</strong> utilizzare un co<strong>di</strong>ce generato da una matrice del tipo ˜ ,<br />
introdotta nel paragrafo 12.1 - , con una segnalazione <strong>di</strong> tipo antipodale, associando<br />
cioè ai bit un impulso <strong>di</strong> segnalazione in banda base ( ) (la cui durata, per<br />
semplicità possiamo pensare sia non maggiore dell’intervallo <strong>di</strong> segnalazione ), e ai<br />
bit il suo opposto. Alla generica parola <strong>di</strong> co<strong>di</strong>ce verrà quin<strong>di</strong> associato il segnale in<br />
banda base:<br />
( ) ∑( ) ( ( ) ) (12.3.1)
98 Capitolo - 12 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Se effettuiamo il prodotto scalare tra i segnali associati a due <strong>di</strong>stinte parole <strong>di</strong> co<strong>di</strong>ce<br />
otteniamo:<br />
∫ ∑( ) ( ( ) ) ∑( ) ( ( ) )<br />
∑ ∑( ) ( ) ∫ ( ( ) ) ( ( ) )<br />
(12.3.2)<br />
∑( ) ( ) ∫ ( ) ( ) ∑( ) ( )<br />
∑( ) ( )<br />
nella precedente<br />
in<strong>di</strong>ca l’energia del bit informativo, conseguentemente l’energia<br />
specifica dell’impulso <strong>di</strong> segnalazione, che tiene conto del Rate<br />
del co<strong>di</strong>ce, vale<br />
. La sommatoria a ultimo membro vale in quanto la <strong>di</strong>stanza <strong>di</strong> Hamming tra due<br />
parole <strong>di</strong> co<strong>di</strong>ce <strong>di</strong>stinte vale .<br />
Sotto le ipotesi appena fatte i segnali associati alle parole del co<strong>di</strong>ce generato<br />
dalla matrice <strong>di</strong> parità estesa <strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> Hamming ˜ sono a due a due ortogonali.<br />
Per quanto riguarda i co<strong>di</strong>ci duali dei co<strong>di</strong>ci <strong>di</strong> Hamming, nelle stesse con<strong>di</strong>zioni<br />
generano un set <strong>di</strong> segnali isoenergetici in uno spazio a <strong>di</strong>mensioni. Detti<br />
segnali non sono più mutuamente ortogonali, anche se la <strong>di</strong>stanza tra una qualunque<br />
coppia <strong>di</strong> segnali è la stessa. I co<strong>di</strong>ci duali dei co<strong>di</strong>ci <strong>di</strong> Hamming si chiamano<br />
transortogonali. Rispetto ai co<strong>di</strong>ci generati da matrici <strong>di</strong> tipo ˜ i co<strong>di</strong>ci transortogonali<br />
hanno il vantaggio a parità d’energia <strong>di</strong> consentire un aumento dell’energia<br />
associata al bit della parola <strong>di</strong> co<strong>di</strong>ce, in virtù del rate più basso, per questo le loro<br />
prestazioni sono leggermente migliori.
13.1 - Premessa<br />
Capitolo - 13<br />
CODICI CONVOLUZIONALI<br />
I co<strong>di</strong>ci convoluzionali furono proposti per la prima volta da P. Elias nel 1955, e<br />
hanno trovato ampia applicazione dopo che A. J. Viterbi propose nel 1967 un efficiente<br />
algoritmo <strong>di</strong> deco<strong>di</strong>fica. Nei co<strong>di</strong>ficatori convoluzionali la parola prodotta non <strong>di</strong>pende<br />
soltanto dalla parola emessa dalla sorgente al tempo presente, ma anche da quelle<br />
emesse precedentemente. Si tratta quin<strong>di</strong> <strong>di</strong> un co<strong>di</strong>ficatore dotato <strong>di</strong> memoria.<br />
13.2 - Struttura del co<strong>di</strong>ficatore<br />
Lo schema <strong>di</strong> principio <strong>di</strong> un co<strong>di</strong>ficatore convoluzionale è mostrato in Fig.E<br />
Fig.E 13.1 - Schema <strong>di</strong> principio <strong>di</strong> un co<strong>di</strong>ficatore<br />
convoluzionale<br />
13.1. Dove i simboli emessi dalla<br />
sorgente appartengono ad un alfabeto <strong>di</strong><br />
car<strong>di</strong>nalità assegnata ed i sommatori<br />
operano modulo la car<strong>di</strong>nalità dell’alfabeto.<br />
Lo schema <strong>di</strong> Fig.E 13.1, a prima<br />
vista, non <strong>di</strong>fferisce da quello <strong>di</strong> un<br />
co<strong>di</strong>ficatore per co<strong>di</strong>ci a blocchi, se non<br />
fosse per la <strong>di</strong>mensione dello shift<br />
register d’ingresso che è maggiore <strong>di</strong><br />
quello d’uscita. La <strong>di</strong>fferenza sostanziale<br />
tra il co<strong>di</strong>ficatore <strong>di</strong> figura e quello <strong>di</strong> uno a blocchi, consiste nel fatto che il registro<br />
d’uscita, nel co<strong>di</strong>ficatore <strong>di</strong> figura, viene letto ogni due simboli emessi dalla sorgente.<br />
In generale in un co<strong>di</strong>ficatore convoluzionale il numero <strong>di</strong> simboli che costituiscono<br />
la parola informativa è un sottomultiplo della lunghezza dello shift register<br />
d’ingresso. Il rapporto tra il numero <strong>di</strong> celle dello shift register e il numero <strong>di</strong> simboli <strong>di</strong><br />
sorgente che costituiscono la parola informativa viene denominato lunghezza <strong>di</strong><br />
vincolo (costraint lenght) ( in quel che segue).<br />
Da quanto appena detto segue che la parola <strong>di</strong> co<strong>di</strong>ce non <strong>di</strong>pende soltanto dalla<br />
parola d’ingresso attuale ma anche dalle<br />
sorgente.<br />
Nello schema <strong>di</strong> Fig.E 13.1 la lunghezza <strong>di</strong> vincolo<br />
parole emesse precedentemente dalla<br />
, la parola <strong>di</strong> co<strong>di</strong>ce<br />
<strong>di</strong>penderà pertanto dalla parola corrente e dalle 2 parole informative che la precedono.
100 Capitolo - 13 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Anche nei co<strong>di</strong>ficatori convoluzionali si può definire un rate espresso dal rapporto tra la<br />
lunghezza della parola informativa (2 in Fig.E 13.1) e quella della parola <strong>di</strong> co<strong>di</strong>ce<br />
generata (3 in Fig.E 13.1). A <strong>di</strong>fferenza dei co<strong>di</strong>ci a blocchi le lunghezze, sia delle<br />
parole d’ingresso, sia <strong>di</strong> quelle <strong>di</strong> co<strong>di</strong>ce, sono piccole (dell’or<strong>di</strong>ne delle unità), i<br />
simboli emessi appartengono tipicamente a .<br />
13.3 - Matrice generatrice e generatori.<br />
I co<strong>di</strong>ficatori convoluzionali come si evince dalla Fig.E 13.1 figura del paragrafo<br />
Sequenze <strong>di</strong><br />
ingresso<br />
precedente sono lineari.<br />
Essi se la lunghezza <strong>di</strong><br />
vincolo fosse unitaria<br />
degenererebbero in un<br />
co<strong>di</strong>ficatore a blocco. Se<br />
la lunghezza <strong>di</strong> vincolo è<br />
maggiore <strong>di</strong> uno la sequenza<br />
d’uscita <strong>di</strong>pende<br />
dall’intera<br />
sequenza<br />
d’ingresso. In ogni caso<br />
possiamo affermare che<br />
la sequenza co<strong>di</strong>ficata<br />
associata a una generica<br />
sequenza<br />
informativa<br />
può sempre essere ottenuta<br />
come combinazione lineare delle risposte che il co<strong>di</strong>ficatore genererebbe in<br />
corrispondenza a sequenze “canoniche”, cioè a sequenze seminfinite contenenti un<br />
unico bit .<br />
Sequenze co<strong>di</strong>ficate<br />
10 00 00 00 0… 001,100,001,000…<br />
01 00 00 00 0… 010,010,100 000…<br />
00 10 00 00 0… 000,001,100,001 000…<br />
00 01 00 00 0… 000,010,010,100 000…<br />
00 00 10 00 0… 000,000,001,100,001,000<br />
00 00 01 00 0… 000,000,010,010,100 000…<br />
00 00 00 10 00 0… 000,000,000,001,100,001,000<br />
00 00 00 01 00 0… 000,000,000,010,010,100 000…<br />
Tabella 13.1 - sequenze <strong>di</strong> uscita del co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1 in<br />
corrispondenza alle sequenze canoniche<br />
In Tabella 13.1 sono mostrate le sequenze d’uscita che si otterrebbero dall’analisi<br />
del co<strong>di</strong>ficatore Fig.E 13.1 in corrispondenza alle citate sequenze, assumendo che in<br />
assenza <strong>di</strong> una sequenza in ingresso tutte le celle dello shift register contengano il bit 0.<br />
Le sequenze co<strong>di</strong>ficate della tabella si possono pensare come le righe <strong>di</strong> una matrice<br />
generatrice del co<strong>di</strong>ce. Detta matrice ha <strong>di</strong>mensioni semi infinite, motivo questo <strong>di</strong> per<br />
sé sufficiente per cercare un approccio più efficiente allo stu<strong>di</strong>o dei co<strong>di</strong>ci in parola.<br />
È interessante osservare che la matrice generatrice ha una struttura ben precisa,<br />
come si desume dalla Tabella 13.1 essa ha una struttura a blocchi del tipo:
Co<strong>di</strong>ci Convoluzionali 101<br />
[ ] (13.3.1)<br />
dove le rappresentano matrici e gli zeri in<strong>di</strong>cano matrici nulle delle stesse<br />
<strong>di</strong>mensioni. Osservando la struttura della generica ci si rende conto che essa è in<br />
realtà la matrice generatrice <strong>di</strong> un co<strong>di</strong>ce a blocchi , il suo generico elemento<br />
vale cioè solo se l’ -esima cella dell’ -esimo blocco dello shift register <strong>di</strong> ingresso è<br />
connessa al sommatore - esimo.<br />
La (13.3.1) è <strong>di</strong> scarsa utilità pratica. Le matrici potrebbero essere si usate<br />
per descrivere la struttura del co<strong>di</strong>ficatore, ma, anche a questo scopo, esse si rivelano in<br />
genere meno efficienti dei cosiddetti generatori. I generatori sono vettori binari<br />
ciascuno con componenti. Dove la -esima componente dell’ -esimo generatore<br />
vale solo se l’ -esimo sommatore è connesso all’ -esima cella del registro<br />
d’ingresso.<br />
Per il co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1 i generatori sono:<br />
(13.3.2)<br />
Noto il rate del co<strong>di</strong>ficatore i generatori permettono <strong>di</strong> tracciare facilmente lo schema<br />
del co<strong>di</strong>ficatore.<br />
Il vantaggio che si ha nell’utilizzo dei generatori rispetto all’uso delle matrici<br />
costituenti la matrice generatrice è legato al fatto che i generatori sono in numero pari<br />
al numero <strong>di</strong> bit della parola d’uscita dell’or<strong>di</strong>ne delle unità, mentre le matrici in parola<br />
sono in numero pari alla lunghezza <strong>di</strong> vincolo che può essere dell’or<strong>di</strong>ne delle decine.<br />
Inoltre i generatori si prestano a essere rappresentati in notazione <strong>di</strong>versa da quella<br />
binaria, tipicamente quella ottale, rappresentando cioè gruppi <strong>di</strong> tre bit con la<br />
corrispondente cifra ottale per il nostro co<strong>di</strong>ficatore ciascun generatore si può<br />
rappresentare me<strong>di</strong>ante due cifre ottali in particolare si ha:<br />
(13.3.3)<br />
13.4 - Diagramma <strong>di</strong> stato del co<strong>di</strong>ficatore.<br />
La matrice generatrice, non è certamente uno strumento <strong>di</strong> semplice impiego per<br />
analizzare un co<strong>di</strong>ficatore convoluzionale. I generatori sono uno strumento efficace per<br />
descriverne la struttura del co<strong>di</strong>ficatore, ma mal si prestano al calcolo della sequenza<br />
d’uscita che esso genera in uscita. Un modo alternativo, certamente più efficace, per
102 Capitolo - 13 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
descrivere il comportamento del co<strong>di</strong>ficatore è quello <strong>di</strong> tener conto del fatto che<br />
l’uscita prodotta in un certo istante <strong>di</strong>pende oltre che dalla parola d’ingresso corrente<br />
anche dalla storia della sequenza d’ingresso, in particolare essa <strong>di</strong>pende dai ( )<br />
bit d’ingresso che hanno preceduto la parola corrente.<br />
In altri termini, noti tali bit e i bit della parola corrente possono essere<br />
determinati univocamente, sia l’uscita corrente, sia i ( ) bit che contribuiranno<br />
unitamente alla parola d’ingresso successiva a determinare la parola d’uscita seguente.<br />
( )<br />
Osserviamo che esistono esattamente contenuti <strong>di</strong>stinti per le celle del registro<br />
che costituiscono la memoria del sistema. Possiamo <strong>di</strong>re pertanto che il co<strong>di</strong>ficatore<br />
( )<br />
può assumere stati <strong>di</strong>versi (16 nel nostro esempio). L’arrivo <strong>di</strong> una parola<br />
d’ingresso comporta tipicamente una variazione del contenuto della memoria, quin<strong>di</strong><br />
una variazione dello stato del sistema. In sostanza un co<strong>di</strong>ficatore convoluzionale è<br />
altro che una macchina a stati finiti.<br />
Gli stati del co<strong>di</strong>ficatore possono essere associati ai vertici <strong>di</strong> un grafo (ve<strong>di</strong><br />
Esempio 3.1) due vertici vengono connessi tramite un lato se esiste una parola <strong>di</strong><br />
ingresso che induce la transizione tra i due stati. Ad ogni lato potremo associare<br />
un’etichetta che contiene la parola d’ingresso ad esso relativa, ma anche la<br />
corrispondente parola <strong>di</strong> uscita che <strong>di</strong>pende dal vertice da cui il suddetto lato fuoriesce.<br />
Osserviamo che da ogni vertice origineranno e si <strong>di</strong>partiranno esattamente<br />
lati, tanti quante sono le possibili parole d’ingresso (nel nostro esempio 4). Quin<strong>di</strong> ogni<br />
(<br />
vertice è <strong>di</strong> grado ) . Il grafo è anche connesso in quanto, comunque scelti due<br />
vertici <strong>di</strong>stinti, esiste sempre un<br />
percorso che li congiunge,<br />
osserviamo che tale percorso è<br />
costituito al più da ( ) lati.<br />
Il grafo relativo al<br />
co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1 è<br />
mostrato in Fig.E 13.2 dove si<br />
sono utilizzati colori <strong>di</strong>versi per<br />
<strong>di</strong>stinguere le parole d’ingresso<br />
associate ai lati. Nella stessa figura<br />
si sono in<strong>di</strong>cate solo alcune<br />
Fig.E 13.2 - Grafo del co<strong>di</strong>ficatore mostrato in Fig.E 13.1<br />
parole d’uscita per non pregiu<strong>di</strong>carne<br />
la leggibilità.
Co<strong>di</strong>ci Convoluzionali 103<br />
Tracciato che sia il grafo del co<strong>di</strong>ficatore, per dato stato iniziale, si può valutare<br />
la sequenza co<strong>di</strong>ficata associata a una qualsiasi sequenza d’ingresso seguendo il<br />
percorso a essa in<strong>di</strong>viduato ed annotando le corrispondenti parole d’uscita. Ovviamente<br />
per sequenze molto lunghe, anche questa rappresentazione manifesta i suoi limiti, si<br />
pensi al caso in cui uno stesso lato compaia più volte nell’ambito <strong>di</strong> una stessa<br />
sequenza.<br />
13.5 - Co<strong>di</strong>ci catastrofici<br />
Osserviamo che ogni co<strong>di</strong>ficatore convoluzionale associa alla sequenza d’ingresso<br />
nulla la sequenza nulla, ciò è un’imme<strong>di</strong>ata conseguenza della sua linearità.<br />
Il percorso associato alla sequenza <strong>di</strong> ingresso identicamente nulla nel grafo <strong>di</strong> Fig.E<br />
13.2 consisterebbe nel percorrere infinite volte il ramo che emerge e termina nello stato<br />
zero. I rami che originano e terminano nello stesso stato vengono denominati self loop.<br />
Notiamo che lo stesso co<strong>di</strong>ficatore, partendo dallo stato zero, associa alla sequenza<br />
costituita solo da bit , la sequenza<br />
come possiamo<br />
notare tale sequenza seppur semi-infinita ha peso ; cioè, nonostante la sequenza <strong>di</strong><br />
ingresso considerata sia quella a massima <strong>di</strong>stanza dalla sequenza nulla, le rispettive<br />
sequenze co<strong>di</strong>ficate <strong>di</strong>stano tra loro non più <strong>di</strong> in<strong>di</strong>pendentemente dalla loro<br />
lunghezza. Il co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1 è un in realtà un esempio <strong>di</strong> Co<strong>di</strong>ce<br />
catastrofico. Tale denominazione <strong>di</strong>scende dal fatto che da un co<strong>di</strong>ficatore ci si aspetta,<br />
quantomeno, che al crescere della <strong>di</strong>stanza <strong>di</strong> Hamming tra le sequenze d’ingresso<br />
(parliamo si sequenze semi-infinite) cresca anche quella tra le corrispondenti sequenze<br />
co<strong>di</strong>ficate. Il motivo per il quale il “nostro” co<strong>di</strong>ficatore è catastrofico risiede nella<br />
presenza <strong>di</strong> un selfloop che associa a una parola <strong>di</strong> peso non nullo la parola d’uscita<br />
nulla, sicché "ciclando" su questo ramo il peso della sequenza d’uscita non varia. Il<br />
co<strong>di</strong>ficatore fin qui utilizzato, malgrado sia catastrofico non perde la sua valenza che è<br />
puramente <strong>di</strong>dattica.<br />
13.6 - Trellis degli stati<br />
I limiti all’utilizzo del grafo per lo stu<strong>di</strong>o <strong>di</strong> un co<strong>di</strong>ce convoluzionale, sono<br />
essenzialmente legati al fatto che in questa rappresentazione non compare il tempo.
104 Capitolo - 13 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Premesso che in quel che segue per brevità enumereremo talvolta gli stati con il<br />
numero decimale corrispondente al contenuto della memoria, supponiamo che<br />
Fig.E 13.3 – Trellis degli stati del co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1<br />
all’istante iniziale il co<strong>di</strong>ficatore si trovi nello stato , da esso all’istante , potranno<br />
essere raggiunti nuovi stati figli e da ciascuno <strong>di</strong> questi ultimi all’istante ne<br />
potranno essere raggiunti per un totale <strong>di</strong> stati figli raggiungili all’istante a<br />
partire dallo stato iniziale dopo due parole <strong>di</strong> ingresso.<br />
Ci ren<strong>di</strong>amo conto del fatto che all’istante ( ) tutti i possibili stati del<br />
co<strong>di</strong>ficatore saranno raggiungibili. Ciò è vero anche in virtù del fatto che, per la<br />
struttura del co<strong>di</strong>ficatore, a prescindere dallo stato in cui si trova, a parole d’ingresso<br />
<strong>di</strong>stinte corrispondono stati <strong>di</strong> arrivo <strong>di</strong>stinti.<br />
Quanto appena detto può essere rappresentato graficamente me<strong>di</strong>ante il trellis<br />
(letteralmente, ma è “infelice”, graticcio) degli stati del co<strong>di</strong>ce. Il trellis associato al<br />
co<strong>di</strong>ficatore <strong>di</strong> Fig.E 13.1 è rappresentato in Fig.E 13.3 Come possiamo notare il trellis<br />
è un albero, che ha origine nello stato in cui si trova il co<strong>di</strong>ficatore all’istante iniziale,<br />
che generalmente, ma non necessariamente, è lo stato . Esso costituisce la ra<strong>di</strong>ce
Co<strong>di</strong>ci Convoluzionali 105<br />
dell’albero, da cui si <strong>di</strong>partono i lati associati a tutte le possibili parole <strong>di</strong> ingresso che<br />
terminano sui vertici raggiungibili all’istante da ciascuno <strong>di</strong> detti vertici si<br />
<strong>di</strong>partiranno ulteriori lati che termineranno su vertici figli al tempo 2kT s<br />
.<br />
Al tempo ( ) tutti gli stati vengono raggiunti da un lato ed al passo<br />
successivo la sezione <strong>di</strong> trellis, cioè l’insieme dei lati compresi tra i vertici relativi a<br />
due istanti <strong>di</strong> tempo consecutivi, è completa, nel senso che contiene tutti i possibili lati,<br />
tutte le sezioni successive saranno complete, uguali tra loro ed, idealmente, in numero<br />
infinito. Ogni sezione si può etichettare con un numero che esprime la “profon<strong>di</strong>tà”<br />
della sezione cioè la collocazione temporale <strong>di</strong> una data sezione nel trellis.<br />
Seguire l’evoluzione dell’uscita sul trellis<br />
è semplice in quanto nel percorso associato alla<br />
sequenza d’ingresso non vi sono sovrapposizioni.<br />
Esempio 13.1<br />
Si Calcoli l’uscita del co<strong>di</strong>ce <strong>di</strong> rate in<strong>di</strong>viduato<br />
dai generatori . In corrispondenza alla<br />
sequenza d’ingresso .<br />
I due generatori rappresentati in binario sono:<br />
Fig.E 13.4 - schema del co<strong>di</strong>ficatore convoluzionale<br />
rate<br />
e corrispondono allo schema mostrato in Fig.E 13.4.<br />
Il co<strong>di</strong>ficatore ha 8 stati, il suo trellis è mostrato in<br />
Fig.E 13.5 – Trellis del co<strong>di</strong>ce convoluzionale<br />
rate<br />
Fig.E 13.5, nella stessa figura è evidenziato il percorso associato alla sequenza <strong>di</strong> ingresso ,<br />
la corrispondente sequenza d’uscita è quin<strong>di</strong>: .<br />
È interessante osservare che un ulteriore zero nella sequenza d’ingresso riporterebbe il<br />
co<strong>di</strong>ficatore allo stato zero.
Capitolo - 14<br />
L’ALGORITMO DI VITERBI<br />
14.1 - Deco<strong>di</strong>fica hard e soft <strong>di</strong> un co<strong>di</strong>ce convoluzionale.<br />
Occupiamoci adesso della deco<strong>di</strong>fica utilizzando il criterio della massima<br />
verosimiglianza.<br />
Facciamo riferimento per chiarirci le idee allo schema <strong>di</strong> principio mostrato in<br />
Fig.E 14.1. Esso rappresenta una sorgente binaria che emette una sequenza binaria <strong>di</strong><br />
bit,<br />
, cui è connesso un co<strong>di</strong>ficatore convoluzionale con rate che produce<br />
una sequenza co<strong>di</strong>ficata <strong>di</strong> bit, , che modula antipodalmente un impulso <strong>di</strong><br />
segnalazione ( ) in banda base <strong>di</strong> durata non maggiore dell’intervallo<br />
assegnato ad ogni bit co<strong>di</strong>ficato ottenendo il segnale ( ) ∑ ( ) ( (<br />
) ).<br />
( ) viene quin<strong>di</strong> inviato su un canale AWGN che introduce cioè un rumore<br />
gaussiano n t con densità spettrale <strong>di</strong> potenza bilatera .<br />
Il segnale ( ), in uscita al canale, che perviene al ricevitore, trascurando ritardo<br />
ed attenuazione, sarà quin<strong>di</strong> ( ) ( ) ( ).<br />
Fig.E 14.1 - schema <strong>di</strong> principio <strong>di</strong> un sistema <strong>di</strong> trasmissione, con co<strong>di</strong>ficatore convoluzionale e<br />
modulazione antipodale in banda base - deco<strong>di</strong>ficatore hard, ramo superiore, deco<strong>di</strong>ficatore soft,<br />
ramo inferiore.<br />
Il ricevitore <strong>di</strong> figura è costituito da un filtro adattato all’impulso <strong>di</strong> segnalazione<br />
la cui uscita viene campionata a cadenza , producendo la sequenza , che per le<br />
ipotesi fatte non sarà affetta da interferenza intersimbolica. Avremo cioè<br />
in cui<br />
è una variabile aleatoria Gaussiana a me<strong>di</strong>a nulla e varianza . Ne
̂<br />
108 Capitolo - 14 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
segue che la generica , con<strong>di</strong>zionata all’invio <strong>di</strong> è la realizzazione <strong>di</strong> una variabile<br />
aleatoria gaussiana a me<strong>di</strong>a e varianza . Inoltre Le con<strong>di</strong>zionate<br />
all’invio <strong>di</strong> una data saranno mutualmente statisticamente in<strong>di</strong>pendenti.<br />
In Fig.E 14.1 Abbiamo a questo punto in<strong>di</strong>cato due alternative:<br />
la prima (ramo superiore) consiste nell’utilizzare un rivelatore a soglia che fornirebbe<br />
in uscita una sequenza binaria stimata , da dare in “pasto” ad un deco<strong>di</strong>ficatore<br />
che in questo caso sarebbe <strong>di</strong> tipo hard;<br />
la seconda (ramo inferiore in Fig.E 14.1) utilizzare un deco<strong>di</strong>ficatore in grado <strong>di</strong><br />
utilizzare <strong>di</strong>rettamente la in questo caso il nostro deco<strong>di</strong>ficatore sarebbe <strong>di</strong> tipo<br />
soft.<br />
In<strong>di</strong>pendentemente dal tipo <strong>di</strong> deco<strong>di</strong>ficatore viene prodotta una sequenza<br />
informativa stimata ̂ ottenuta in corrispondenza a una sequenza co<strong>di</strong>ficata<br />
, cioè una sequenza che corrisponde ad un percorso sul trellis del co<strong>di</strong>ficatore.<br />
̂<br />
Ovviamente non è detto che i due deco<strong>di</strong>ficatori producano la stessa ̂ .<br />
In quel che segue supporremo <strong>di</strong> voler deco<strong>di</strong>ficare una sequenza <strong>di</strong> lunghezza<br />
finita. Supporremo anche che il deco<strong>di</strong>ficatore hard o soft che sia:<br />
- conosca la struttura del co<strong>di</strong>ficatore convoluzionale;<br />
- conosca lo stato iniziale in del co<strong>di</strong>ficatore;<br />
- conosca lo stato finale fin del co<strong>di</strong>ficatore,<br />
Osserviamo che la conoscenza dello stato finale da parte del deco<strong>di</strong>ficatore,<br />
implica che il co<strong>di</strong>ficatore abbia provveduto ad aggiungere alla sequenza informativa<br />
un suffisso in grado <strong>di</strong> condurre il co<strong>di</strong>ficatore in uno stato assegnato. Va da se che i<br />
simboli del suffisso non conterranno informazione e comporteranno quin<strong>di</strong> un<br />
peggioramento dell’effettivo rate del co<strong>di</strong>ce. Tale peggioramento sarà tanto meno<br />
rilevante quanto più lunghe saranno le sequenze da trasmettere.<br />
In linea <strong>di</strong> principio la deco<strong>di</strong>fica MV hard della sequenza costituita da<br />
-uple <strong>di</strong> bit in uscita al rivelatore a soglia è semplice, è, infatti, sufficiente scegliere la<br />
sequenza ammissibile 2 che ha la minima <strong>di</strong>stanza <strong>di</strong> Hamming dalla generata<br />
dal rivelatore, scegliendo eventualmente a caso qualora dovesse esservi più d’una<br />
sequenza ammissibile con lo stesso requisito.<br />
Analogamente la deco<strong>di</strong>fica MV soft consisterebbe nello scegliere, tra le<br />
sequenze ammissibili, quella cui è associata una sequenza che, pensata<br />
come un punto <strong>di</strong> , ha la minima <strong>di</strong>stanza Euclidea dalla sequenza<br />
2 per sequenza ammissibile inten<strong>di</strong>amo una sequenza associabile ad un percorso sul trellis che abbia<br />
inizio in e termini in .
L’Algoritmo <strong>di</strong> Viterbi 109<br />
corrispondente al s egnale ricevuto, rappresentata nello stesso spazio. Va da se che, in<br />
questo caso, la probabilità che due sequenze ammissibili abbiano la stessa <strong>di</strong>stanza da<br />
quella ricevuta è nulla.<br />
Già questa sola considerazione ci fa intuire che l’impiego della deco<strong>di</strong>fica soft<br />
migliora le prestazioni del sistema in termini <strong>di</strong> probabilità d’errore.<br />
Al crescere della lunghezza dei messaggi da deco<strong>di</strong>ficare, appare chiaro che<br />
l’approccio sopra descritto seppur formalmente corretto <strong>di</strong>venta improponibile in pratica,<br />
sia per la crescita esponenziale del numero <strong>di</strong> sequenze ammissibili, sia per il<br />
ritardo che un deco<strong>di</strong>ficatore siffatto comporterebbe. Sarebbe infatti in<strong>di</strong>spensabile<br />
attendere la ricezione dell’intera sequenza prima che il processo <strong>di</strong> deco<strong>di</strong>fica abbia<br />
inizio.<br />
14.2 - L’algoritmo <strong>di</strong> Viterbi<br />
In questo paragrafo descriveremo un algoritmo <strong>di</strong> deco<strong>di</strong>fica che, con mo<strong>di</strong>fiche<br />
non concettuali, può essere impiegato sia per deco<strong>di</strong>ficatori hard che soft dei co<strong>di</strong>ci<br />
convoluzionali.<br />
In quel che segue chiameremo:<br />
metrica <strong>di</strong> ramo la <strong>di</strong>stanza <strong>di</strong> Hamming, o il quadrato della <strong>di</strong>stanza Euclidea, tra gli<br />
bit<br />
co<strong>di</strong>ficati che etichettano il ramo e la porzione <strong>di</strong> sequenza<br />
ricevuta corrispondente precisamente<br />
∑ ̆( )<br />
( )<br />
(14.2.1)<br />
∑ ( ) ( )<br />
{<br />
(ad apice abbiamo in<strong>di</strong>cato la sezione <strong>di</strong> trellis cui il ramo appartiene ed i pe<strong>di</strong>ci,<br />
in<strong>di</strong>viduano lo stato <strong>di</strong> partenza e quello <strong>di</strong> arrivo del ramo in esame);<br />
percorso una sequenza ininterrotta <strong>di</strong> rami che origina in in<br />
lunghezza del percorso il numero <strong>di</strong> rami compongono il percorso<br />
metrica <strong>di</strong> percorso la somma delle metriche <strong>di</strong> ramo che compongono il percorso;<br />
cammino una sequenza ininterrotta <strong>di</strong> rami del tipo<br />
lunghezza del cammino il numero <strong>di</strong> rami compongono il cammino<br />
metrica <strong>di</strong> cammino la somma delle metriche dei rami che lo compongono;<br />
Abbiamo detto che il deco<strong>di</strong>ficatore conosce lo stato iniziale in cui si trova il<br />
co<strong>di</strong>ficatore all’arrivo <strong>di</strong> una sequenza informativa, supponiamo sia lo stato zero. Al<br />
primo passo, osservando la sequenza ricevuta, il deco<strong>di</strong>ficatore può etichettare ciascuno
110 Capitolo - 14 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
dei rami del trellis che emergono dallo stato iniziale, con la metrica ad essi<br />
associata, calcolata me<strong>di</strong>ante la prima o la seconda delle (14.2.1), a seconda che la<br />
deco<strong>di</strong>fica sia <strong>di</strong> tipo hard o soft rispettivamente. Il deco<strong>di</strong>ficatore provvederà anche ad<br />
etichettare gli stati raggiunti con le metriche dei percorsi che vi pervengono. Le<br />
metriche <strong>di</strong> percorso in questo caso coincidono banalmente con quelle del singolo ramo<br />
che compone i percorsi cui si riferiscono. Agli stati raggiunti verrà associata anche la<br />
sequenza informativa associata al relativo percorso.<br />
Al secondo passo da ciascuno dei stati raggiunti emergeranno rami, a<br />
ciascuno <strong>di</strong> essi si può associare una metrica <strong>di</strong> ramo come al passo precedente. Ad<br />
ogni stato in cui termina un ramo assoceremo:<br />
- una metrica <strong>di</strong> percorso ottenuta sommando alla metrica del ramo che termina<br />
nello stato in parola quella <strong>di</strong> percorso associata allo stato da cui il ramo emergeva;<br />
- una sequenza informativa <strong>di</strong> percorso ottenuta giustapponendo a quella associata<br />
allo stato <strong>di</strong> partenza quella del ramo.<br />
Potremo continuare ad addentrarci nel trellis seguendo questa logica fino al passo<br />
, in quanto fino a tale passo ogni stato viene raggiunto al più da un percorso.<br />
Al - esimo passo potremo ancora associare ad ogni ramo la sua metrica, ma per<br />
associare le metriche <strong>di</strong> percorso agli stati sorgerà un problema. Esistono infatti<br />
percorsi <strong>di</strong>stinti che terminano in ciascuno stato.<br />
Se consideriamo un cammino nel trellis <strong>di</strong> lunghezza che abbia origine in<br />
uno stato in cui confluiscano percorsi <strong>di</strong> lunghezza , giustapponendo il cammino a<br />
ciascun percorso <strong>di</strong> lunghezza otterremmo percorsi ammissibili <strong>di</strong> lunghezza<br />
. La metrica <strong>di</strong> ciasuno <strong>di</strong> essi sarà data dalla somma della metrica <strong>di</strong> uno dei<br />
percorsi <strong>di</strong> lunghezza più la metrica del cammino. Tra i percorsi così ottenuti quello<br />
che avrà la metrica minore sarà evidentemente ottenuto a partire dal percorso <strong>di</strong><br />
lunghezza che aveva la metrica minore. Ne segue che se più percorsi confluiscono in<br />
uno stesso stato ha senso memorizzare solo quello che ha la metrica minore.<br />
Osserviamo che nel caso in cui la metrica fosse quella <strong>di</strong> Hamming (deco<strong>di</strong>fica<br />
hard) potrebbe darsi che più <strong>di</strong> un percorso abbia minima metrica, il deco<strong>di</strong>ficatore in<br />
questa eventualità dovrebbe scegliere a caso.<br />
Dal - esimo passo in poi il deco<strong>di</strong>ficatore memorizzerà per ogni stato solo la<br />
metrica e la sequenza informativa associata al “miglior” percorso che vi confluisce.<br />
Fa eccezione solo l’ultimo passo, in questo caso il deco<strong>di</strong>ficatore conoscendo lo<br />
stato <strong>di</strong> arrivo si limiterà a considerare solo i percorsi che vi confluiscono scegliendo<br />
il migliore tra essi (quello che ha accumulato la metrica minore).
L’Algoritmo <strong>di</strong> Viterbi 111<br />
Abbiamo appena descritto l’algoritmo <strong>di</strong> Viterbi.<br />
14.3 - Efficienza dell’algoritmo <strong>di</strong> Viterbi<br />
Appare evidente la riduzione <strong>di</strong> complessità <strong>di</strong> questo algoritmo rispetto alla<br />
ricerca esaustiva teorizzata nel paragrafo precedente. Ad ogni passo <strong>di</strong> deco<strong>di</strong>fica, a<br />
parte il transitorio iniziale, dovremo infatti calcolare metriche <strong>di</strong> ramo per ciascuno<br />
( )<br />
dei stati iniziali della sezione <strong>di</strong> trellis ed utilizzarle per calcolare le metriche <strong>di</strong><br />
( )<br />
percorsi. Di questi ultimi solo verranno memorizzati per utilizzarli al passo<br />
successivo. Ne segue che la complessità dell’algoritmo cresce solo linearmente con la<br />
lunghezza della sequenza informativa, a <strong>di</strong>fferenza della ricerca esaustiva che invece<br />
crescerebbe esponenzialmente. Va comunque sottolineato che la complessità<br />
dell’algoritmo <strong>di</strong> Viterbi cresce esponenzialmente con la lunghezza <strong>di</strong> vincolo del<br />
co<strong>di</strong>ficatore.<br />
Un altro vantaggio nell’utilizzo dell’algoritmo <strong>di</strong> Viterbi consiste nel fatto che<br />
dopo un certo numero <strong>di</strong> passi <strong>di</strong> deco<strong>di</strong>fica che <strong>di</strong>pende dalla lunghezza <strong>di</strong> vincolo<br />
(tipicamente una decina <strong>di</strong> lunghezze <strong>di</strong> vincolo) tutti i percorsi “sopravvissuti” finiscono<br />
con l’avere una parte iniziale in comune. Ciò limita sia la latenza sia il<br />
fabbisogno <strong>di</strong> memoria del deco<strong>di</strong>ficatore.
Capitolo - 15<br />
PRESTAZIONI DEI CODICI CONVOLUZIONALI<br />
15.1 - Funzione <strong>di</strong> trasferimento <strong>di</strong> un co<strong>di</strong>ficatore convoluzionale.<br />
I co<strong>di</strong>ci convoluzionali sono come abbiamo già detto lineari, nel senso che la<br />
somma <strong>di</strong> due sequenze co<strong>di</strong>ficate è ancora una sequenza co<strong>di</strong>ficata, esattamente quella<br />
che si otterrebbe co<strong>di</strong>ficando la somma delle due sequenze informative.<br />
Ciò significa che possiamo valutare le prestazioni del co<strong>di</strong>ce in termini <strong>di</strong><br />
probabilità d’errore ammettendo che venga inviata la sequenza nulla e valutare la<br />
probabilità che per effetto del canale venga rivelata dal deco<strong>di</strong>ficatore una sequenza<br />
ammissibile <strong>di</strong>versa.<br />
Per i nostri scopi è utile definire alcune grandezze associate al co<strong>di</strong>ficatore. La<br />
prima è la cosiddetta <strong>di</strong>stanza colonna ( ) essa è un’applicazione che associa ad<br />
ogni livello <strong>di</strong> profon<strong>di</strong>tà del trellis del co<strong>di</strong>ce la minima <strong>di</strong>stanza <strong>di</strong> Hamming<br />
ottenibile dalla sequenza nulla prendendo in considerazione tutte le possibili sequenze<br />
d’ingresso cui corrispondono percorsi sul trellis che si <strong>di</strong>scostano da quello relativo alla<br />
sequenza nulla a partire dall’istante iniziale. Il limite <strong>di</strong> ( ) per si chiama<br />
<strong>di</strong>stanza libera, , del co<strong>di</strong>ce. Il percorso cui corrisponde la <strong>di</strong>stanza libera non è<br />
necessariamente unico, ma certamente salvo il caso in cui il co<strong>di</strong>ce sia catastrofico è un<br />
percorso che si <strong>di</strong>scosta dalla sequenza nulla per poi ricongiungersi ad essa.<br />
Sia la <strong>di</strong>stanza colonna che la <strong>di</strong>stanza libera possono in teoria essere calcolate<br />
per ispezione <strong>di</strong>retta sul trellis del co<strong>di</strong>ce, ma è anche possibile ottenere la <strong>di</strong>stanza<br />
libera e molte altre informazioni sul co<strong>di</strong>ce procedendo in modo <strong>di</strong>verso.<br />
Ci proponiamo in particolare <strong>di</strong> raccogliere informazioni sul numero <strong>di</strong> percorsi che<br />
hanno origine e termine nello stato zero <strong>di</strong>versi da quello che da esso non si <strong>di</strong>scosta<br />
mai.<br />
Per farlo consideriamo il<br />
<strong>di</strong>agramma degli stati del<br />
co<strong>di</strong>ficatore e sopprimiamo il<br />
self loop associato allo stato<br />
Fig.E 15.1 – Grafo mo<strong>di</strong>ficato del Co<strong>di</strong>ce rate<br />
zero sdoppiamo quin<strong>di</strong> lo stato<br />
zero in due stati uno, sorgente, da cui fuoriescono i rami ed uno, pozzo con solo rami<br />
entranti come in Fig.E 15.1. Nella stessa figura si può notare anche che i rami del grafo<br />
sono stati etichettati con dei trinomi l’indeterminata vi compare sempre con grado ,
114 Capitolo - 15<br />
la sua funzione è in realtà solo quella <strong>di</strong> tener conto del passaggio attraverso il ramo, il<br />
grado <strong>di</strong> esprime il peso della parola informativa associata al ramo esso è quin<strong>di</strong><br />
compreso tra e , il grado <strong>di</strong> esprime il peso della parola <strong>di</strong> co<strong>di</strong>ce associata al<br />
ramo, e non può quin<strong>di</strong> essere maggiore <strong>di</strong> .<br />
Basandoci sulla teoria dei grafi orientati e pesati possiamo ricavare la funzione <strong>di</strong><br />
trasferimento tra il nodo sorgente ed il nodo pozzo.<br />
Per farlo si può procedere in due mo<strong>di</strong>, il più semplice consiste nello scrivere il<br />
sistema lineare <strong>di</strong> equazioni che il grafo rappresenta. Ciò si ottiene associando ad ogni<br />
nodo un’incognita del sistema.<br />
In corrispondenza a ciascun nodo possiamo scrivere un’equazione che, detta<br />
l’incognita associata al nodo -esimo e la trasferenza associata al ramo che emerge<br />
dal nodo -esimo e converge in quello -esimo, sarà del tipo:<br />
( )<br />
∑<br />
(15.1.1)<br />
Osserviamo che l’equazione associata al ramo sorgente si riduce ad un’identità<br />
essendo quest’ultimo privo <strong>di</strong> rami entranti. A titolo d’esempio, denominando rispettivamente<br />
V<br />
in<br />
e V<br />
out<br />
le variabili associate al nodo sorgente ed al nodo pozzo in cui<br />
abbiamo sdoppiato lo stato 0 , scriviamo le equazioni associate al grafo <strong>di</strong> Fig.E 15.1:<br />
(15.1.2)<br />
{<br />
Possiamo quin<strong>di</strong> procedere all’eliminazione <strong>di</strong> tutte le variabili ad eccezione<br />
delle e . Utilizzando ad esempio le prime tre equazioni otteniamo:<br />
(15.1.3)<br />
{<br />
quin<strong>di</strong>, procedendo in modo analogo, dopo qualche passaggio otteniamo:
Prestazioni dei Co<strong>di</strong>ci Convoluzionali 115<br />
la (<br />
( )<br />
) prende il nome <strong>di</strong> funzione <strong>di</strong> trasferimento del co<strong>di</strong>ce.<br />
(15.1.4)<br />
Se con la tecnica della <strong>di</strong>visione lunga espan<strong>di</strong>amo la (15.1.4), pensando il<br />
numeratore e il denominatore come polinomi nell’indeterminata<br />
scrivere:<br />
( ) ( ) (<br />
) ( )<br />
(<br />
)<br />
dal coefficiente della potenza più piccola <strong>di</strong><br />
, possiamo ancora<br />
(15.1.5)<br />
a secondo membro della precedente,<br />
desumiamo che vi è un cammino con peso d’ingresso che si <strong>di</strong>scosta dallo stato e<br />
che torna ad esso dopo<br />
rami accumulando un peso d’uscita pari a . Ne segue che la<br />
<strong>di</strong>stanza libera del co<strong>di</strong>ce in parola sarà esattamente<br />
della potenza <strong>di</strong><br />
. Osservando il coefficiente<br />
imme<strong>di</strong>atamente superiore scopriamo che esistono anche tre percorsi<br />
con peso d’uscita , <strong>di</strong> cui: uno <strong>di</strong> lunghezza<br />
e peso d’ingresso ; il secondo <strong>di</strong><br />
lunghezza e peso d’ingresso ; il terzo <strong>di</strong> lunghezza con peso d’ingresso .<br />
Qualora fossimo interessati solo al peso delle sequenze co<strong>di</strong>ficate che si<br />
<strong>di</strong>scostano dalla sequenza nulla per poi ricongiungersi con essa, potremmo porre nella<br />
(15.1.4) o nella (15.1.5) e , ottenendo<br />
( ) (15.1.6)<br />
In generale la funzione <strong>di</strong> trasferimento <strong>di</strong> un co<strong>di</strong>ce convoluzionale può essere<br />
espressa nella forma:<br />
( ) ∑ ∑ ∑ ( ) (15.1.7)<br />
dove ( , , ) esprime il numero <strong>di</strong> cammini <strong>di</strong> peso , con peso della sequenza<br />
d’ingresso che emergono dallo stato zero per poi farvi ritorno dopo rami.<br />
Dalla precedente, eguagliando ad le variabili che non ci interessano e<br />
sommando rispetto ai rispettivi in<strong>di</strong>ci, otteniamo delle funzioni <strong>di</strong> trasferimento<br />
semplificate, ad esempio ponendo e nella (15.1.7) otteniamo<br />
( ) ( ) ∑ ∑ ∑ ( ) ∑ ( ) (15.1.8)<br />
dove ( ) ∑ ∑ ( ).
116 Capitolo - 15<br />
15.2 - Bound sulla probabilità <strong>di</strong> primo evento d’errore.<br />
Per analizzare le prestazioni <strong>di</strong> un co<strong>di</strong>ce convoluzionale si fa riferimento, oltre<br />
che alla probabilità d’errore sul bit informativo anche alla cosiddetta probabilità <strong>di</strong><br />
primo evento d’errore, o anche probabilità d’errore <strong>di</strong> nodo. Essa esprime la probabilità<br />
che in un certo istante la sequenza stimata si <strong>di</strong>scosti da quella effettivamente trasmessa<br />
per poi ricongiungersi con essa.<br />
Possiamo assumere ai fini del calcolo che la sequenza trasmessa<br />
quella identicamente nulla, in<strong>di</strong>cheremo con<br />
sia<br />
. tale sequenza che corrisponde al<br />
percorso semiinfinito sul trellis che non si <strong>di</strong>scosta mai dallo stato . Possiamo fare tale<br />
ipotesi in virtù della linearità del co<strong>di</strong>ficatore e del fatto che la deco<strong>di</strong>fica è a massima<br />
verosimiglianza.<br />
binaria<br />
Sappiamo che il deco<strong>di</strong>ficatore opera le sue scelte basandosi sulla sequenza<br />
sequenza reale<br />
prodotta dal rivelatore a soglia nel caso <strong>di</strong> deco<strong>di</strong>fica hard, ovvero sulla<br />
dei campioni in uscita al filtro adattato per deco<strong>di</strong>fica soft.<br />
Ammettiamo che fino alla profon<strong>di</strong>tà<br />
attribuito al percorso<br />
( ) ( )<br />
cammino ˜<br />
<strong>di</strong> trellis. Alla profon<strong>di</strong>tà<br />
nel trellis il deco<strong>di</strong>ficatore abbia<br />
la metrica minore e che al passo successivo abbia inizio un<br />
che si <strong>di</strong>scosta dallo stato per ritornarvi dopo sezioni<br />
il deco<strong>di</strong>ficatore lascerà sopravvivere un solo percorso<br />
tra quelli che pervengono allo stato se il percorso , coincidente con fino alla<br />
profon<strong>di</strong>tà nel trellis e con da fino alla sezione , avrà accumulato la<br />
metrica minore <strong>di</strong> , quest’ultimo verrà scartato. è un possibile primo evento<br />
d’errore. Va da sé che vi è un’infinità numerabile <strong>di</strong> possibili primi eventi d’errore, cioè<br />
tutti i cammini che si <strong>di</strong>scostano dallo stato zero per poi ricongiungersi ad esso.<br />
Purtroppo il calcolo esatto della probabilità <strong>di</strong> primo evento d’errore è impraticabile,<br />
possiamo tuttavia maggiorare la probabilità cercata, basandoci sull’union bound.<br />
Detto il cammino coincidente con tra le sezioni e<br />
Osserviamo che la scelta del deco<strong>di</strong>ficatore sarà determinata soltanto dalle metrica<br />
accumulata dai cammini e , in quanto fino al passo i due percorsi coincidevano<br />
quin<strong>di</strong> con<strong>di</strong>videvano la stessa metrica.<br />
Per applicare l’union bound dobbiamo valutare in corrispondenza a ciascun<br />
primo evento d’errore la probabilità che esso si manifesti nell’ipotesi che il<br />
deco<strong>di</strong>ficatore possa scegliere solo tra il percorso corretto e quello relativo all’evento<br />
d’errore in parola.
Prestazioni dei Co<strong>di</strong>ci Convoluzionali 117<br />
Ciò, detto in altri termini, equivale a calcolare la probabilità che, a causa del<br />
rumore introdotto dal canale BSC, la porzione <strong>di</strong> sequenza<br />
rivelatore a soglia, per il deco<strong>di</strong>ficatore hard (la porzione<br />
( ) in uscita al<br />
( ) <strong>di</strong> campioni in<br />
uscita al filtro adattato per quello soft) corrispondente alle sezioni del trellis che<br />
contengono i due cammini e , , appartenga alla regione <strong>di</strong> decisione <strong>di</strong><br />
malgrado sia stata inviata la sequenza identicamente nulla, corrispondente a<br />
Ci si convince facilmente che la somma <strong>di</strong> tutte le probabilità appena descritte<br />
maggiora la probabilità d’errore <strong>di</strong> nodo, in quanto quest’ultima rappresenta la<br />
probabilità dell’evento unione tra tutti quelli associati ai possibili primi eventi d’errore<br />
sopra descritti.<br />
Detto ̅ il complementare della regione <strong>di</strong> decisione del cammino corretto<br />
nell’ipotesi che il decisore sia chiamato a scegliere tra e , possiamo scrivere:<br />
∑ (<br />
( )<br />
̅<br />
( )<br />
) (15.2.1)<br />
Nel caso <strong>di</strong> deco<strong>di</strong>fica hard, è opportuno osservare che ai fini del calcolo della<br />
probabilità che compare ad argomento della sommatoria nella (15.2.1), non<br />
contribuiscono i bit co<strong>di</strong>ficati <strong>di</strong> uguali a quelli <strong>di</strong> (cioè i bit nulli <strong>di</strong> ), in<br />
quanto quale che sia il corrispondente bit della sequenza ricevuta esso apporterebbe un<br />
eguale contributo alle <strong>di</strong>stanze <strong>di</strong><br />
( ) da entrambi i cammini e .<br />
In<strong>di</strong>chiamo adesso con ( ) il peso del cammino . Osserviamo che se ( ) è<br />
<strong>di</strong>spari, posto ⌊ ( ) ⌋ , il deco<strong>di</strong>ficatore sceglierà il cammino ogniqualvolta<br />
risulti:<br />
(<br />
( )<br />
) (15.2.2)<br />
La probabilità che ciò accada, con<strong>di</strong>zionata all’invio della sequenza nulla è data da:<br />
( ̂ ( ) ( ) )<br />
( )<br />
( )<br />
( (<br />
)<br />
)<br />
( ) (15.2.3)<br />
∑ ( ( ) ) ( ) ( )<br />
dove ̂ ( ) in<strong>di</strong>ca il cammino stimato e in<strong>di</strong>ca la probabilità <strong>di</strong> crossover del<br />
BSC con cui può essere schematizzata la parte inclusa nel poligono tratteggiato in rosso<br />
del sistema <strong>di</strong> trasmissione mostrato in Fig.E 14.1.
118 Capitolo - 15<br />
Se il peso <strong>di</strong> è pari esisteranno ( ( )<br />
( ) ) possibili sequenze ricevute<br />
( )<br />
che hanno eguale <strong>di</strong>stanza da e . In tale eventualità il deco<strong>di</strong>ficatore sceglierebbe<br />
in modo puramente casuale tra e . La probabilità che venga scelto il cammino<br />
sarà in questo caso espressa dalla:<br />
(<br />
( ) ( )<br />
)<br />
( (<br />
( )<br />
)<br />
( ) ( )<br />
)<br />
(( (<br />
( )<br />
))<br />
( )<br />
( )<br />
( ( )) ( ) ( )<br />
(15.2.4)<br />
(15.2.5)<br />
( ) ⌋<br />
( )<br />
∑ ( ( ) ) ( ) ( )<br />
⌊<br />
Esempio 15.1<br />
La probabilità <strong>di</strong> crossover del BSC con cui può essere schematizzata la parte inclusa nel<br />
poligono tratteggiato in rosso del sistema <strong>di</strong> trasmissione mostrato in Fig.E 14.1, assumendo che al<br />
bit co<strong>di</strong>ficato competa un’energia<br />
e che il rumore gaussiano abbia una densità<br />
spettrale <strong>di</strong> potenza monolatera , sarà espressa dalla probabilità che il campione in uscita al<br />
filtro adattato per effetto del rumore sia minore <strong>di</strong> zero, malgrado il bit co<strong>di</strong>ficato fosse un uno, o<br />
in<strong>di</strong>fferentemente, dalla probabilità che il succitato campione, per lo stesso motivo, sia maggiore <strong>di</strong><br />
zero malgrado il bit co<strong>di</strong>ficato inviato fosse uno zero. Nel caso in cui il bit trasmesso sia un uno<br />
avremo<br />
( ) ∫<br />
√<br />
( ) √<br />
√ ∫<br />
√<br />
)<br />
(<br />
√ ) ( √ )<br />
Tenuto conto delle ipotesi fatte sull’energia del bit co<strong>di</strong>ficato, se vogliamo fare comparire nella<br />
precedente il rapporto tra l’energia associata al bit informativo e la densità spettrale monolatera <strong>di</strong><br />
rumore possiamo scrivere:<br />
Da cui:<br />
√<br />
(√ )<br />
√<br />
Osserviamo che la (15.2.3) e la (15.2.4), <strong>di</strong>pendono solo dal peso <strong>di</strong> non dal<br />
numero <strong>di</strong> rami da cui esso è costituito. In altri termini, tutti gli eventi d’errore <strong>di</strong><br />
uguale peso avranno la stessa probabilità <strong>di</strong> essere erroneamente scelti dal<br />
deco<strong>di</strong>ficatore in<strong>di</strong>pendentemente numero <strong>di</strong> rami in essi contenuti. Sulla base <strong>di</strong><br />
quest’ultima osservazione possiamo compattare in un'unica espressione la (15.2.3) e la<br />
(15.2.4), in<strong>di</strong>cando semplicemente con un evento d’errore <strong>di</strong> peso , ottenendo:
Prestazioni dei Co<strong>di</strong>ci Convoluzionali 119<br />
( )<br />
( )<br />
( ⌊ ⌋<br />
) ( ) ∑ ( ) ( ) (15.2.6)<br />
Osserviamo adesso che la probabilità <strong>di</strong> primo evento <strong>di</strong> errore <strong>di</strong> peso<br />
con<strong>di</strong>zionata all’invio <strong>di</strong> una qualunque sequenza è uguale a quella con<strong>di</strong>zionata<br />
all’invio della sequenza nulla. Ne segue che, se tutti i percorsi sul trellis sono<br />
equiprobabili, la probabilità <strong>di</strong> errore <strong>di</strong> nodo <strong>di</strong> peso è uguale alla probabilità <strong>di</strong><br />
errore <strong>di</strong> nodo con<strong>di</strong>zionata all’invio della sequenza nulla:<br />
( ) ( ) (15.2.7)<br />
La (15.2.6) ci suggerisce <strong>di</strong> rior<strong>di</strong>nare la (15.2.1) accorpando tutti gli eventi d’errore <strong>di</strong><br />
ugual peso. Il numero <strong>di</strong> tali eventi può essere dedotto dalla ( ) del co<strong>di</strong>ce. Tenendo<br />
conto della (15.1.8) e della (15.2.7) possiamo quin<strong>di</strong> scrivere:<br />
∑ (<br />
( )<br />
̅<br />
( )<br />
) ∑ ( ) ( ) (15.2.8)<br />
Nel caso <strong>di</strong> deco<strong>di</strong>fica soft, basandoci sullo schema <strong>di</strong> Fig.E 14.1 e assumendo che<br />
l’impulso <strong>di</strong> segnalazione abbia energia<br />
E<br />
s<br />
, potremo scrivere:<br />
∑ ( (<br />
( ) ( )<br />
{√ ( ˜<br />
)} ( ) )<br />
∑<br />
(<br />
( ) { √ } ( ) )<br />
√∑<br />
( )<br />
(<br />
( √ ˜<br />
) )<br />
√<br />
( )<br />
∑ (√<br />
)<br />
( ) )<br />
(15.2.9)<br />
(<br />
)<br />
che può essere anche riformulata in termini dell’energia per bit informativo, ponendo<br />
cioè , dove è il rate del co<strong>di</strong>ce e della densità spettrale <strong>di</strong> potenza<br />
monolatera ottenendo:<br />
∑ (√ ( ) ) (15.2.10)<br />
Osserviamo che anche gli argomenti delle ( ) a secondo membro della<br />
precedente non <strong>di</strong>pendono dalla lunghezza <strong>di</strong> , ma solo dal suo peso. La<br />
sommatoria a secondo membro della precedente può quin<strong>di</strong>, anche in questo caso,<br />
essere rior<strong>di</strong>nata accorpando tutti gli eventi <strong>di</strong> errore <strong>di</strong> egual peso, ottenendo:
120 Capitolo - 15<br />
∑ ( ) (√ ) (15.2.11)<br />
La precedente, a fronte <strong>di</strong> un’ulteriore maggiorazione può assumere una forma più<br />
semplice da calcolare. Ricordando infatti che ve<strong>di</strong> , per argomento non negativo, vale la<br />
<strong>di</strong>suguaglianza ( )<br />
(ve<strong>di</strong> (5.9.14), possiamo ancora scrivere:<br />
( ) (√ ) ( ) (15.2.12)<br />
per mezzo della quale otteniamo:<br />
∑ ( ) (√ ) ∑ ( ) ( )| (15.2.13)<br />
Anche nel caso della deco<strong>di</strong>fica Hard possiamo maggiorare ulteriormente la<br />
ricordando la maggiorazione <strong>di</strong> Bhattacharyya (5.9.10) che ci permette <strong>di</strong><br />
scrivere:<br />
( ) ( ) (15.2.14)<br />
Quest’ultima ci permette, partendo dalla (15.2.8) <strong>di</strong> scrivere:<br />
∑ ( ) ( ) ∑ ( ) ( ) ( ) (15.2.15)<br />
La (15.2.13) e la (15.2.15) possono essere calcolate facilmente, <strong>di</strong>sponendo della<br />
( ) del co<strong>di</strong>ce, la (15.2.8) e la (15.2.11) sono dei bound più stretti, ma possono essere<br />
calcolati solo in modo approssimato, entrambe tuttavia sono in genere dominate dal<br />
primo addendo della sommatoria che corrisponde alla <strong>di</strong>stanza libera del co<strong>di</strong>ce. Il<br />
primo addendo <strong>di</strong> ciascuna <strong>di</strong> esse rappresenta in genere già da solo una maggiorazione<br />
della probabilità d’errore <strong>di</strong> nodo.<br />
15.3 - Bound sulla probabilità d’errore sul bit informativo.<br />
Al fine <strong>di</strong> calcolare la probabilità d’errore sul bit d’informazione consideriamo<br />
una porzione <strong>di</strong> sequenza deco<strong>di</strong>ficata ̂ costituita da bit co<strong>di</strong>ficati con<br />
(l’apice ha la sola funzione <strong>di</strong> etichetta). Nella corrispondente porzione <strong>di</strong><br />
sequenza deco<strong>di</strong>ficata ̂ costituita da bit saranno presenti un certo numero <strong>di</strong><br />
bit errati. Osserviamo che la presenza <strong>di</strong> un bit errato è possibile solo se nella ̂ si<br />
è manifestato un errore <strong>di</strong> nodo. Sappiamo anche che ad ogni evento d’errore <strong>di</strong> nodo<br />
corrisponde un ben preciso numero <strong>di</strong> bit d’informazione errati.
Prestazioni dei Co<strong>di</strong>ci Convoluzionali 121<br />
Il numero totale <strong>di</strong> bit informativi errati potrà anche essere espresso accorpando<br />
tutti gli eventi d’errore <strong>di</strong> nodo caratterizzati da uno stesso numero <strong>di</strong> bit informativi<br />
errati. La frequenza relativa d’errore sul bit ( ), associata alla sequenza -esima,<br />
sarà quin<strong>di</strong> espressa dal rapporto tra il numero <strong>di</strong> bit informativi errati e il numero<br />
totale dei bit informativi inviati nella sequenza in esame. Detto quin<strong>di</strong> ( ) il<br />
numero <strong>di</strong> eventi d’errore, manifestatisi nella -esima realizzazione dell’esperimento,<br />
che contengono esattamente bit informativi errati, possiamo scrivere:<br />
( ) ∑<br />
( )<br />
(15.3.1)<br />
La probabilità d’errore sul bit informativo si può ottenere me<strong>di</strong>ando su un<br />
numero idealmente infinito <strong>di</strong> repliche dello stesso esperimento come segue:<br />
( )<br />
∑ ( )<br />
sostituendo la (15.3.2) nella precedente abbiamo:<br />
(15.3.2)<br />
( )<br />
∑ ∑<br />
( )<br />
∑<br />
∑<br />
( )<br />
(15.3.3)<br />
nella quale, prima <strong>di</strong> invertire l’or<strong>di</strong>ne delle sommatorie, si è tenuto conto del fatto che<br />
al crescere della lunghezza della sequenza si possono manifestare eventi d’errore con<br />
un numero arbitrariamente grande <strong>di</strong> bit informativi errati. Si constata facilmente che il<br />
limite ad ultimo membro della (15.3.3) esprime la probabilità che si manifesti un<br />
qualsiasi evento d’errore <strong>di</strong> nodo che contenga esattamente bit informativi errati.<br />
In<strong>di</strong>cando con l’insieme <strong>di</strong> tutti gli eventi d’errore con bit informativi errati<br />
possiamo scrivere:<br />
∑<br />
( )<br />
( )<br />
(15.3.4)<br />
la precedente può essere maggiorata applicando, come nel paragrafo precedente,<br />
l’union bound:<br />
( ) ∑ ( )<br />
(15.3.5)<br />
A partire dalla (15.3.3) possiamo ancora scrivere:<br />
( ) ∑ ( ) ∑ ∑ ( ) (15.3.6)<br />
Ricordando la (15.1.7) che per como<strong>di</strong>tà riscriviamo:
122 Capitolo - 15<br />
( ) ∑ ∑ ∑ ( ) (15.3.7)<br />
e tenuto conto che, in<strong>di</strong>pendentemente dal tipo <strong>di</strong> deco<strong>di</strong>ficatore, la probabilità che si<br />
presenti un dato errore <strong>di</strong> nodo <strong>di</strong>pende solo dal suo peso possiamo ancora scrivere:<br />
( ) ∑ ∑ ( ) ∑ ∑ ∑ ( ) ( )<br />
∑ ∑ ( ) ( )<br />
(15.3.8)<br />
La precedente può essere ulteriormente maggiorata applicando la (15.2.15) nel caso <strong>di</strong><br />
deco<strong>di</strong>fica hard o la (15.2.13) in quella soft ottenendo rispettivamente:<br />
( ) ∑ ∑ ( ) ( ) ∑ ∑ ( ) (15.3.9)<br />
Osserviamo adesso che risulta:<br />
( ) ∑ ∑ ( )( ) (15.3.10)<br />
( ) | ∑ ∑ ∑ ( ) |<br />
(15.3.11)<br />
∑ ∑ ∑ ( ) ∑ ∑ ( )<br />
la quale ci permette <strong>di</strong> riscrivere la (15.3.9) e la (15.3.10) rispettivamente nella forma<br />
più compatta:<br />
( )<br />
( ) | (15.3.12)<br />
e<br />
( )<br />
( ) | (15.3.13)
Capitolo - 16<br />
ANELLI DI POLINOMI<br />
16.1 - Premessa<br />
Abbiamo già fornito la definizione <strong>di</strong> campo e abbiamo anche operato nel campo<br />
costituito da due soli elementi. Si possono costruire anche campi finiti (Campi <strong>di</strong><br />
Galois Galois Field) con un numero d’elementi che sia un primo o una potenza <strong>di</strong><br />
un primo.<br />
GF 7<br />
0 1 2 3 4 5 6 ⊗ 0 1 2 3 4 5 6<br />
0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0<br />
1 1 2 3 4 5 6 0 1 0 1 2 3 4 5 6<br />
2 2 3 4 5 6 0 1 2 0 2 4 6 1 3 5<br />
3 3 4 5 6 0 1 2 3 0 3 6 2 5 1 4<br />
4 4 5 6 0 1 2 3 4 0 4 1 5 2 6 3<br />
5 5 6 0 1 2 3 4 5 0 5 3 1 6 4 2<br />
6 6 0 1 2 3 4 5 6 0 6 5 4 3 2 1<br />
Tabella 16.1 - Campo <strong>di</strong> Galois <strong>di</strong> 7 elementi<br />
Nel caso in cui il<br />
campo abbia un numero primo<br />
d’elementi, l’ad<strong>di</strong>zione<br />
e la moltiplicazione tra elementi<br />
del campo si possono<br />
effettuare in modo tra<strong>di</strong>zionale<br />
avendo cura <strong>di</strong> ridurre il<br />
risultato modulo .<br />
Nella Tabella 16.1 a titolo d’esempio sono riportati i risultati <strong>di</strong> tutte le possibili<br />
somme e prodotti tra coppie d’elementi <strong>di</strong> 7, il campo <strong>di</strong> Galois con sette elementi.<br />
16.2 - L’anello polinomi a coefficienti in<br />
Consideriamo un campo e un’indeterminata , in<strong>di</strong>chiamo con l’insieme<br />
<strong>di</strong> tutti i possibili polinomi (cioè <strong>di</strong> qualunque grado) nella variabile con coefficienti<br />
appartenenti ad , il generico elemento <strong>di</strong> sarà cioè del tipo:<br />
( ) ( ) (16.2.1)<br />
dove è un intero non negativo qualsiasi ed , essendo l’elemento neutro<br />
rispetto all’ad<strong>di</strong>zione in . Conveniamo inoltre:<br />
a) <strong>di</strong> utilizzare per le leggi <strong>di</strong> composizione del campo i simboli utilizzati per il campo<br />
reale<br />
(<br />
b) <strong>di</strong> in<strong>di</strong>care con ) ( ) il polinomio identicamente nullo, cioè coincidente con<br />
c) <strong>di</strong> omettere l’apice tra parentesi per in<strong>di</strong>care un polinomio <strong>di</strong> grado generico;<br />
(<br />
d) che dato ) ( ), per .<br />
Siano<br />
( ) ( )<br />
( ) ( ) due elementi <strong>di</strong> e un elemento <strong>di</strong> , poniamo:<br />
( )<br />
( ) ( ) ( ) ( )<br />
(16.2.2)
124 Capitolo - 16 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
( ) ( )<br />
( ) ( )<br />
( ) ( )<br />
(16.2.3)<br />
e<br />
( ) ( )<br />
( ) ( )<br />
( ) ( )<br />
∑<br />
(16.2.4)<br />
Nella precedente la sommatoria va ovviamente calcolata secondo le regole <strong>di</strong> , come<br />
pure il prodotto al suo interno.<br />
In sostanza abbiamo appena introdotto in l’ad<strong>di</strong>zione e la moltiplicazione.<br />
Rispetto all’ad<strong>di</strong>zione è facile verificare che è un gruppo commutativo, inoltre la<br />
moltiplicazione tra polinomi in è commutativa e <strong>di</strong>stributiva rispetto all’ad<strong>di</strong>zione.<br />
è pertanto un anello commutativo, con identità, che, ovviamente, coincide con<br />
l’identità del campo , che in<strong>di</strong>cheremo con .<br />
Osserviamo che il prodotto tra polinomi non nulli è un polinomio non nullo. Si<br />
ottiene il polinomio nullo se e solo se uno almeno dei due moltiplican<strong>di</strong> è il polinomio<br />
nullo. Vale cioè anche la legge <strong>di</strong> annullamento del prodotto.<br />
Quanto detto comporta tra l'altro che i polinomi<br />
sono<br />
linearmente in<strong>di</strong>pendenti su .<br />
16.3 - Spazi <strong>di</strong> polinomi<br />
Consideriamo adesso il sottoinsieme<br />
( )<br />
<strong>di</strong><br />
costituito da tutti i<br />
polinomi <strong>di</strong> grado minore <strong>di</strong> . La somma <strong>di</strong> due elementi <strong>di</strong><br />
( )<br />
è ancora un<br />
elemento <strong>di</strong><br />
( )<br />
. Inoltre moltiplicando un qualunque elemento <strong>di</strong><br />
( )<br />
per<br />
un elemento <strong>di</strong><br />
, che coincide con<br />
( )<br />
, otteniamo ancora un elemento <strong>di</strong><br />
( )<br />
.<br />
( )<br />
è quin<strong>di</strong> uno spazio vettoriale su e che la sua <strong>di</strong>mensione è in<br />
quanto generabile tramite i suoi elementi linearmente in<strong>di</strong>pendenti .<br />
Ci si convince facilmente che detto spazio vettoriale è isomorfo allo spazio<br />
costituito da tutte le -uple or<strong>di</strong>nate <strong>di</strong> elementi <strong>di</strong> , basta infatti associare al<br />
(<br />
polinomio ) ( ) ( ) , l’elemento a se ,<br />
ovvero l’elemento<br />
se
Capitolo - 17<br />
CODICI POLINOMIALI<br />
(<br />
Dati due interi e , scegliamo un polinomio ) ( ) che<br />
(<br />
chiameremo polinomio generatore, tramite ) ( ) possiamo in<strong>di</strong>viduare il sottoinsieme<br />
( )<br />
che contiene i polinomi che si ottengono da tutti i possibili<br />
(<br />
prodotti tra ) ( ) e i polinomi ( ) ( ) .<br />
Consideriamo adesso due elementi ( ) e ( ) appartenenti a , quin<strong>di</strong><br />
esprimibili rispettivamente nella forma:<br />
Comunque scelti<br />
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (17.1.1)<br />
risulta:<br />
( ) ( ) ( ( ) ( )) ( ) ( ) (17.1.2)<br />
La precedente ci mostra che ( ) è un sottospazio <strong>di</strong><br />
sottogruppo.<br />
( )<br />
, quin<strong>di</strong> ne è anche un<br />
Il corrispondente sottoinsieme <strong>di</strong> è quin<strong>di</strong> un co<strong>di</strong>ce <strong>di</strong> gruppo.<br />
Abbiamo già detto (ve<strong>di</strong> § 8.2 - ) che la <strong>di</strong>stanza <strong>di</strong> Hamming tra parole <strong>di</strong> è<br />
una metrica, la <strong>di</strong>stanza minima <strong>di</strong> è data dalla sua parola <strong>di</strong> peso minimo cioè dalla<br />
parola che ha il minor numero <strong>di</strong> lettere <strong>di</strong>verse da , che non è necessariamente unica.<br />
Ci si convince anche facilmente del fatto che se s’intende impiegare un co<strong>di</strong>ce<br />
polinomiale per la rilevazione d’errore è sufficiente <strong>di</strong>videre il polinomio<br />
corrispondente alla parola ricevuta per il polinomio generatore, e verificare che il resto<br />
<strong>di</strong> tale <strong>di</strong>visione sia il polinomio nullo, per essere certi che la parola ricevuta appartiene<br />
al co<strong>di</strong>ce.<br />
Consideriamo adesso il caso dei co<strong>di</strong>ci polinomiali sul campo essi sono<br />
certamente co<strong>di</strong>ci binari a blocchi, nel senso che ammettono una matrice generatrice<br />
(<br />
che si può facilmente costruire a partire da ) ( ). Come righe <strong>di</strong> tale matrice si<br />
possono scegliere infatti le stringhe dei coefficienti dei polinomi <strong>di</strong> co<strong>di</strong>ce ottenuti<br />
moltiplicando il polinomio generatore per i polinomi<br />
. Viceversa non<br />
è vero in generale che i co<strong>di</strong>ci lineari a blocchi siano polinomiali, al fine <strong>di</strong> verificare se<br />
un co<strong>di</strong>ce lineare a blocchi è polinomiale è sufficiente verificare che tutti i polinomi<br />
associati alle righe della matrice generatrice ammettano un fattore comune <strong>di</strong> grado<br />
.
Capitolo - 18<br />
IDEALI DI UN ANELLO DI POLINOMI<br />
18.1 - Premessa<br />
Torniamo adesso a parlare <strong>di</strong> campi finiti, abbiamo visto come si possono<br />
costruire campi finiti con un numero primo d’elementi; è anche possibile, come<br />
mostreremo più avanti, definire campi che hanno un numero <strong>di</strong> elementi che è una<br />
potenza (ad esponente intero) <strong>di</strong> un numero primo. Il generico elemento <strong>di</strong> un tale<br />
campo si può quin<strong>di</strong> mettere in corrispondenza biunivoca con l’insieme<br />
ha la stessa car<strong>di</strong>nalità.<br />
( )<br />
, che<br />
Sorge quin<strong>di</strong> spontaneo indagare sulla possibilità <strong>di</strong> in<strong>di</strong>viduare in<br />
( )<br />
due<br />
opportune leggi <strong>di</strong> composizione tra suoi elementi che consentano <strong>di</strong> pensare a<br />
( )<br />
come ad un campo <strong>di</strong><br />
elementi. Sarebbe a questo punto possibile definire<br />
degli isomorfismi tra<br />
( )<br />
e<br />
. Parliamo <strong>di</strong> isomorfismi perché potrebbero<br />
esistere più leggi <strong>di</strong> composizione interna che sod<strong>di</strong>sfano le con<strong>di</strong>zioni necessarie per<br />
interpretare<br />
( )<br />
come campo.<br />
Abbiamo già visto che<br />
( )<br />
è un gruppo commutativo rispetto all’ad<strong>di</strong>zione<br />
tra polinomi, purtroppo non possiamo <strong>di</strong>re lo stesso della moltiplicazione tra polinomi<br />
non foss’altro perché<br />
( )<br />
non è chiuso rispetto ad essa.<br />
È quin<strong>di</strong> necessario definire una legge <strong>di</strong> composizione interna per<br />
( )<br />
abbia tutte le proprietà <strong>di</strong> cui deve godere la moltiplicazione tra elementi <strong>di</strong> un campo.<br />
A tal fine è necessaria una piccola <strong>di</strong>gressione <strong>di</strong> carattere generale.<br />
che<br />
18.2 - Ideali <strong>di</strong> un anello con identità.<br />
Consideriamo un anello commutativo con identità<br />
sottogruppo è un ideale se:<br />
<strong>di</strong>ciamo che un suo<br />
⊗ (18.2.1)<br />
Qualora l’anello non fosse commutativo dovremmo <strong>di</strong>stinguere tra ideale sinistro e<br />
ideale destro, che potrebbero anche coincidere, nel qual caso si tratterebbe <strong>di</strong> un ideale<br />
bilaterale.
128 Capitolo - 18 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Abbiamo detto che un ideale è un sottogruppo <strong>di</strong><br />
, quin<strong>di</strong> definisce un gruppo<br />
quoziente ⁄ , i cui elementi sono l’ideale stesso, che ne costituisce l’elemento neutro,<br />
e tutti i suoi laterali in , che in<strong>di</strong>cheremo con . Con questa notazione risulta:<br />
( )<br />
⊗ ( ⊗ )<br />
(18.2.2)<br />
Osserviamo che le precedenti sono in<strong>di</strong>pendenti dalla scelta dei rappresentanti <strong>di</strong><br />
laterale. Si può anche verificare che ⁄ è come<br />
un anello commutativo con identità.<br />
Detto anello quoziente <strong>di</strong> rispetto a . Dalla seconda delle (18.2.2) si deduce<br />
facilmente che l’identità moltiplicativa è il laterale che si può in<strong>di</strong>care con , cioè<br />
quello che contiene l’identità moltiplicativa <strong>di</strong><br />
Osserviamo che comunque scelto un elemento <strong>di</strong> , l’insieme ⊗<br />
è un ideale, infatti ( ⊗ ) ( ⊗ ) ⊗ ( ) , inoltre in<strong>di</strong>cando con<br />
, l’opposto <strong>di</strong> , ⊗ ( ) e risulta ( ⊗ ) ⊗ ( ) ⊗ ( ( )) ,<br />
pertanto è un sottogruppo <strong>di</strong> . Ogni ideale generato da un elemento <strong>di</strong> è detto<br />
ideale principale.<br />
Vale il seguente teorema:<br />
Teorema 18.1<br />
Tutti gli ideali dell’anello dei polinomi su un campo sono principali.<br />
Dimostrazione:<br />
Osserviamo innanzitutto che<br />
( ) ( ) è un ideale principale per l’anello<br />
commutativo con identità . Consideriamo adesso un ideale <strong>di</strong> <strong>di</strong>verso da<br />
( ) (<br />
( ) , in esso scegliamo un elemento ) ( ) <strong>di</strong> grado minimo. Comunque<br />
(<br />
scelto un polinomio ) ( ) potremo scrivere:<br />
( ) ( )<br />
( ) ( ) ( ) ( )<br />
( ) ( ) (18.2.3)<br />
dove se<br />
(<br />
(cioè ) (<br />
( ) non è un <strong>di</strong>visore <strong>di</strong> ) ( )) risulterà ,<br />
ma in questo caso potremmo scrivere:<br />
( ) ( )<br />
( ) ( )<br />
( ) ( ) ( ) ( ) (18.2.4)<br />
(<br />
che è un assurdo in quanto ) ( ) deve appartenere ad , come mostra la precedente,<br />
pur avendo grado che per ipotesi è il grado minimo dei polinomi non nulli<br />
contenuti in . Deve pertanto essere<br />
(<br />
, o, che è lo stesso, ) ( )<br />
( ) ( )<br />
, pertanto ogni ideale <strong>di</strong> è principale.<br />
***********
Ideali <strong>di</strong> un Anello <strong>di</strong> Polinomi 129<br />
Ci si convince facilmente che comunque scelto<br />
, anche il polinomio<br />
⊗ ( ) ( ) genera lo stesso ideale. Ovviamente sarà sempre possibile in<strong>di</strong>viduare tra i<br />
generatori <strong>di</strong> un ideale un solo polinomio monico cioè con il coefficiente del termine<br />
<strong>di</strong> massimo grado pari ad .<br />
Vale il seguente teorema:<br />
Teorema 18.2<br />
Dati due ideali <strong>di</strong> , siano ( ) ed ( ) , risulta se e solo se<br />
( ) ha ( ) tra i suoi fattori.<br />
***********<br />
Dato un ideale<br />
( ) ( ) ed un polinomio<br />
( ) ( ) , sappiamo che esistono<br />
( ) (<br />
( ) e ) ( ) tali che si può scrivere:<br />
∪<br />
( ) ( )<br />
( ) ( ) ( ) ( )<br />
( ) ( )<br />
(18.2.5)<br />
che ci permette <strong>di</strong> affermare che<br />
( ) ( )ed<br />
( ) ( ) appartengono allo stesso laterale <strong>di</strong><br />
( ) ( )<br />
( ) (<br />
( ) ) (<br />
( ) ) (<br />
( ) ) ( ) (18.2.6)<br />
Ciascun laterale <strong>di</strong> un ideale contiene un unico polinomio <strong>di</strong> grado minimo,<br />
grado che, in virtù della (18.2.5), deve essere minore <strong>di</strong> . Per convincersene è<br />
sufficiente ricordare che due elementi <strong>di</strong> un gruppo appartengono allo stesso laterale se<br />
e solo se la loro <strong>di</strong>fferenza appartiene al sottogruppo, ma la <strong>di</strong>fferenza tra due polinomi<br />
<strong>di</strong>stinti <strong>di</strong> grado minore non potrà appartenere all’ideale che essendo principale<br />
contiene solo polinomi <strong>di</strong> grado maggiore od uguale ad , fatta eccezione per il<br />
polinomio nullo, che peraltro è l’unico polinomio <strong>di</strong> grado minimo contenuto<br />
nell’ideale pensato come laterale <strong>di</strong> se stesso.<br />
(<br />
Esiste quin<strong>di</strong> un isomorfismo “naturale” tra l’anello<br />
) ( ) e l’insieme<br />
( )<br />
dei polinomi a coefficienti in <strong>di</strong> grado minore <strong>di</strong> . si può quin<strong>di</strong> pensare a<br />
( )<br />
come ad un anello commutativo con identità assumendo come risultato della<br />
moltiplicazione tra due polinomi <strong>di</strong><br />
prodotto dei due polinomi e<br />
( ) ( ).<br />
( )<br />
il resto della <strong>di</strong>visione tra l’usuale
Capitolo - 19<br />
CODICI CICLICI<br />
19.1 - Rappresentazione polinomiale <strong>di</strong> un co<strong>di</strong>ce ciclico.<br />
Definizione 19.1<br />
Un co<strong>di</strong>ce lineare a blocchi si <strong>di</strong>ce ciclico se e solo se comunque scelta una<br />
sua parola <strong>di</strong> co<strong>di</strong>ce<br />
(19.1.1)<br />
***********<br />
In quel che segue mostreremo che i co<strong>di</strong>ci ciclici sono polinomiali. Dovremo in<br />
altri termini mostrare che se un co<strong>di</strong>ce è ciclico allora la sua rappresentazione<br />
polinomiale ammette un polinomio generatore.<br />
Ad ogni parola <strong>di</strong> co<strong>di</strong>ce possiamo associare un polinomio appartenente a<br />
( )<br />
come segue:<br />
denoteremo con<br />
Risulta:<br />
( ) (19.1.2)<br />
( ) l’insieme dei polinomi associati alle parole <strong>di</strong> co<strong>di</strong>ce.<br />
( ) (19.1.3)<br />
Notiamo che per trasformare ( ) in ( ) occorrerebbe sottrarre a ( ) il<br />
polinomio<br />
. Risulta:<br />
( ) ( ) ( ) (19.1.4)<br />
ma è il quoto della <strong>di</strong>visione tra ( ) e , dalla (19.1.4) si deduce quin<strong>di</strong><br />
che ( ) altro non è se non il resto della <strong>di</strong>visione appena citata.<br />
In altri termini, l’operazione corrispondente alla rotazione ciclica <strong>di</strong> una parola in<br />
equivale, nel linguaggio dei polinomi, a considerare il resto della <strong>di</strong>visione per<br />
del prodotto tra il polinomio corrispondente alla parola ed . In simboli:<br />
( ) ( ) ( ) (19.1.5)<br />
19.2 - L’anello<br />
Notiamo che l’insieme dei polinomi <strong>di</strong> co<strong>di</strong>ce<br />
( ) essendo costituito da<br />
polinomi appartenenti a<br />
( )<br />
costituisce anche un sottoinsieme dei coset leader<br />
(intesi come i polinomi <strong>di</strong> grado minimo) dei laterali <strong>di</strong> .<br />
Osserviamo inoltre che:
132 Capitolo - 19 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
a) avendo supposto che il co<strong>di</strong>ce sia lineare, esso deve avere la struttura <strong>di</strong><br />
spazio vettoriale sul campo , quin<strong>di</strong> la sua rappresentazione in forma polino–miale<br />
( ) deve essere anche un sottospazio <strong>di</strong> ;<br />
b) l’anello ha la struttura <strong>di</strong> spazio vettoriale sul campo ;<br />
c) esiste un isomorfismo naturale tra<br />
ad ogni polinomio <strong>di</strong><br />
( )<br />
( )<br />
ed<br />
, quello che associa<br />
l’unico laterale che lo contiene in .<br />
Dalle considerazioni appena fatte <strong>di</strong>scende facilmente che l’immagine secondo<br />
l’isomorfismo sopra citato <strong>di</strong> ( ) in è a sua volta un sottospazio<br />
vettoriale, quin<strong>di</strong> anche un sottogruppo, ( ) <strong>di</strong> , i cui elementi<br />
sono i laterali <strong>di</strong> che contengono i polinomi <strong>di</strong> co<strong>di</strong>ce.<br />
Osserviamo che la ciclicità e la linearità del co<strong>di</strong>ce implicano:<br />
( ) ( ) ( ) ( ) ( ) (19.2.1)<br />
dalla quale sempre in virtù della linearità <strong>di</strong><br />
( ) <strong>di</strong>scende anche facilmente:<br />
( ) ( ) ( ) ( ) ( ) ( ) ( ) (19.2.2)<br />
Quest’ultima, sulla base dell’osservazione c), può essere rivisitata in termini <strong>di</strong> laterali<br />
<strong>di</strong> , infatti ( ) possiamo scrivere:<br />
( ) ( ) { ( ) ( ) ( ) }<br />
( ) ( ) ( )<br />
( ) ⊗ ( ) ( )<br />
( ) ⁄<br />
(19.2.3)<br />
La precedente ci permette <strong>di</strong> affermare che se il co<strong>di</strong>ce è ciclico allora ( ) è un<br />
ideale dell’anello .<br />
Viceversa consideriamo un ideale <strong>di</strong> comunque preso un suo<br />
elemento, sia ( ) , il fatto che sia un ideale implica che:<br />
( ) ⊗ ( ) ( ) ( )<br />
( ) ( ) ( )<br />
( ) ( ) ⁄<br />
(19.2.4)<br />
Ne <strong>di</strong>scende che la controimmagine dell’isomorfismo <strong>di</strong> cui all’osservazione c) è un<br />
co<strong>di</strong>ce ciclico.<br />
Quanto finora esposto costituisce in pratica la <strong>di</strong>mostrazione del seguente<br />
teorema:
Co<strong>di</strong>ci Ciclici 133<br />
Teorema 19.1<br />
Con<strong>di</strong>zione necessaria e sufficiente affinché un co<strong>di</strong>ce sia ciclico è che<br />
ideale <strong>di</strong> .<br />
***********<br />
( ) sia un<br />
19.3 - Polinomio generatore <strong>di</strong> un co<strong>di</strong>ce ciclico<br />
Ci convinciamo facilmente del fatto che il sottoinsieme <strong>di</strong> costituito<br />
dall’unione <strong>di</strong> tutti i laterali <strong>di</strong> che appartengono ( ) , in virtù della<br />
(19.2.2), è un ideale, ma tutti gli ideali <strong>di</strong> sono principali (ve<strong>di</strong> Teorema 18.1),<br />
esiste cioè un polinomio <strong>di</strong> grado minimo che li genera, tale polinomio apparterrà<br />
evidentemente a ( )<br />
( )<br />
in particolare potremmo scegliere in quest'ultimo<br />
l’unico polinomio monico <strong>di</strong> grado minimo, sia ( ). Rileviamo che il grado <strong>di</strong> ( )<br />
dovrà necessariamente essere per un co<strong>di</strong>ce .<br />
Abbiamo visto che ( ) , quin<strong>di</strong>, in virtù del Teorema 18.2, ( )<br />
deve essere un <strong>di</strong>visore <strong>di</strong> , ne <strong>di</strong>scende che un co<strong>di</strong>ce ciclico esiste se e<br />
solo se pensato come polinomio a coefficienti nel campo si può scomporre<br />
nel prodotto tra due polinomi uno dei quali <strong>di</strong> grado .<br />
19.4 - Polinomio <strong>di</strong> parità <strong>di</strong> un co<strong>di</strong>ce ciclico<br />
Nel paragrafo precedente abbiamo visto che se<br />
( ) ( ) genera un co<strong>di</strong>ce<br />
ciclico ( ), allora deve esistere<br />
( ) ( )<br />
( ) ( ) ( ) ( ) (19.4.1)<br />
D’altro canto nel precedente capitolo abbiamo visto che ogni parola <strong>di</strong> un co<strong>di</strong>ce<br />
polinomiale può essere scritta nella forma:<br />
( ) ( ) ( ) ( ) (19.4.2)<br />
dove a x è un qualsiasi polinomio appartenente a<br />
( )<br />
. Risulta:<br />
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( )<br />
(19.4.3)<br />
( )( ) ( )<br />
Poiché la precedente è vera per tutti e soli i polinomi <strong>di</strong> co<strong>di</strong>ce, ne <strong>di</strong>scende che<br />
( ) ( ), o un qualunque altro polinomio <strong>di</strong> che lo contenga come fattore senza<br />
contenere , può essere utilizzato per effettuare il controllo <strong>di</strong> parità nel caso in<br />
cui si intenda utilizzare il co<strong>di</strong>ce esclusivamente per la rivelazione dell’errore.<br />
(<br />
Il polinomio ( )( ) ) ( ) ( ) ha tutti i coefficienti <strong>di</strong> grado<br />
maggiore <strong>di</strong> e minore <strong>di</strong> nulli. Questa osservazione ci permette <strong>di</strong> scrivere le
134 Capitolo - 19 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
seguenti<br />
( ) ( ) ( ):<br />
equazioni che devono essere sod<strong>di</strong>sfatte dai coefficienti del polinomio<br />
∑ (19.4.4)<br />
ciascuna delle equazioni appena scritte coinvolge simboli consecutivi della<br />
parola <strong>di</strong> co<strong>di</strong>ce e può quin<strong>di</strong> essere utilizzata come controllo <strong>di</strong> parità qualora si<br />
intenda utilizzare il co<strong>di</strong>ce per la correzione <strong>di</strong> errore. Le (19.4.4) potrebbero anche<br />
essere utilizzate per implementare un co<strong>di</strong>ficatore sistematico utilizzando un filtro FIR.<br />
Infatti nella prima delle (19.4.4) possiamo scegliere arbitrariamente ,<br />
(in sostanza la parola informativa) e calcolare , quin<strong>di</strong> utilizzare nella seconda<br />
per calcolare e così via fino ad ottenere una parola <strong>di</strong> co<strong>di</strong>ce. In<br />
sostanza si risolvono ricorsivamente equazioni del tipo<br />
Nell’incognita<br />
∑ (19.4.5)<br />
tali equazioni ammettono certamente soluzione dal momento che<br />
deve essere <strong>di</strong>verso da 0. Se così non fosse, tra le ra<strong>di</strong>ci <strong>di</strong> ( ) vi sarebbe lo zero del<br />
campo che non è una ra<strong>di</strong>ce <strong>di</strong><br />
fattori.<br />
, quin<strong>di</strong> non può esserlo per nessuno dei suoi<br />
Esempio 19.1<br />
Vogliamo implementare un co<strong>di</strong>ficatore basato sulle (19.4.5) che emetta gli simboli della<br />
parola <strong>di</strong> co<strong>di</strong>ce in sequenza. Osserviamo che il co<strong>di</strong>ficatore è sistematico, i simboli informativi<br />
emessi dalla sorgente potranno quin<strong>di</strong> essere resi <strong>di</strong>sponibili <strong>di</strong>rettamente all’uscita del co<strong>di</strong>ficatore.<br />
Nello stesso tempo, al fine <strong>di</strong> calcolare i simboli <strong>di</strong> parità essi dovranno essere temporaneamente<br />
memorizzati in uno stack <strong>di</strong> memoria che nel caso <strong>di</strong> co<strong>di</strong>ci binari si identifica <strong>di</strong> fatto con uno shift<br />
register. Osserviamo lo schema <strong>di</strong> Fig.E 19.1, nel quale sono in<strong>di</strong>cati in rosso i simboli presenti nelle<br />
celle <strong>di</strong> memoria, schematizzate come elementi <strong>di</strong> ritardo. Ci ren<strong>di</strong>amo conto che, non appena la<br />
sorgente emette il -esimo simbolo informativo ( ), all’uscita del moltiplicatore posto in serie al<br />
sommatore sarà presente . Il passo successivo consisterà nel chiudere l’anello <strong>di</strong> reazione,<br />
spostando sulla posizione b il commutatore e mantenerlo in questa posizione per perio<strong>di</strong> <strong>di</strong><br />
clock per calcolare i restanti<br />
simboli <strong>di</strong> parità.<br />
Osserviamo che ( ) può<br />
essere scelto in modo che<br />
risulti , nel qual caso<br />
sarebbe possibile eliminare il<br />
moltiplicatore in uscita al<br />
sommatore; d’altra parte tale<br />
scelta comporta in genere la<br />
rinuncia ad un polinomio<br />
Fig.E 19.1 Co<strong>di</strong>ficatore sistematico basato sul polinomio <strong>di</strong> parità generatore monico. Nel caso<br />
in cui il co<strong>di</strong>ce sia binario, la<br />
sua struttura si semplifica ulteriormente in quanto si potrebbero abolire tutti i moltiplicatori<br />
limitandosi a connettere al sommatore solo le celle <strong>di</strong> memoria cui corrisponde un coefficiente non<br />
nullo del polinomio <strong>di</strong> parità. Notiamo anche che in questo caso le celle <strong>di</strong> memoria si ridurrebbero a
Co<strong>di</strong>ci Ciclici 135<br />
dei Flip Flop. Per concludere osserviamo che il “cuore” <strong>di</strong> questo co<strong>di</strong>ficatore è sostanzialmente un<br />
filtro FIR.<br />
19.5 - Matrice generatrice <strong>di</strong> un co<strong>di</strong>ce ciclico<br />
Consideriamo un co<strong>di</strong>ce ciclico sul campo<br />
sia l’insieme<br />
<strong>di</strong> grado<br />
, sia:<br />
la cui rappresentazione polinomiale<br />
( ), abbiamo visto che esso deve ammettere un polinomio generatore<br />
( ) ( ) (19.5.1)<br />
Sappiamo che, in virtù della ciclicità, anche i polinomi<br />
( ) ( ) ( ) devono<br />
appartenere a ( ). Osserviamo che per i polinomi ottenuti al variare <strong>di</strong> tra e<br />
risulta<br />
( ) ( ) ( )<br />
( ) ( ) (19.5.2)<br />
Inoltre essi sono linearmente in<strong>di</strong>pendenti, giacché tutti <strong>di</strong> grado <strong>di</strong>verso. Essi sono<br />
anche in numero pari alla <strong>di</strong>mensione <strong>di</strong><br />
( )<br />
, ne costituiscono quin<strong>di</strong> una base.<br />
( ) pensato come sottospazio <strong>di</strong><br />
Quanto appena detto ci consente <strong>di</strong> scrivere una matrice generatrice del co<strong>di</strong>ce<br />
appena in<strong>di</strong>viduati<br />
che avrà evidentemente come righe le parole corrispondenti ai polinomi<br />
[ ] (19.5.3)<br />
19.6 - Co<strong>di</strong>ci ciclici Sistematici<br />
La matrice generatrice in<strong>di</strong>viduata nel paragrafo precedente non è in forma<br />
sistematica, vogliamo mostrare che è possibile in<strong>di</strong>viduarne una che lo è.<br />
A tal fine dato un co<strong>di</strong>ce ciclico<br />
(<br />
( ) generato da ) ( ) consideriamo polinomi<br />
del tipo:<br />
(19.6.1)<br />
Essi non sono certamente polinomi <strong>di</strong> co<strong>di</strong>ce in quanto tra le loro ra<strong>di</strong>ci non compaiono<br />
(<br />
certamente quelle <strong>di</strong> ) ( ) , tuttavia sottraendo da ciascuno <strong>di</strong> essi il resto della<br />
<strong>di</strong>visione per ( ) otteniamo un polinomio <strong>di</strong> co<strong>di</strong>ce possiamo cioè affermare che:<br />
( ( )) ( ) (19.6.2)<br />
Ci ren<strong>di</strong>amo conto del fatto che se scriviamo i polinomi ottenuti tramite la<br />
(19.6.2) in corrispondenza a otteniamo polinomi <strong>di</strong> co<strong>di</strong>ce che<br />
hanno il solo coefficiente -esimo pari a uno e tutti i restanti nulli nel range <strong>di</strong> valori <strong>di</strong><br />
in parola, ciò in quanto il resto <strong>di</strong> una <strong>di</strong>visione per ( ) è un polinomio che al più
136 Capitolo - 19 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
può avere grado<br />
. Si costata anche imme<strong>di</strong>atamente che i polinomi appena<br />
ottenuti sono linearmente in<strong>di</strong>pendenti, si possono quin<strong>di</strong> utilizzare le parole <strong>di</strong> co<strong>di</strong>ce<br />
ad essi associate per costruire una matrice generatrice del co<strong>di</strong>ce che sarà del tipo:<br />
(19.6.3)<br />
in grado quin<strong>di</strong> <strong>di</strong> generare un co<strong>di</strong>ce sistematico con la parte informativa “in coda”<br />
anziché “in testa”.<br />
Da quanto detto <strong>di</strong>scende che il polinomio <strong>di</strong> co<strong>di</strong>ce associato al polinomio<br />
informativo ( ) ( ) è dato da:<br />
( ) ( ) ( )<br />
( ( ) ( )) (19.6.4)<br />
Pren<strong>di</strong>amo adesso in considerazione la matrice<br />
(19.6.5)<br />
che si ottiene effettuando rotazioni cicliche su ciascuna riga della . Essa ha per<br />
righe parole <strong>di</strong> linearmente in<strong>di</strong>pendenti ed è quin<strong>di</strong> anch’essa una matrice<br />
generatrice.<br />
Esempio 19.2<br />
Per costruire un co<strong>di</strong>ficatore basato sulla (19.6.4) dobbiamo <strong>di</strong>sporre <strong>di</strong> un sistema in grado <strong>di</strong><br />
calcolare il resto della <strong>di</strong>visione tra due polinomi.<br />
Supponiamo <strong>di</strong> <strong>di</strong>sporre all’istante - esimo del polinomio ( ), e che tale polinomio all’istante<br />
- esimo venga aggiornato, per effetto dell’emissione da parte <strong>di</strong> una sorgente <strong>di</strong> un simbolo<br />
secondo la regola:<br />
( ) ( )<br />
In<strong>di</strong>chiamo rispettivamente con ( ) e ( ) il resto e il quoto della <strong>di</strong>visione tra ( )e<br />
( ) che supponiamo monico. Vogliamo calcolare ( ). Risulta:<br />
( ) ( ) ( ( )) ( ) ( ) ( ) ( ( ))<br />
( ) ( ( ))<br />
Ma ( ) ha al più grado possiamo quin<strong>di</strong> ulteriormente scrivere:<br />
( ) ( ) ( ) ( )<br />
( ) ( ( ) ) (<br />
( ) )<br />
Possiamo quin<strong>di</strong> facilmente tracciare lo schema <strong>di</strong> principio mostrato in Fig.E 19.2.<br />
Non appena tutti i<br />
coefficienti del <strong>di</strong>videndo,<br />
a partire da<br />
quello <strong>di</strong> grado maggiore,<br />
saranno immessi<br />
nel sistema, sarà<br />
Fig.E 19.2 Schema <strong>di</strong> principio <strong>di</strong> un sistema che calcola il resto della <strong>di</strong>visione tra due<br />
polinomi<br />
successivi<br />
passi si presenteranno in uscita i coefficienti del resto.<br />
19.7 - Duale <strong>di</strong> un co<strong>di</strong>ce ciclico<br />
Abbiamo mostrato che un co<strong>di</strong>ce ciclico<br />
( ) ( ) del polinomio . Esiste quin<strong>di</strong> un<br />
( ) ( ) tale che:<br />
sufficiente aprire l’anello<br />
<strong>di</strong> reazione tramite il<br />
deviatore in uscita e nei<br />
( ), ha come generatore un fattore
Co<strong>di</strong>ci Ciclici 137<br />
( ) ( ) ( ) ( ) (19.7.1)<br />
(<br />
Abbiamo già visto come ) ( ) possa essere utilizzato come polinomio <strong>di</strong> parità, ma<br />
esso, in quanto fattore <strong>di</strong> è in grado <strong>di</strong> generare a sua volta un co<strong>di</strong>ce ciclico<br />
( ) anch’esso contenuto in<br />
( )<br />
che viene chiamato (seppur<br />
impropriamente) duale <strong>di</strong> ( ), in quanto le parole <strong>di</strong> non sono in genere<br />
ortogonali a quelle <strong>di</strong> .<br />
Consideriamo due polinomi ( ) ( ) e ( ) ( ). Risulta:<br />
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) (19.7.2)<br />
Osserviamo che il polinomio ( ) ( ) ha grado al più ( ) ( )<br />
, ne consegue che il coefficiente del termine <strong>di</strong> grado <strong>di</strong> ( ) ( ) deve essere<br />
nullo. Possiamo quin<strong>di</strong> scrivere:<br />
∑ (19.7.3)<br />
la precedente vale per ogni scelta <strong>di</strong> ( ) ( ) e ( ) ( ). Essa ci<br />
suggerisce come costruire il co<strong>di</strong>ce duale propriamente detto che si ottiene ribaltando le<br />
parole <strong>di</strong> .<br />
Anche il co<strong>di</strong>ce duale propriamente detto è polinomiale il suo polinomio<br />
generatore risulta essere:<br />
( ) (19.7.4)<br />
una sua matrice generatrice potrebbe essere:<br />
[ ] (19.7.5)
Capitolo - 20<br />
CAMPI FINITI<br />
20.1 - Polinomi irriducibili e campi ad essi associati<br />
Definizione 20.1<br />
(<br />
Diciamo che un polinomio ) ( ) <strong>di</strong> grado non inferiore a 1 è irriducibile se:<br />
( ) (<br />
( ) ) (<br />
( ) ) ( ) (20.1.1)<br />
Ovviamente tutti i polinomi <strong>di</strong> primo grado sono irriducibili. In 2 . Anche il<br />
polinomio è irriducibile esso infatti non è <strong>di</strong>visibile né per né per ,<br />
che sono tutti e soli i polinomi <strong>di</strong> primo grado appartenenti a 2 . Non sono<br />
necessarie altre verifiche in quanto le eventuali fattorizzazioni devono comunque<br />
contenere un polinomio <strong>di</strong> primo grado. Il polinomio è irriducibile in ,<br />
ma pensato come elemento <strong>di</strong> non lo è<br />
Vale il seguente teorema:<br />
Teorema 20.1<br />
(<br />
Se ) ( ) è un polinomio irriducibile <strong>di</strong><br />
(<br />
dall’ideale<br />
) ( ) è un campo.<br />
allora il gruppo quoziente in<strong>di</strong>viduato<br />
Dimostrazione:<br />
Sappiamo già che<br />
( ) ( ) è un anello commutativo con identità, quin<strong>di</strong><br />
dobbiamo solo verificare che per ogni suo elemento, fatta eccezione per<br />
( ) ( ) ,<br />
esiste un inverso.<br />
Osserviamo che<br />
( ) ( ) non coincide con . Se così non fosse, esisterebbe<br />
( )<br />
( ) ( ) ( ) , ma la precedente può essere sod<strong>di</strong>sfatta solo se<br />
(<br />
, contro l’ipotesi che ) ( ) è irriducibile, quin<strong>di</strong> il suo grado non può essere<br />
inferiore ad . Possiamo pertanto affermare che<br />
( ) ( ) contiene almeno un<br />
polinomio ( ) ( ) ( ) .<br />
Consideriamo adesso l’insieme<br />
{ ( ) ( ) ( ) ( ) ( ) | ( ) ( ) (20.1.2)<br />
si constata facilmente che è un ideale <strong>di</strong> , ma (ve<strong>di</strong> Teorema 18.1) tutti gli ideali<br />
<strong>di</strong> sono principali, deve pertanto esistere in un polinomio ( ) ( ) tale che<br />
risulti<br />
( ) ( ) .
140 Capitolo - 20 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
(<br />
Dalla (20.1.2) deduciamo che ) ( ) , quin<strong>di</strong> deve esistere un polinomio per<br />
(<br />
il quale risulti ) (<br />
( ) ) ( ) ( ) (<br />
( ) , ma ) ( ) è irriducibile, quin<strong>di</strong>,<br />
(<br />
necessariamente, o , o . nel primo caso ) ( ) , ma ciò è assurdo<br />
(<br />
perché contiene anche ) ( ) ( ) ( ) , deve quin<strong>di</strong> essere . Ciò implica<br />
da cui <strong>di</strong>scende che esistono ( ) ( ) che sod<strong>di</strong>sfano l’uguaglianza<br />
La precedente implica:<br />
( ) ( ) ( ) ( ) ( ) ( ) (20.1.3)<br />
( ) ( ) ( ( ) ( ) ( ) ( )<br />
( ) ( ) ( ) ( ))<br />
( ) ( )<br />
( ) ( ) ( ) ( )<br />
( ) ( )<br />
( ) ( )<br />
( ) ( ) ⊗ ( ) ( )<br />
( ) ( )<br />
(20.1.4)<br />
osservando primo ed ultimo membro della precedente si deduce che il laterale<br />
( ) ( )<br />
( ) ( ) è l’inverso <strong>di</strong><br />
( ) ( )<br />
( ) ( ) .<br />
***********<br />
20.2 - Or<strong>di</strong>ne degli elementi <strong>di</strong> un gruppo<br />
Consideriamo un gruppo finito , abbiamo già visto che ogni suo sottogruppo<br />
in<strong>di</strong>vidua una partizione del gruppo in laterali, che hanno tutti la stessa car<strong>di</strong>nalità del<br />
sottogruppo. Ciò comporta il fatto che il numero <strong>di</strong> elementi <strong>di</strong> un sottogruppo, il suo<br />
or<strong>di</strong>ne ( ), è un sottomultiplo dell’or<strong>di</strong>ne del gruppo in cui esso è contenuto.<br />
Sia un elemento <strong>di</strong> un gruppo finito . Consideriamo l’insieme:<br />
(20.2.1)<br />
è un sottoinsieme <strong>di</strong> , in quanto è chiuso rispetto alla legge , quin<strong>di</strong> deve<br />
avere un numero finito <strong>di</strong> elementi, da cui facilmente <strong>di</strong>scende che deve esistere un<br />
intero ( ), tale che risulti , o, che è lo stesso, tale che<br />
(20.2.2)<br />
Abbiamo appena mostrato che contiene . Considerando adesso il più piccolo<br />
valore <strong>di</strong> che sod<strong>di</strong>sfa la (20.2.2), risulta:<br />
(20.2.3)<br />
è quin<strong>di</strong> un sottogruppo <strong>di</strong> . L’or<strong>di</strong>ne del sottogruppo generato da un elemento<br />
<strong>di</strong> un gruppo è detto or<strong>di</strong>ne <strong>di</strong> , ( ).<br />
20.3 - Or<strong>di</strong>ne degli elementi <strong>di</strong> un campo finito<br />
Consideriamo un campo finito . Sia l’or<strong>di</strong>ne <strong>di</strong> rispetto alla legge ,<br />
possiamo affermare che è un numero primo. Infatti, se così non fosse, esisterebbero<br />
due interi, ed , entrambi per i quali varrebbe l’uguaglianza:<br />
( ) ⊗ (20.3.1)
Campi Finiti 141<br />
ma è un campo vale quin<strong>di</strong> la legge <strong>di</strong> annullamento del prodotto, quin<strong>di</strong> o o<br />
. ( ) sarebbe quin<strong>di</strong> il minimo tra ed e non . Ne segue che ( ) deve<br />
essere un primo.<br />
Osserviamo che per ogni elemento <strong>di</strong> si può scrivere ⊗ , da cui:<br />
2<br />
( ⊗ ) ( ⊗ ) ⊗( ) ⊗ 2 (20.3.2)<br />
più in generale ⊗ , ma ⊗ solo se , ovvero se ,<br />
possiamo quin<strong>di</strong> concludere che tutti gli elementi <strong>di</strong>versi da <strong>di</strong> un campo finito hanno<br />
lo stesso or<strong>di</strong>ne rispetto alla somma, e che tale or<strong>di</strong>ne è un primo risulta cioè:<br />
(20.3.3)<br />
20.4 - Or<strong>di</strong>ne <strong>di</strong> un campo finito<br />
Consideriamo un campo , ed un suo sottocampo , in questo caso <strong>di</strong>remo che<br />
è un’estensione <strong>di</strong> . Si constata che ha la struttura <strong>di</strong> spazio vettoriale sul campo ,<br />
se la <strong>di</strong>mensione <strong>di</strong> questo spazio è finita è detta grado <strong>di</strong> su .<br />
Vale il seguente teorema:<br />
Teorema 20.2 - Or<strong>di</strong>ne <strong>di</strong> un campo finito<br />
L’or<strong>di</strong>ne <strong>di</strong> un campo finito o è un primo, o è una potenza (intera) <strong>di</strong> un primo.<br />
Dimostrazione:<br />
Abbiamo visto che l’or<strong>di</strong>ne dell’elemento e <strong>di</strong> un qualsiasi campo<br />
è un primo p , si<br />
verifica facilmente che l’insieme<br />
2 3<br />
(20.4.1)<br />
é un campo (isomorfo a ) quin<strong>di</strong> è un sottocampo non necessariamente proprio (in<br />
quanto potrebbe coincidere con ) <strong>di</strong> .<br />
D’altro canto, ha la struttura <strong>di</strong> spazio vettoriale sul campo e la sua<br />
<strong>di</strong>mensione deve necessariamente essere finita, essendo finito per ipotesi.<br />
Un qualsiasi elemento <strong>di</strong> potrà essere quin<strong>di</strong> espresso in modo univoco come<br />
combinazione lineare, con coefficienti appartenenti a , <strong>di</strong> elementi che costituiscano<br />
una base per , cioè che siano linearmente in<strong>di</strong>pendenti su . Osservando che<br />
esistono esattamente combinazioni lineari <strong>di</strong>stinte si conclude che l’or<strong>di</strong>ne <strong>di</strong> se<br />
non è primo è una potenza <strong>di</strong> un primo.<br />
***********<br />
Quale che sia il campo finito , il campo generato dalla sua unità<br />
moltiplicativa è detto sottocampo primo o fondamentale. Esso è contenuto in tutti i
142 Capitolo - 20 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
sottocampi <strong>di</strong> , o, che è lo stesso, è l’intersezione <strong>di</strong> tutti i sottocampi <strong>di</strong><br />
quin<strong>di</strong> è anche il più piccolo sottocampo <strong>di</strong> che contiene (si <strong>di</strong>ce che è la<br />
caratteristica del campo).<br />
Osserviamo che se un Campo non è finito, allora anche l’insieme definito nella<br />
(20.4.1) non lo è, e non è neppure un sottocampo <strong>di</strong> (non è nemmeno un gruppo) in<br />
questo caso si può <strong>di</strong>mostrare che il sottocampo minimo contenuto in è isomorfo al<br />
campo dei razionali e che l’insieme definito nella (20.4.1) è isomorfo all’insieme<br />
dei naturali. In questo caso <strong>di</strong>remo che il campo ha caratteristica<br />
20.5 - Elementi primitivi <strong>di</strong> un campo<br />
Sappiamo che un campo privato dell’elemento neutro rispetto alla somma è<br />
un gruppo rispetto alla moltiplicazione, in<strong>di</strong>chiamolo con . L’or<strong>di</strong>ne <strong>di</strong> è<br />
.<br />
Sia l’or<strong>di</strong>ne <strong>di</strong> un generico elemento<br />
<strong>di</strong><br />
⊗ , risulta<br />
l<br />
⏟<br />
fattori<br />
(20.5.1)<br />
deve necessariamente essere un <strong>di</strong>visore <strong>di</strong> esiste cioè un naturale tale che<br />
. Ne segue:<br />
( ) (20.5.2)<br />
Dalla precedente <strong>di</strong>scende che per ogni elemento <strong>di</strong> potremo scrivere:<br />
⊗<br />
(20.5.3)<br />
Constatiamo imme<strong>di</strong>atamente che la precedente vale anche per , possiamo quin<strong>di</strong><br />
anche scrivere:<br />
(20.5.4)<br />
Si può <strong>di</strong>mostrare che il gruppo è un gruppo ciclico, cioè che in vi<br />
sono elementi il cui or<strong>di</strong>ne è uguale all’or<strong>di</strong>ne del gruppo. Un tale elemento si chiama<br />
generatore del gruppo.<br />
Un generatore <strong>di</strong><br />
si <strong>di</strong>ce elemento primitivo del campo, in particolare si<br />
può <strong>di</strong>mostrare che vi sono elementi primitivi in numero uguale a quello dei naturali<br />
e con esso relativamente primi, ad esempio in<br />
ve ne saranno , in<br />
. Inoltre in ogni campo per cui è un primo, quale ad esempio tutti gli<br />
elementi <strong>di</strong>versi da<br />
20.6 - Campi <strong>di</strong> polinomi<br />
sono primitivi.<br />
Cerchiamo adesso <strong>di</strong> mettere un po’ d’or<strong>di</strong>ne, sappiamo che:
Campi Finiti 143<br />
-<br />
(<br />
se ) ( ) è un polinomio irriducibile appartenente a , allora<br />
( ) ( ) è<br />
un campo.<br />
- ogni campo finito ha un numero <strong>di</strong> elementi che se non è un numero primo è<br />
una potenza <strong>di</strong> un primo;<br />
-<br />
( )<br />
, è isomorfo ad uno spazio vettoriale <strong>di</strong> <strong>di</strong>mensione ,<br />
costituito esattamente da ( ) elementi (una potenza <strong>di</strong> un primo).<br />
(<br />
Fissato un polinomio irriducibile ) ( ), a coefficienti in e comunque<br />
scelto un polinomio<br />
( ) ( ) <strong>di</strong><br />
possiamo scrivere:<br />
( ) (<br />
( ) ) ( ) ( ) (<br />
( ) ) ( ) (20.6.1)<br />
(<br />
La precedente ci mostra che ) (<br />
( ) ed ) ( ), appartengono allo stesso laterale<br />
(<br />
dell’ideale generato da ) (<br />
( ). Notiamo anche che il grado <strong>di</strong> ) ( ) è, inferiore al<br />
(<br />
grado <strong>di</strong> ) ( ).<br />
(<br />
Osserviamo che ) ( ) può essere un qualunque polinomio appartenente a<br />
( )<br />
affermare che<br />
in definitiva quin<strong>di</strong>, in<strong>di</strong>viduato un polinomio irriducibile<br />
( ) ( ), possiamo<br />
( )<br />
, con l’usuale somma tra polinomi in e definendo come<br />
prodotto tra due suoi elementi il resto della <strong>di</strong>visione tra il loro prodotto in e<br />
( ) ( ), è un campo isomorfo a<br />
( ) ( ) , in quanto ogni elemento <strong>di</strong><br />
( )<br />
in<strong>di</strong>vidua uno e un solo laterale <strong>di</strong><br />
( ) ( ) , e viceversa.<br />
Esempio 20.1<br />
Consideriamo l’anello dei<br />
α x x x 010 polinomi sul Campo .<br />
α x x x 100 Il polinomio<br />
è irriducibile.<br />
α x x x 011<br />
Pertanto<br />
α x x x x α α 110 è un campo, <strong>di</strong> or<strong>di</strong>ne , in quanto<br />
sono i polinomi <strong>di</strong> grado minore <strong>di</strong> a<br />
α x x x x α α 111<br />
coefficienti in . Osserviamo che tutti<br />
α x x x α α 101<br />
i suoi elementi non nulli sono<br />
α x x 001<br />
primitivi in quanto il gruppo<br />
ha<br />
α 000 elementi, e sette è un primo. In<br />
Tabella 20.1<br />
particolare anche l’elemento<br />
sarà primitivo.<br />
Assumendo come rappresentanti <strong>di</strong> laterale i polinomi <strong>di</strong> grado inferiore a otterremo la Tabella<br />
20.1, nella quale abbiamo convenzionalmente in<strong>di</strong>cato l’elemento neutro rispetto alla somma con<br />
e, nella quarta colonna, abbiamo associato ai rappresentanti <strong>di</strong> laterale le corrispondenti parole<br />
binarie <strong>di</strong> bit.<br />
20.7 - Polinomi irriducibili primitivi<br />
Consideriamo adesso un campo e una sua estensione .
144 Capitolo - 20 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Definizione 20.2<br />
Diciamo che un elemento è algebrico su<br />
(<br />
se esiste un polinomio ) ( ) <strong>di</strong><br />
che ha come ra<strong>di</strong>ce, cioè tale che effettuando le operazioni in risulti<br />
( ) ( ) .<br />
Consideriamo ad esempio il campo dei razionali e la sua estensione (il<br />
campo Reale) l’elemento √ è algebrico su in quanto il polinomio ha<br />
√ tra le sue ra<strong>di</strong>ci se lo si pensa come un polinomio appartenente a .<br />
Osserviamo che l’insieme contenente i polinomi che hanno tra<br />
le ra<strong>di</strong>ci è un ideale <strong>di</strong> . Infatti, comunque scelto un polinomio in<br />
moltiplicandolo per un qualunque polinomio <strong>di</strong> si ottiene ancora un polinomio che<br />
ha tra le sue ra<strong>di</strong>ci.<br />
L’ideale deve ammettere quin<strong>di</strong> un polinomio generatore sia<br />
( ) ( ) ,<br />
osserviamo che esiste sempre un polinomio generatore che ha come coefficiente del<br />
termine <strong>di</strong> grado massimo. Un tale polinomio sarà detto monico, da ora in poi quando<br />
parleremo <strong>di</strong> polinomio generatore sottintenderemo che sia quello monico.<br />
(<br />
Il polinomio ) ( ) è irriducibile in , (non è detto che lo sia in ) in<br />
quanto se così non fosse almeno uno dei fattori in cui potrebbe essere scomposto ammetterebbe<br />
come ra<strong>di</strong>ce. Tale fattore apparterrebbe quin<strong>di</strong> ad , ed avrebbe grado<br />
(<br />
inferiore a ) (<br />
( ), ) ( ) non sarebbe quin<strong>di</strong> in grado <strong>di</strong> generarlo e perverremmo ad<br />
un assurdo.<br />
Da quanto sopra segue che esiste un unico polinomio generatore monico <strong>di</strong> che<br />
è chiamato polinomio minimale <strong>di</strong> su .<br />
Osserviamo che ogni elemento <strong>di</strong> è algebrico su . Inoltre è facile constatare<br />
che se è finito ogni elemento <strong>di</strong> è algebrico sul suo sottocampo primo, in quanto<br />
si annulla in virtù della (20.5.2) ⊗ .<br />
Definizione 20.3<br />
Diciamo che un polinomio irriducibile<br />
( ) ( )<br />
è primitivo se esso è fattore<br />
<strong>di</strong> e non <strong>di</strong> con .<br />
Vale il seguente teorema:<br />
Teorema 20.3<br />
Se<br />
( ) ( ) è un polinomio irriducibile <strong>di</strong> l’elemento<br />
( ) ( )<br />
( ) ( ) è primitivo per<br />
( ) ( ) se e solo se<br />
( ) ( ) è un<br />
polinomio primitivo.
Campi Finiti 145<br />
20.8 - Alcune proprietà dei campi finiti<br />
Consideriamo due elementi e <strong>di</strong> ci convinciamo facilmente che vale<br />
l’uguaglianza:<br />
( ) ∑( ) [( )] ∑( ) [( )] (20.8.1)<br />
Osserviamo adesso che i coefficienti binomiali nella sommatoria a ultimo membro sono<br />
multipli <strong>di</strong> , essendo primo, ciò premesso ci basta ricordare la (20.3.3) per<br />
concludere che tutti gli adden<strong>di</strong> della sommatoria all’ultimo membro della precedente<br />
sono uguali ad ne <strong>di</strong>scende che<br />
Risulta anche:<br />
( ) (20.8.2)<br />
( ) ( ) ( ) (20.8.3)<br />
Dalle precedenti sfruttando la proprietà associativa della somma e tenuto conto<br />
che la precedente può essere applicata iterativamente otteniamo l’equazione:<br />
( ) (20.8.4)<br />
Un interessante caso particolare si ha quando si eleva a una combinazione<br />
lineare <strong>di</strong> elementi <strong>di</strong> pensato come spazio vettoriale sul suo sottocampo primo:<br />
(∑ ) ∑ (20.8.5)<br />
La precedente consente <strong>di</strong> affermare che per un qualsiasi polinomio<br />
( ) ( )<br />
risulta:<br />
( ( ) ( )) (∑ ) ∑ ( )<br />
( ) ( ) (20.8.6)<br />
dalla quale <strong>di</strong>scende imme<strong>di</strong>atamente che, se il polinomio ammette<br />
come ra<strong>di</strong>ce,<br />
ammette anche con . Tali ra<strong>di</strong>ci non saranno ovviamente tutte <strong>di</strong>stinte.<br />
Esempio 20.2
146 Capitolo - 20 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
Vogliamo costruire un campo con elementi . Per farlo abbiamo bisogno <strong>di</strong> in<strong>di</strong>viduare<br />
un polinomio irriducibile a coefficienti in<br />
GF<br />
<strong>di</strong> quarto grado.<br />
Pren<strong>di</strong>amo quin<strong>di</strong> in considerazione il polinomio<br />
. Detto polinomio non è <strong>di</strong>visibile<br />
x x x x α 0010 per poiché non è omogeneo né per poiché<br />
x x x x α 0100 ha un numero <strong>di</strong>spari <strong>di</strong> coefficienti non nulli.<br />
x x x x quin<strong>di</strong> non è <strong>di</strong>visibile neppure per polinomi <strong>di</strong><br />
α 1000<br />
terzo grado. Esso non è <strong>di</strong>visibile neppure per i<br />
x x x x α 1001 polinomi <strong>di</strong> secondo grado , ,<br />
x x x x x α 1011 , pertanto è irriducibile.<br />
x x x x x x α 1111 Dovremmo a questo punto verificare che si<br />
tratta <strong>di</strong> un polinomio primitivo, accertandoci che<br />
x x x x x α 0111<br />
non è un fattore <strong>di</strong> con . Tale<br />
x x x x x x α 1110 verifica è piuttosto noiosa, d’altro canto, qualora il<br />
x x x x α 0101 polinomio in parola non fosse primitivo lo scopriremmo<br />
facilmente in quanto il polinomio non sarebbe<br />
un elemento primitivo per il campo, esso a-<br />
x x x x x α 1010<br />
x x x x x α 1101<br />
vrebbe cioè un or<strong>di</strong>ne inferiore a .<br />
x x x x α 0011 A partire dal polinomio che associamo all’elemento<br />
x x x x x α 0110<br />
del campo cominciamo a riempire la<br />
Tabella 20.2 con il resto della <strong>di</strong>visione tra le<br />
x x x x x α 1100<br />
successive potenze <strong>di</strong> e il polinomio<br />
x x x α 0001<br />
. Come si può notare dalla Tabella 20.2 il<br />
x x α 0000 polinomio è primitivo in quanto l’or<strong>di</strong>ne <strong>di</strong> .<br />
Tabella 20.2 - possibile rappresentazione <strong>di</strong> Nella terza colonna della Tabella abbiamo in<strong>di</strong>cato<br />
GF<br />
la rappresentazione binaria dei polinomi.<br />
Abbiamo a questo punto generato gli elementi<br />
del campo.<br />
Per operare più rapidamente su <strong>di</strong> esso possiamo costruire la Tabella 20.3 che riassume tutti i<br />
possibili risultati <strong>di</strong> somme e prodotti tra gli elementi del campo. È opportuno sottolineare che tale<br />
tabella <strong>di</strong>pende dal polinomio irriducibile scelto nel senso che se avessimo utilizzato un polinomio<br />
irriducibile <strong>di</strong>verso avremmo ottenuto una <strong>di</strong>versa rappresentazione <strong>di</strong> e conseguentemente<br />
o α α α α α α α α α α α α α α e<br />
o o o o o o o o o o o o o o o o o o o<br />
α α o α α α α α α α α α α α α α e α α<br />
α α α o α α α α α α α α α α α e α α α<br />
α α α α o α α α α α α α α α e α α α α<br />
α α α α e o α α α α α α α e α α α α α<br />
α α α α α α o α α α α α e α α α α α α<br />
α α α α α α α o α α α e α α α α α α α<br />
α α α α α α α α o α e α α α α α α α α<br />
α α α α α α α e α o α α α α α α α α α<br />
α α α e α α α α α α o α α α α α α α α<br />
α α α α α α e α α α α o α α α α α α α<br />
α α α α α α α α α α α α o α α α α α α<br />
α α e α α α α α α α α α α o α α α α α<br />
α α α α α α α α e α α α α α o α α α α<br />
α α α α α α α α α α α α e α α o α α α<br />
e e α α α α α α α α α α α α α α o e e<br />
o α α α α α α α α α α α α α α e<br />
Tabella 20.3 Ad<strong>di</strong>zioni e moltiplicazioni in GF<br />
una Tabella 20.3 <strong>di</strong>versa. Un modo alternativo per fare le somme in un campo finito è quello <strong>di</strong> fare<br />
riferimento ai logaritmi <strong>di</strong> Zech. Supponiamo <strong>di</strong> voler calcolare la somma <strong>di</strong> due elementi siano<br />
ed entrambi <strong>di</strong>versi da possiamo scrivere:
Campi Finiti 147<br />
( ) (20.8.7)<br />
Osserviamo che il termine in parentesi appartiene ovviamente al campo e si può quin<strong>di</strong> esprimere<br />
k mod<br />
z(k)<br />
sotto forma esponenziale e notiamo<br />
inoltre che <strong>di</strong>pende esclusivamente dalla<br />
<strong>di</strong>fferenza tra gli esponenti , che va<br />
valutata modulo la car<strong>di</strong>nalità <strong>di</strong> ,<br />
ovvero .<br />
Possiamo quin<strong>di</strong> scrivere<br />
( ) , convenendo che ( )<br />
qualora dovesse risultare ,<br />
(in tutte le estensioni <strong>di</strong> ogni elemento<br />
ha se stesso come opposto, ma<br />
non è vero in generale!).<br />
I possibili valori assunti dalla quantità<br />
in parentesi si possono leggere nella<br />
Tabella 20.3. e possiamo scrivere<br />
( )<br />
(20.8.8)<br />
Tabella 20.4 logaritmo <strong>di</strong> Zech per la rappresentazione <strong>di</strong><br />
GF dell’Esempio 20.2<br />
GF<br />
x x x x α 0010<br />
x x x x α 0100<br />
x x x x α 1000<br />
x x x x α 0011<br />
x x x x x α 0110<br />
x x x x x α 1100<br />
x x x x x α 1011<br />
x x x x α 0101<br />
x x x x x α 1010<br />
x x x x x α 0111<br />
x x x x x x α 1110<br />
x x x x x x α 1111<br />
x x x x x α 1101<br />
x x x x α 1001<br />
x x x α 0001<br />
x x α 0000<br />
Tabella 20.5 – altra possibile rappresentazione <strong>di</strong> GF<br />
( )<br />
La funzione ( ) è detta<br />
logaritmo <strong>di</strong> Zech. Essa, ovviamente,<br />
<strong>di</strong>pende sia dalla scelta del polinomio<br />
irriducibile, sia da quella dell’elemento<br />
primitivo. Il vantaggio nell’utilizzazione<br />
del logaritmo <strong>di</strong> Zech, anziché della<br />
Tabella 20.3, consiste nel fatto che la<br />
tabella che si ottiene è più compatta<br />
essendo costituita solo da valori<br />
contro i ( ) della parte<br />
ad<strong>di</strong>tiva della Tabella 20.3 che <strong>di</strong>venta<br />
ben presto ingestibile al crescere della<br />
car<strong>di</strong>nalità del campo.<br />
Si osservi che qualora avessimo<br />
utilizzato il polinomio<br />
, anch’esso<br />
irriducibile e primitivo, per generare<br />
avremmo ottenuto la rappresentazione<br />
<strong>di</strong> Tabella 20.5 per la quale la<br />
Tabella 20.3 e la Tabella 20.4 dovrebbero<br />
essere riscritte. Il logaritmo <strong>di</strong><br />
Zech si presta inoltre meglio ad essere<br />
implementato in un programma <strong>di</strong><br />
calcolo.
Capitolo - 21<br />
CODICI BCH<br />
21.1 - Co<strong>di</strong>ci BCH<br />
Supponiamo <strong>di</strong> voler generare un co<strong>di</strong>ce polinomiale con parole <strong>di</strong> lunghezza<br />
i<br />
cui simboli appartengano ad un campo finito<br />
che abbia una <strong>di</strong>stanza minima non<br />
inferiore a .<br />
Un modo per farlo è quello <strong>di</strong> scegliere un’estensione <strong>di</strong> <strong>di</strong> grado con un<br />
numero <strong>di</strong> elementi pari a , sia . In detto campo sceglieremo un elemento<br />
primitivo e costruiremo il polinomio ( ) <strong>di</strong> grado minimo che ha come<br />
ra<strong>di</strong>ci gli elementi dell’insieme con . Detto<br />
polinomio sarà evidentemente il minimo comune multiplo tra i polinomi minimali<br />
associati agli .<br />
Affermiamo che un polinomio ( ) così costruito è in grado <strong>di</strong> generare un<br />
co<strong>di</strong>ce con <strong>di</strong>stanza minima non inferiore a . Per provarlo osserviamo che l’insieme<br />
delle ra<strong>di</strong>ci <strong>di</strong> ogni polinomio associato ad una parola <strong>di</strong> co<strong>di</strong>ce conterrà l’insieme<br />
. Affinché un co<strong>di</strong>ce abbia <strong>di</strong>stanza minima pari almeno a<br />
non devono esistere parole <strong>di</strong> co<strong>di</strong>ce, ad eccezione <strong>di</strong> quella nulla, che abbiano meno <strong>di</strong><br />
simboli <strong>di</strong>versi da .<br />
Supponiamo per assurdo che un co<strong>di</strong>ce generato nel modo anzidetto non rispetti<br />
questa con<strong>di</strong>zione, in questo caso esisterà almeno una parola <strong>di</strong> co<strong>di</strong>ce in<strong>di</strong>viduata da<br />
un polinomio del tipo:<br />
( ) (21.1.1)<br />
Essendo ( ) un polinomio <strong>di</strong> co<strong>di</strong>ce l’insieme delle sue ra<strong>di</strong>ci conterrà l’insieme<br />
devono quin<strong>di</strong> essere contemporaneamente sod<strong>di</strong>sfatte le equazioni:<br />
{<br />
( ) ( ) ( )<br />
( ) ( ) ( )<br />
Abbiamo così ottenuto un sistema lineare ed omogeneo <strong>di</strong><br />
incognite.<br />
La matrice dei coefficienti del sistema <strong>di</strong> cui sopra è:<br />
equazioni in<br />
(21.1.2)
150 Capitolo - 21 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
[<br />
( ) ( ) ( )<br />
( ) ( ) ( )<br />
] (21.1.3)<br />
che si può scrivere come segue:<br />
[<br />
( ) ( ) ( )<br />
] [ ] (21.1.4)<br />
osserviamo che la prima matrice a secondo membro è una matrice <strong>di</strong> Vandermonde il<br />
suo determinante vale pertanto:<br />
∏( ) (21.1.5)<br />
è quin<strong>di</strong> non singolare, poiché, per ipotesi, è un elemento primitivo <strong>di</strong> quin<strong>di</strong><br />
il suo or<strong>di</strong>ne è maggiore <strong>di</strong> , ne <strong>di</strong>scende che tutti i binomi della produttoria<br />
(21.1.5) sono <strong>di</strong>versi da , inoltre il determinante della seconda matrice è certamente<br />
<strong>di</strong>verso da zero in quanto essa è <strong>di</strong>agonale e gli elementi della <strong>di</strong>agonale sono tutti<br />
<strong>di</strong>versi da .<br />
Possiamo quin<strong>di</strong> concludere che il sistema (21.1.2) è <strong>di</strong> Cramer ed essendo anche<br />
omogeneo esso ammette solo la soluzione banale. Non esistono pertanto parole <strong>di</strong><br />
co<strong>di</strong>ce, ad eccezione <strong>di</strong> quella con simboli tutti nulli, che abbiano meno <strong>di</strong> simboli<br />
<strong>di</strong>versi da .<br />
Quanto appena mostrato permette <strong>di</strong> costruire un’importante classe <strong>di</strong> co<strong>di</strong>ci detti<br />
BCH, dalle iniziali dei loro scopritori: Bose (1959), Chaundhuri e Hocquenghem<br />
(1960). Alla classe dei co<strong>di</strong>ci BCH appartengono anche i co<strong>di</strong>ci <strong>di</strong> Hamming che<br />
abbiamo già visto, nonché i co<strong>di</strong>ci <strong>di</strong> Reed Solomon (RS).<br />
Osserviamo che i co<strong>di</strong>ci BCH sono ciclici in quanto il loro polinomio generatore<br />
ha tra le sue ra<strong>di</strong>ci un sottoinsieme <strong>di</strong> quelle <strong>di</strong> pensato come polinomio a<br />
coefficienti in , esso ne è pertanto un fattore.<br />
Osserviamo anche che il grado del polinomio generatore non è assegnato a priori,<br />
ma <strong>di</strong>pende dalla scelta dell’elemento primitivo <strong>di</strong> . ne segue che anche il numero<br />
<strong>di</strong> simboli che costituiscono la parola informativa non può essere prefissato. Inoltre la<br />
<strong>di</strong>stanza minima del co<strong>di</strong>ce potrebbe anche risultare maggiore <strong>di</strong> quella <strong>di</strong> progetto.<br />
Tipicamente i simboli che costituiscono la parola <strong>di</strong> co<strong>di</strong>ce appartengono ad un campo<br />
, cioè ad un campo con un numero <strong>di</strong> elementi che sia una potenza <strong>di</strong> .<br />
Esempio 21.1
Co<strong>di</strong>ci BCH 151<br />
Vogliamo realizzare un co<strong>di</strong>ce BCH con una parola <strong>di</strong> co<strong>di</strong>ce <strong>di</strong> bit in grado <strong>di</strong> correggere<br />
almeno errori quin<strong>di</strong> con una <strong>di</strong>stanza minima pari almeno a . Per farlo abbiamo bisogno <strong>di</strong> <strong>di</strong><br />
generare .<br />
Possiamo verificare che<br />
é un polinomio irriducibile primitivo. A partire da<br />
quest’ultimo ricaviamo la Tabella 21.1, da essa possiamo facilmente calcolare i logaritmi <strong>di</strong> Zech<br />
riportati in Tabella 21.2.<br />
Possiamo quin<strong>di</strong> procedere alla costruzione del polinomio generatore a coefficienti in , che<br />
deve avere come ra<strong>di</strong>ci 6 potenze consecutive <strong>di</strong> un elemento primitivo . Possiamo scegliere:<br />
Tale scelta ha il vantaggio <strong>di</strong> semplificare la ricerca del polinomio generatore, in quanto il<br />
polinomio minimale associato ad tenendo conto della (20.8.6) è anche minimale per ed<br />
quello <strong>di</strong> lo è anche per . Il polimomio generatore cercato sarà quin<strong>di</strong> il prodotto <strong>di</strong> tre<br />
polinomi minimali, quello associato ad , quello associato ad e quello associato ad .<br />
Osserviamo che se avessimo scelto il polinomio generatore avente come ra<strong>di</strong>ci:<br />
Esso avrebbe avuto certamente un grado non minore <strong>di</strong> quello associato alla scelta precedente in<br />
GF<br />
o x x o 00000<br />
x x x x α 00010<br />
x x x x α 00100<br />
x x x x α 01000<br />
x x x x α 10000<br />
x x x x α 00101<br />
x x x x x α 01010<br />
x x x x x α 10100<br />
x x x x x α 01101<br />
x x x x x x α 11010<br />
x x x x α 10001<br />
x x x x x α 00111<br />
x x x x x x α 01110<br />
x x x x x x α 11100<br />
x x x x x x α 11101<br />
x x x x x x x α 11111<br />
x x x x x x α 11011<br />
x x x x x α 10011<br />
x x x x α 00011<br />
x x x x x α 00110<br />
x x x x x α 01100<br />
x x x x x α 11000<br />
x x x x x α 10101<br />
x x x x x x α 01111<br />
x x x x x x x α 11110<br />
x x x x x α 11001<br />
x x x x x x α 10111<br />
x x x x x α 01011<br />
x x x x x x α 10110<br />
x x x x α 01010<br />
x x x x x α 10010<br />
x x x e 00001<br />
Tabella 21.1 - Possibile rappresentazione <strong>di</strong> GF<br />
k mod<br />
Tabella 21.2<br />
z(k)
152 Capitolo - 21 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
quanto oltre ai tre fattori citati avrebbe dovuto avere tra i suoi fattori il polinomio minimale associato<br />
ad . L’aumento del grado del polinomio generatore comporta inevitabilmente una riduzione del<br />
grado del polinomio informativo, in questo caso specifico poi la <strong>di</strong>stanza minima <strong>di</strong> progetto sarebbe<br />
anche aumentata perché il polinomio generatore avrebbe avuto almeno 7 potenze consecutive <strong>di</strong><br />
tra le sue ra<strong>di</strong>ci.<br />
La ricerca dei polinomi minimali può essere fatta per tentativi possiamo solo ridurne il numero.<br />
Nel caso ad esempio del polinomio minimale associato ad sappiamo che esso avrà anche le ra<strong>di</strong>ci<br />
quin<strong>di</strong> dovrà essere almeno <strong>di</strong> quinto grado, possiamo quin<strong>di</strong> cominciare a prendere<br />
in considerazione i polinomi non omogenei <strong>di</strong> 5 grado con un numero <strong>di</strong>spari <strong>di</strong> coefficienti, in<br />
quanto quelli con un numero pari <strong>di</strong> coefficienti, essendo <strong>di</strong>visibili per , non sarebbero<br />
irriducibili. Restano quin<strong>di</strong> 8 possibili polinomi <strong>di</strong> quinto grado da prendere in considerazione.<br />
Il polinomio minimale associato ad è che sia una sua ra<strong>di</strong>ce si constata<br />
imme<strong>di</strong>atamente osservando che e , appartengono allo stesso laterale (ve<strong>di</strong> Tabella 21.1),<br />
esso è anche irriducibile in quanto è proprio il polinomio che abbiamo utilizzato per generare il<br />
campo.<br />
Il polinomio irriducibile associato ad deve avere tra le sue ra<strong>di</strong>ci anche ,<br />
anch’esso avrà quin<strong>di</strong> un grado non inferiore al quinto il polinomio che cerchiamo è<br />
. Proviamo a verificare che è una sua ra<strong>di</strong>ce. Utilizzando i logaritmi <strong>di</strong> Zech (ve<strong>di</strong> Tabella<br />
21.2) otteniamo:<br />
=<br />
Dobbiamo anche verificare che è irriducibile non avendo tra i suoi fattori nessun polinomio <strong>di</strong><br />
primo grado, verifichiamo che non ne abbia <strong>di</strong> secondo grado. Ovviamente esso non è <strong>di</strong>visibile per<br />
, non lo è neppure per ne per , quin<strong>di</strong> è irriducibile in quanto non possono<br />
esistere fattori <strong>di</strong> terzo grado, se non ve ne sono <strong>di</strong> secondo, in un polinomio <strong>di</strong> quinto grado.<br />
Il polinomio minimale associato ad è , come si può analogamente<br />
verificare.<br />
Possiamo a questo punto calcolare il polinomio generatore del co<strong>di</strong>ce che sarà il prodotto dei tre<br />
polinomi minimali sopra in<strong>di</strong>cati che sarà <strong>di</strong> quin<strong>di</strong>cesimo grado:<br />
( ) ( )( )( )<br />
( )( )<br />
=<br />
Poiché il polinomio <strong>di</strong> co<strong>di</strong>ce è <strong>di</strong> trentesimo grado e il polinomio generatore <strong>di</strong> quin<strong>di</strong>cesimo il<br />
polinomio informativo sarà anch’esso <strong>di</strong> 15 grado la parola informativa sarà quin<strong>di</strong> costituita da 16<br />
bit, avremo quin<strong>di</strong> 65536 parole <strong>di</strong> co<strong>di</strong>ce immerse in uno spazio <strong>di</strong><br />
parole (tutte le<br />
possibili parole costituite da 31 bit.<br />
Le parole <strong>di</strong> co<strong>di</strong>ce si possono a questo punto generare moltiplicando il polinomio associato alla<br />
parola informativa per il polinomio generatore, ma in questo caso il co<strong>di</strong>ce non sarebbe sistematico,<br />
ovvero possiamo ricordare che i co<strong>di</strong>ci BCH sono ciclici e basandoci sul § 19.6 - possiamo generare<br />
le parole <strong>di</strong> co<strong>di</strong>ce a partire da un polinomio informativo ( ) effettuando rotazioni cicliche sulla<br />
parola <strong>di</strong> co<strong>di</strong>ce<br />
( ) ( ) ( ) ( ( ))<br />
In particolare i co<strong>di</strong>ci <strong>di</strong> Reed Solomon, che sono certamente i più importanti tra<br />
i co<strong>di</strong>ci BCH, hanno simboli appartenenti a<br />
, lunghezza della parola <strong>di</strong> co<strong>di</strong>ce<br />
, lunghezza della parola informativa qualsiasi, purché (ovviamente)<br />
minore <strong>di</strong> , e <strong>di</strong>stanza minima .<br />
Un co<strong>di</strong>ce <strong>di</strong> RS che ha trovato <strong>di</strong>verse applicazioni pratiche è il (255,239, 17)<br />
che presenta una <strong>di</strong>stanza minima <strong>di</strong> 17 con simboli appartenenti a<br />
, cioè costituite<br />
da un byte, il che significa che pensato come co<strong>di</strong>ce binario la parola <strong>di</strong> co<strong>di</strong>ce è <strong>di</strong><br />
in grado <strong>di</strong> correggere fino ad<br />
nel byte.<br />
bit e la corrispondente parola informativa <strong>di</strong><br />
bit. Questo co<strong>di</strong>ce è<br />
byte errati in<strong>di</strong>pendentemente dal numero <strong>di</strong> bit errati
Co<strong>di</strong>ci BCH 153
Capitolo - 22<br />
LA TRASFORMATA DI FOURIER DISCRETA<br />
22.1 - La Trasformata <strong>di</strong> Fourier Discreta<br />
Ricor<strong>di</strong>amo che la trasformata (DFT) e l’antitrasformata (IDFT) <strong>di</strong> Fourier<br />
<strong>di</strong>screta <strong>di</strong> una sequenza a valori nel campo complesso <strong>di</strong> durata , o perio<strong>di</strong>ca<br />
<strong>di</strong> periodo è data da:<br />
∑<br />
∑<br />
∑<br />
∑<br />
(22.1.1)<br />
dove rappresenta una ra<strong>di</strong>ce -esima dell’unità, in altri termini nelle (22.1.1)<br />
compaiono le ra<strong>di</strong>ci appartenenti al campo complesso del polinomio, a coefficienti in<br />
, . Si noti che il campo complesso è un’estensione del campo reale.<br />
Volendo generalizzare le (22.1.1) ai campi finiti, occorre innanzitutto soffermarsi<br />
sull’esistenza della ra<strong>di</strong>ce -esima dell’unità del campo. Ricordando la (20.5.1) e la<br />
(20.5.3) conclu<strong>di</strong>amo che se operiamo in la lunghezza della sequenza deve<br />
essere un <strong>di</strong>visore <strong>di</strong> .<br />
Ciò premesso consideriamo una sequenza ed una ra<strong>di</strong>ce -esima<br />
dell’unità in , cioè un elemento <strong>di</strong> or<strong>di</strong>ne per il gruppo , sia .<br />
Prendendo spunto dalle (22.1.1) possiamo scrivere la coppia <strong>di</strong> trasformate<br />
˜<br />
∑<br />
∑<br />
(22.1.2)<br />
Vogliamo verificare se esiste un elemento in corrispondenza al quale risulti<br />
˜<br />
. A tal fine sostituiamo la prima delle (22.1.2) nella seconda:
156 Capitolo - 22 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
˜ ∑ ∑ ∑ ∑ ( )<br />
∑ ∑ ∑ ( ) )<br />
(<br />
(22.1.3)<br />
∑ ∑ ∑ ( ) )<br />
(<br />
∑{<br />
( )<br />
( )<br />
( )<br />
( ) }<br />
{<br />
}<br />
Affinché le (22.1.1) siano una coppia <strong>di</strong> trasformate è quin<strong>di</strong> sufficiente che<br />
l’inverso <strong>di</strong> in , in realtà è anche l’inverso <strong>di</strong> in .<br />
Possiamo quin<strong>di</strong> scrivere la coppia <strong>di</strong> trasformate:<br />
sia<br />
∑<br />
( ) ∑<br />
(22.1.4)<br />
Per la DFT su un campo finito valgono quasi tutte le proprietà già note per quella<br />
nel campo complesso, ad esempio la linearità, la cui verifica è banale, o quella <strong>di</strong><br />
traslazione ciclica.<br />
Sia data una sequenza , la cui DFT sia , fissato un intero<br />
consideriamo la sequenza il cui generico elemento ˜ , dove sta ad<br />
in<strong>di</strong>care che la <strong>di</strong>fferenza va effettuata modulo . Vogliamo calcolare la DFT <strong>di</strong><br />
˜ otteniamo:<br />
˜ ∑ ˜ ∑ ∑<br />
∑<br />
( )<br />
(22.1.5)<br />
DFT vale:<br />
Dualmente fissato un intero j consideriamo la sequenza<br />
ij<br />
N i<br />
N<br />
i<br />
0<br />
1<br />
c la sua<br />
˜ ∑ ∑<br />
( )<br />
(22.1.6)
La Trasformata <strong>di</strong> Fourier Discreta 157<br />
Alla sequenza<br />
possiamo associare il polinomio:<br />
( ) (22.1.7)<br />
lo stesso possiamo fare per la sua DFT , ammesso che esista, definendo in<br />
modo analogo un polinomio ( ) <strong>di</strong> grado al più . Osservando le (22.1.4) ci<br />
ren<strong>di</strong>amo conto che risulta:<br />
( )<br />
( ) ( )<br />
(22.1.8)<br />
Dalle precedenti <strong>di</strong>scende che se allora ( ) ha come ra<strong>di</strong>ce, o, che è lo<br />
stesso, ha il polinomio<br />
su ( ) se qualche .<br />
tra i suoi fattori. Analoghe considerazioni possono farsi<br />
Consideriamo una sequenza non banale cui corrisponda un ( )<strong>di</strong> grado<br />
non maggiore <strong>di</strong> . Detto polinomio può avere al più ra<strong>di</strong>ci che<br />
qualora coincidessero tutte con le , comporterebbero l’annullamento <strong>di</strong> non più <strong>di</strong><br />
elementi della che conseguentemente avrebbe almeno elementi<br />
non nulli. Applicando la (22.1.5) possiamo facilmente concludere che è in realtà<br />
sufficiente che in una sequenza non banale siano nulli elementi consecutivi<br />
(modulo ), affinché la sequenza trasformata, o antitrasformata abbia almeno<br />
elementi non nulli.<br />
22.2 - DFT e co<strong>di</strong>ci ciclici<br />
Le considerazioni fatte dopo la (22.1.8) ci permettono <strong>di</strong> introdurre una<br />
definizione alternativa per i co<strong>di</strong>ci ciclici. Possiamo infatti affermare che<br />
Definizione 22.1<br />
Un co<strong>di</strong>ce ciclico ( ) è costituito dal sottoinsieme <strong>di</strong> la cui DFT si annulla in<br />
posizioni prefissate.<br />
La definizione appena data comporta ovviamente l’esistenza della DFT, deve<br />
esistere cioè un elemento <strong>di</strong> or<strong>di</strong>ne<br />
per<br />
⊗ , che consenta <strong>di</strong> calcolarla, ne <strong>di</strong>scende<br />
che deve essere un sottomultiplo <strong>di</strong> , cioè una ra<strong>di</strong>ce -esima dell’unità <strong>di</strong><br />
. Se vogliamo che le parole <strong>di</strong> co<strong>di</strong>ce abbiano la massima lunghezza l’elemento<br />
scelto per il calcolo della DFT dovrà essere primitivo. In questo caso avremmo<br />
. Il fatto che la Definizione 22.1 sia equivalente alla Definizione 19.1<br />
risulta evidente tenendo conto della (22.1.8) che ci permette <strong>di</strong> affermare che ogni<br />
polinomio <strong>di</strong> un co<strong>di</strong>ce costruito sulla base della Definizione 22.1 è multiplo <strong>di</strong> uno
158 Capitolo - 22 - <strong>Appunti</strong> <strong>di</strong> <strong>Teoria</strong> dell’Informazione e Co<strong>di</strong>ci<br />
stesso polinomio che è a sua volta un fattore <strong>di</strong><br />
coefficienti in .<br />
inteso come polinomio a