4 – CANALI DI INFORMAZIONE
Una volta esaminate le caratteristiche della sorgente, spostiamo l’attenzione sul canale di
trasmissione.
Si è visto
che siamo interessati a trovare codici con lunghezza media la più bassa
possibile, e che l’entropia della sorgente rappresenta il limite inferiore del numero minimo
di simboli di codice necessari per codificare un simbolo di sorgente. Abbiamo definito
efficienza e ridondanza del codice, e ricerchiamo i codici a ridondanza minima.
Nella codifica di canale potrebbe essere invece interessante aumentare la ridondanza,
perché a causa del rumore del canale (perturbazioni elettromagnetiche di varia natura) la
ridondanza del codice potrebbe essere utile per l’identificazione e la correzione degli
errori.
Il secondo teorema di Shannon preciserà le opportune tecniche di codifica di canale con
rumore.
CANALI DI TRASMISSIONE
Un canale di trasmissione dell’informazione è descritto dando un alfabeto di ingresso
X  x1 , x2 ,..., xr , un alfabeto di uscita Y  y1 , y 2 ,..., y s  e dalla serie di probabilità
condizionate P( y j | xi ),
1 i  r, 1 j  s
L’alfabeto di ingresso può essere senza perdita di generalità
quello di codifica della
sorgente. La probabilità condizionata P(yj|xi) rappresenta la probabilità di osservare in
uscita il simbolo yj a condizione di aver trasmesso il simbolo xi secondo il seguente
schema:
x1
x2
.
y1
.
y2
.
.
xr
.
.
ys
Un canale di informazione importante è il cosiddetto Canale Simmetrico Binario (BSC) nel
quale gli alfabeti di ingresso e di uscita coincidono in 0,1 , secondo il seguente schema:
Si vede cioè che
P(0 | 0)  P(1 | 1)  P *
P(1 | 0)  P(0 | 1)  P  1  P *
cioè che P è la probabilità d’errore del canale, ossia la probabilità che trasmesso un
simbolo si riceva l’altro, mentre P*=1-P è la probabilità che trasmesso un simbolo questo
venga ricevuto correttamente.
Il canale è binario e anche simmetrico perché la probabilità di ricevere 1 se si invia 0 è
uguale alla probabilità di ricevere 0 se si invia 1.
Il canale così definito è detto senza memoria o a memoria zero (memoryless canne)
perché l’eventuale errore compiuto su un simbolo non implica un errore nel simbolo
precedente o successivo.
In un canale con memoria (memory o burst channel) invece gli errori si presentano a
pacchetti, e l’errore su un simbolo si ripercuote sui simboli precedenti e successivi.
Disponiamo ingressi ed uscite come nel seguente schema:
y1
y2
…... ...... ys
x1
P(y1|x1) P(y2|x1) …
…
P(ys|x1)
x2
P(y2|x1) P(y2|x2) …
…
P(ys|x2)
… .
.
…
…
… .
.
…
…
… .
.
…
…
xr
P(y2|xr)
…
…
P(y1|xr)
P(ys|xr)
Ogni riga corrisponde ad un ingresso xi fisso ed i termini di riga sono le probabilità di
ottenere i vari simboli di uscita a condizione che si sia inviato xi.
Introduciamo allora in modo sintetico la matrice di canale in (4.1) nella quale ad ogni riga
corrisponde un ingresso e ad ogni colonna corrisponde un’uscita dello stesso.
Nella 4.1 la somma degli elementi di una riga deve valere 1 perché si tratta della somma
delle probabilità che un ingresso generi comunque una certa uscita.
P11
P
P= 21
...
Pr1
In questa matrice vale
P12
P21
...
Pr 2
... P1s
... P2 s
... ...
... Prs
(4.1)
s
P
ij
j 1
 1 per i=1,….,r .
Per un canale simmetrico binario la matrice sarà allora
PBSC 
p*
p
p
p*
(4.2)
Come nel caso delle sorgenti di informazione, si possono considerare gli ingressi e le
uscite di un canale come costituiti da blocchi di n simboli, in modo che potremo definire
l’estensione n-ma di un canale come nel caso delle sorgenti.
Consideriamo quindi un canale di informazione con alfabeto di ingresso
alfabeto di uscita Y  y j ,
X  xi , i  1,2,.., r ,
j  1,2,.., s , con matrice di canale del tipo in (4.1).
Allora l’estensione n-ma di questo canale ha alfabeto di ingresso
X n   i ,
i  1,2,.., r
n
e alfabeto di uscita
Y n   j ,
j  1,2,.., s n
(dove rn e s n è il numero di disposizioni con ripetizione di r (oppure s) simboli n ad n)
con matrice di canale

 11
 21
 12
 22
...
...
r
n
1
r
n
2
...  1s n
...  2 s n
... ...
...  r n s n
Ciascun ingresso xi consiste in una sequenza di n simboli dell’alfabeto di ingresso, e le
sequenze sono tante quante le rn disposizioni; analogamente per le sn sequenze di uscita.
Le probabilità condizionate  ij che inviata la sequenza xi si presenti in uscita la sequenza
yj, ovvero P(yj|xi), sono uguali ai prodotti delle probabilità condizionate delle n coppie di
simboli elementari (uno della sequenza di ingresso e l’altro di quella in uscita).
Di fatto quindi l’estenzione n-ma di un canale è lo stesso canale originario in cui i simboli di
ingresso e di uscita sono visti a blocchi di n.
ESEMPIO.
Consideriamo l’estensione seconda del canale BSC, ossia (BSC)2, che ha l’ingresso
X 2  00,01,10,11 ed identica uscita Y2. La sua matrice di canale sarà allora
P *2 P * P PP * P 2
P * P P *2
P2
PP *

2
2
PP * P
P*
P*P
2
*
P
PP
P * P P *2
(4.2a)
E’ possibile ricavare questa matrice a partire dalla matrice P del canale BSC, PBSC in (4.2):
si ha infatti

P * PBSC
PPBSC
PPBSC
P * PBSC
(4.2b)
Questa espressione è nota come quadrato di Kronecker o tensore quadrato della matrice
P.
Nel caso più generale, la matrice di canale dell’estensione n-ma di un dato canale viene
denominata potenza n-ma di Kronecker della matrice di canale originaria.
PROBABILITA’ DI UN CANALE
Consideriamo il solito canale con alfabeto di ingresso X  x1 , x2 ,..., xr , alfabeto di uscita
Y  y1 , y 2 ,..., y s  e sia P la matrice di canale espressa dalla (4.1).
Supponiamo ora di scegliere i simboli di ingresso con probabilità P(x1),P(x2),…,P(xr).
Allora è possibile trovare le probabilità con cui appariranno i simboli di uscita. Infatti se
consideriamo il simbolo di uscita y1, esso sarà generato con probabilità P11 se è stato
inviato da x1, P21 se è stato inviato da x2, e così via fino a xr .
Per il teorema delle probabilità totali si ha:
P( y1 )  P( x1 ) P11  P( x 2 ) P21  ...  P( x r ) Pr1
P( y 2 )  P( x1 ) P12  P( x 2 ) P22  ...  P( x r ) Pr 2
……………………………………………
P( y s )  P( x1 ) P1s  P( x2 ) P2 s  ...  P( xr ) Prs
(4.3)
Questa seerie di equazioni permette così di determinare le probabilità dei simboli in uscita
una volta note le probabilità di ingresso P(xi) e la matrice di canale, attraverso le
probabilità condizionate Pij  P ( y j | xi ).
Tuttavia se ammettiamo di conoscere la matrice di canale e le probabilità di uscita P(y j),
per esempio con un numero molto grande di rilevazioni in modo da utilizzare come
probabilità la frequenza di uscita, il sistema non è invertibile fino ad ottenere le probabilità
di ingresso.
In effetti se si pensa al caso di un canale BSC con P=1/2, ogni serie di probabilità di
ingresso dà luogo a simboli di uscita equiprobabili: anche in generale più distribuzioni di
ingresso possono dar luogo allo stesso sistema di probabilità di uscita.
Oltre a poter calcolare le probabilità di uscita (4.3),
utilizzando il teorema di Bayes
sappiamo che la probabilità dell’evento congiunto (xi,yj) si esprime
P ( xi , y j )  P ( xi ) P ( y j | x i )  P ( y j ) P ( x i | y j ) )
(4.4)
Quindi possiamo determinare la probabilità condizionata di un ingresso x i data l’uscita yj,
ovvero
P ( xi | y j ) 
P ( y j | xi ) P ( xi )
P( y j )
(4.5)
dove al denominatore dobbiamo sostituire l’espressione dedotta dalla (4.3).
In conclusione, attraverso la conoscenza delle probabilità di ingresso e della matrice di
canale, possiamo determinare:
- le probabilità di uscita (4.3)
- le probabilità degli eventi congiunti relative ad ogni ingresso ed ogni uscita (4.4)
- le probabilità condizionate inverse degli ingressi condizionati dalle uscite (4.5).
ENTROPIE A PRIORI E A POSTERIORI
Sulla base della (4.3), la probabilità di uscita di yj dal canale è P(yj) quando non si conosce
quale simbolo sia stato inviato in ingresso. Ma se si conosce ad esempio che in ingresso è
stato inviato il simbolo xi, allora la probabilità di uscita di yi cambia in P(yj|xi).
Il simbolo in ingresso xi è stato scelto con probabilità P(xi) a prescindere dalla conoscenza
del simbolo in uscita. Ma se osserviamo il simbolo di uscita yj allora la probabilità che sia
stato scelto in ingresso xi è P(xi|yj) .
Chiameremo probabilità a priori dei simboli in ingresso le P(xi), prima della ricezione del
simbolo di uscita. Chiameremo probabilità a posteriori dei simboli di ingresso le P(xi|yj) ,
dopo la ricezione dell’uscita yj .
Allora è possibile considerare due tipi di entropia dell’alfabeto X di ingresso al canale:
l’entropia a priori di X fondata sulle P(xi), e l’entropia a posteriori di X condizionata da yj ,
fondata sulle P(xi|yj) ovvero sulla conoscenza di yj .
Avremo così:
r
 1 

H ( X )   P( xi )  log 
i 1
 P ( xi ) 
r


1

H ( X | y j )   P( xi | y j )  log 


P
(
x
|
y
)
i 1
i
j 

entropia a priori di X
entropia a posteriori di X
quando si è ricevuto yj .
H(X) è il numero medio di bit occorrenti per rappresentare il simbolo xi di una sorgente (in
questo caso dell’alfabeto X di ingresso) inviato con probabilità P(xi), i=1,…r.
H(X|yj) è invece il numero medio di bit occorrenti per rappresentare un simbolo xi dello
stesso alfabeto X emesso però con probabilità a posteriori P(xi|yj) , cioè dopo aver
osservato l’uscita yj .
Siccome però i simboli di uscita si presentano con probabilità P(yj), ci si può aspettare che
il numero medio di bit necessari per rappresentare un simbolo di ingresso dato un certo
simbolo di uscita segua mediando anche su yj , ottenendo così
s
s
r


1

H ( X | Y )   P( y j ) H ( X | y j )   P( y j ) P( xi | y j )  log 


P
(
x
|
y
)
j 1
j 1
i 1
i
j 

(4.6)
entropia media a posteriori del canale
ossia il numero medio di bit necessari per rappresentare un simbolo di ingresso quando si
conosce l’uscita.
EQUIVOCAZIONE DEL CANALE
L’entropia a priori è quella della sorgente (alfabeto di ingresso X), e la sua statistica è
costituita dalle probabilità a priori P(xi).
L’entropia a posteriori riguarda invece una sorgente che scelga una nuova statistica dopo
ogni simbolo ricevuto, il che non è ipotizzato nel primo teorema di Shannon.
Dobbiamo quindi generalizzarlo.
Dal primo teorema di Shannon sappiamo che l’entropia della sorgente, misurata in unità r,
costituisce il limite inferiore del numero medio di simboli (in un alfabeto di r simboli)
necessario per codificare ciascun simbolo di sorgente.
Ma questa volta la statistica cambia da simbolo a simbolo.
Limitiamo la discussione ai codici binari senza perdita di generalità. Siccome le uscite
possono essere s, si costruiscono s codici binari, uno per ciascuna possibile uscita,
ognuno con lunghezza l ij secondo lo schema seguente:
Simbolo
Ingresso
codici
x1
l11
l12
... l1 j
... l1s
x2
l 21 l 22
... l 2 j
... l 2 s
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
xr
l r1
lr 2
... l rj
... l rs
Supponiamo che gli s codici considerati, di cui lij rappresenta la lunghezza, siano
istantanei. Possiamo allora applicare a ciascun codice la prima parte del teorema di
Shannon ed imporre che
r
H ( X | y j )   P( xi | y j )lij  L j
i 1
dove L j è la lunghezza media del codice j-mo mediato su tutti gli ingressi e abbiamo
utilizzato le probabilità a posteriori invece di quelle a priori perché il codice j-mo è
impiegato solo quando yj è stato ricevuto.
Ora, è evidente che il numero medio di bit usati per codificare ciascun membro
dell’alfabeto X è ottenibile mediando H ( X | y j ) rispetto ai simboli ricevuti yj. Si ottiene così
per la (4.6) , utilizzando il teorema di Bayes, che essendo per la (4.6)
s
s
r
j 1
j 1
i 1
H ( X | Y )   P( y j ) H ( X | y j )   P( y j ) P( xi | y j )lij
si ottiene
s
s
r
H ( X | Y )   P( y j ) H ( X | y j )   P( xi , y j )lij  L
j 1
j 1 i 1
dove L rappresenta il numero medio di bit usati per codificare un simbolo dell’alfabeto X,
numero minimizzato da H(X|Y).
In analogia alla (3.1)
log r
1
1
 li  log r
 1 è possibile scegliere lij come unico intero
Pi
Pi
che soddisfi
log
1
1
 lij  log
1
P ( xi | y j )
P ( xi | y j )
i=1,…,r; j=1,…,s
In modo che le lij rappresentino s gruppi di lunghezze di parole accettabili come lunghezze
di parola per gli s codici istantanei.
Se moltiplichiamo per P(xi,yi) e sommiamo sui due alfabeti X e Y, otteniamo
H (X | Y)  L  H (X | Y) 1
(4.7)
Ora, questa formula è valida per ogni canale deltipo considerato, quindi analogamente a
quanto detto per il teorma di Shannon, si può affermare che vale anche per l’estensione nma del canale fino a giungere alla (v. 3.3)
H(X | Y) 
Ln
1
 H(X | Y) 
n
n
in cui Ln è il numero medio di bit usati per codificare un simbolo di Xn e quindi Ln/n è il
numero medio di bit usati per codificare un simbolo di X.
Si può allora arrivare alla generalizzazione del teorema di Shannon al caso del canale
istantaneo di cui sia nota l’uscita:
lim (
n
Ln
)  H(X | Y)
n
Pertanto possiamo enunciare il
TEOREMA DI SHANNON GENERALIZZATO
L’entropia media a posteriori costituisce il limite inferiore del numero medio di bit che si
possono utilizzare per codificare un simbolo dell’alfabeto X, una volta nota l’uscita dal
canale per ogni simbolo inviato.
L’entropia cui ci si riferisce è la (4.6), definizione di H(X|Y), qui intesa come media delle
entropie a posteriori relative alle varie uscite yj. Poiché intervengono le probabilità di un
ingresso condizionato dall’uscita, questa entropia viene chaimata equivocazione di canale
o di X rispetto ad Y.
Il primo teorema di Shannon enunciava che l’entropia della sorgente in unità r è il limite
inferiore del numero medio di simboli di codice usato per ogni simbolo di una sorgente
senza memoria.
Rispetto al primo teorema di Shannon sottolineiamo un’importante differenza. Mentre la
forma originale vale per ogni tipo di codici univocamente decodificabili, istantanei o no, la
sua generalizzazione vale solo per i codici istantanei.
Infatti in questo caso il codice del simbolo di ingresso varia al variare dell’uscita ad esso
corrispondente, e anche se il codice usato è univocamente decodificabile, non è in
generale vero che la sequenza di parole di codice ottenuta da una sequenza di parole di
codici univocamente decodificabili sia a sua volta univocamente decodificabile.
Ad esempio, si può sempre scegliere una sequenza di due parole dei codici X e X*, visti
nella codifica di sorgente ed entrambi univocamente decodificabili, che sia indistingubile
da una parola di X*: quindi la sequenza non è univocamente decodificabile.
INFORMAZIONE MUTUA
Occorrono dunque almeno H(X) bit per codificare un simbolo dell’alfabeto di ingresso, a
priori cioè senza conoscere l’uscita del canale. Occorrono invece almeno H(X|Y) bit per
codificare un ismbolo di ingresso quando è nota la sua uscita dal canale, ovvero a
posteriori.
Si può quindi dire che l’osservazione di un simbolo di uscita ci fornisce in media H(X)H(X|Y) bit di informazione, ossia la differenza fra i bit occorrenti per codificare un simbolo
a priori, senza conoscere l’uscita, e quelli necessari a posteriori conoscendo la medesima.
Questa differenza è nota come informazione mutua I di X ed Y, o informazione mutua del
canale:
I ( X ;Y )  H ( X )  H ( X | Y )
bit
(4.8)
La (4.8) è simmetrica rispetto ai due alfabeti di ingresso e di uscita. Infatti dalla (4.6) si
ottiene che:
r
I ( X ; Y )   P( xi ) log(
i 1
1
)
P ( xi )
s
Moltiplicando il minuendo per
 P( y
j 1
j

r


1


P
(
y
)
P
(
x
|
y
)

log

j 
i
j


P
(
x
|
y
)
j 1
i 1
i
j 

s
| xi )  1 e ricordando la (4.4) * si ottiene
r
s
 P ( xi , y j ) 
I ( X ; Y )   P ( xi , y j ) log 

i 1 j 1
 P( xi ) P( y j ) 
Abbiamo già utilizzato la nota diseguaglianza log x 
(4.9)
( x  1)
, dove il simbolo = vale solo
x
per x=1. Applicandola in questo caso ** si ottiene facilmente
I ( X ;Y )  0
in cui il simbolo = vale solo se i due alfabeti sono statisticamente indipendenti, il che
avviene se e solo se P( xi , y j )  P( xi ) P( y j ) .
-----------------------------*
P( xi , y j )  P( xi ) P( y j | xi )  P( y j ) P( xi | y j ) e sostituisco in
r

 s
1

 P ( y j | xi )
P
(
y
)
P
(
x
|
y
)

log

j 
i
j
 P( x | y )  
j 1
i 1
i
j

 j 1
s
**
log
log
log
P ( xi , y j )
(
P ( xi ) P ( y j )
1 1 x

x
x
P ( xi ) P ( y j )
 1) 
P ( xi ) P ( y j )
P ( xi , y j )
quindi
P ( xi ) P ( y j )
P ( xi , y j )
P ( xi , y j )
 (1 
P ( xi ) P ( y j ) P ( xi ) P ( y j )
)
P ( xi , y j )
P ( xi , y j )
infatti
Questo è un risultato importante perché afferma che non possiamo perdere in media
informazione osservando l’uscita del canale.
Si può anche dedurre che quando i due alfabeti non sono statisticamente indipendenti,
l’entropia a priori H(X) è sempre maggiore di quella media a posteriori H(X|Y), per cui
l’incertezza su quale simbolo sia stato inviato diminuisce se conosciamo le uscite dal
canale.
Si potrebbe però dimostrare che la differenza fra H(X) e H(X|yj) può anche essere
negativa: ossia l’osservazione di un particolare simbolo in uscita potrebbe aumentare
l’incertezza ma l’osservazione delle uscite presa in media la diminuisce.
Infine va osservato che non si ottiene informazione se i due alfabeti sono indipendenti,
perché l’incertezza sul simbolo inviato non può essere variata dall’osservazione delle
uscite se queste sono indipendenti dagli ingressi. In tal caso ovviamente l’informazione
mutua è nulla.
Infine va osservato che la (4.9) è perfettamente simmetrica rispetto ai due alfabeti e alla
loro statistica: anche se la trasmissione dell’informazione avviene in senso inverso,
l’informazione mutua non cambia.
Possiamo quindi porre
I ( X ; Y )  I (Y ; X )  H (Y )  H (Y | X )
dove
s
H (Y )   P( y j ) log[
j 1
e analogamente alla sua forma simmetrica
1
]
P( y j )
(4.10)
r
s


1
H (Y | X )   P( xi , y j ) log 

i 1 j 1
 P( y j | xi ) 
(4.10a)
è l’entropia media dell’uscita condizionata dall’ingresso, detta equivocazione dell’alfabeto
Y di uscita rispetto a quello X di entrata.
ENTROPIA CONGIUNTA
Definiamo ora anche la grandezza H(X;Y), legata all’incertezza dell’evento congiunto
(xi,yj):
r
s


1
H ( X ; Y )   P( xi , y j ) log 

i 1 j 1
 P( y j , xi ) 
Ora, moltiplicando e dividendo per P ( xi ) P ( y j ) l’argomento del logaritmo si ottiene
facilmente
r
s
 1 
P ( x i ) P ( xi )
1
ossia
H ( X ; Y )   P( xi , y j ) log (
)  log(
)  log
P( y j )
P ( y j , xi )
i 1 j 1
 P ( xi ) 
H ( X ; Y )  H ( X )  H (Y )  I ( X ; Y )
(4.11)
Facendo riferimento alla teoria degli insiemi, ipotizziamo che in generale H(X) e H(Y) non
siano disgiunti, ovvero che gli alfabeti non siano statisticamente indipendenti. Possiamo
scrivere allora
I ( X ; Y )  I (Y ; X )  H ( X )  H (Y )
che è poi la (4.11).
Possiamo leggere questa formula dicendo che l’informazione mutua è l’intersezione delle
entropie dei due alfabeti, quindi è nulla se essi sono statisticamente indipendenti e i relativi
insiemi sono disgiunti. Allo stesso modo si può scrivere
H ( X ; Y )  H (Y ; X )  H ( X )  H (Y )
ovvero l’entropia congiunta è l’unione delle entropie dei due alfabeti.
Possiamo ancora aggiungere che l’entropia media a posteriori, o equivocazione di X
rispetto ad Y, è rappresentata dall’insieme differenza fra H(X) e I(X;Y), mentre
l’equivocazione di Y rispetto ad X , H(Y|X), è rappresentata dall’insieme differenza fra H(Y)
e I(X;Y).
In figura (4.1) è rappresentata l’informazione mutua di un canale simmetrico binario.
Sia
X  0,1 alfabeto di ingresso
P (0)   , P(1)  *  1   probabilità di ingresso al canale
Y  0,1 alfabeto di uscita.
La matrice di canale BSC è fornita dalla (4.2) PBSC 
p*
p
p
, in cui p è la probabilità di
p*
errore del canale e p*=1-p è la probabilità che il digit trasmesso non venga alterato dal
canale.
Figura 4.1
L’entropia massima si ha per P=1/2, con i simboli equiprobabili.
Le probabilità di uscita dal canale sono
P (0)  P *  * P
P (1)  P   * P *
Dalla matrice di canale si ottiene infatti:
P( y1 )  P( x1 ) P11  P( x 2 ) P21
P( y 2 )  P( x1 ) P12  P( x 2 ) P22
e l’entropia di uscita, a partire dalla (4.10), sarà
H ( y )  H ( P   * P*) =H( P *  * P )
D’altra parte le probabilità condizionate di y dato x coincidono con P e P* ed essendo
r
s


1
(  *)  1 si ottiene, dalla (4.10a) H (Y | X )   P( xi , y j ) log 
,
i 1 j 1
 P( y j | xi ) 
H ( y | x)   P( x) P( y | x) log[
X
Y
1
]  H ( p)
P( y | x)
Quindi l’informazione mutua per il canale simmetrico binario sarà
I ( X ; Y ) BSC  H ( y)  H ( y | x)  H (P   * P*)  H ( P)
Ora, poiché come si vede dal grafico, P   * P*  P
(4.12)
P  1/ 2 , si arriva ad affermare
che I ( X ; Y ) BSC  0 , dove il segno = vale se P  1 / 2 (i due alfabeti sono in questo caso
statisticamente indipendenti).
Osserviamo che l’informazione mutua vale 0 quando =1 e *=0 o viceversa: non c’è
guadagno di informazione dalla conoscenza dell’ingresso quando sappiamo che questo è
sempre lo stesso.
Inoltre osserviamo le variazioni dell’informazione mutua al variare di : dato un BSC con
assegnata P, quando l’informazione mutua è massima ?
Ciò avviene per =1/2 (simboli equiprobabili), ed in tal caso dalla (4.12)
IMAX BSC=1-H(p).
In questo caso l’incertezza sull’ingresso (e quindi sull’uscita, H(Y)) è massima e vale 1 a
prescindere dalla conoscenza della probabilità P del canale. In tal caso c’è massimo
guadagno di informazione dalla conoscenza
equiprobabili.
dell’ingresso perché i due ingressi sono
Definizione.
Definiamo rapidità di segnalazione o bit rate di una sorgente la quantità di informazione
per unità di tempo fornita dai simboli che essa presenta in uscita. L’unità di misura
corrente è bit/s.
Se l’entropia di una sorgente viene emessa in un tempo t, la rapidità media di
segnalazione della sorgente sarà H/t bit/s.
Tempo di sorgente
T = ogni quanto tempo viene emesso un simbolo
Symbol rate
r = inverso di T
r=1/T = symb /sec = baud
Information rate o bit rate
R=informazione per unità di tempo
= numero simb/sec x H informazione media associata al simbolo
R= r
R= H/T
x
H = symb/sec x bit/simb = bit/sec = bps
bit/sec=bps
H/T=R
H/R=T=1/r
mentre il bit rate di uno specifico codice vale R= L/T bps
Signaling rate
rb = numero di binit emessi mediamente al secondo = numero di simboli emessi dalla
sorgente ogni secondo per numero di binit associati in media ad ogni simbolo (lunghezza
media di ogni codeword)
rb= r x L = simb/s x binit/simb = binit/s
DEFINIZIONI DI CODICI
Un codice C si dice univocamente decodificabile o decifrabile se qualsiasi sequenza
finite di caratteri di codice S corrisponde ad al Massimo 1 messaggio M:
S  0,1*   1M  x1 ,...*
M '  M"
t.c.
C(M )  S
C(M ' )  C(M " )
I codici istantanei sono un sottoinsieme dei codici univocamente decifrabili. Si dicono
istantanei perché non c’è necessità di aspettare un carattere futuro per decidere come
decodificare una stringa.
Un codice C si dice istantaneo se due sue qualsiasi parole non sono l'una il prefisso
dell'altra.
I codici a blocchi sono istantanei.
Un codice istantaneo con lunghezza delle parole di codice n 1,n2,..,nM su un alfabeto di
cardinalità D esiste se e solo se
M
D
 ni
1 .
i 1
Esempio di codice non istantaneo.
Codificando A come 0 e B come 00001, bisogna aspettare il quinto carattere per decidere
se decifrare il primo 0 come A o tutta la sequenza come B. Il codice è quindi
univocamente decifrabile ma non istantaneo.
Codici compatti.
Assegnata una sorgente S = (F; p), una codifica (C; f) della sorgente S = (F; p) con minima
lunghezza media si dice compatta. In questo caso anche il codice C si dice compatto.
Codici ottimi.
Si è visto che (dal Primo Teorema di Shannon):
Siano H(X) l’entropia di una sorgente discreta senza memoria e L il valore medio delle
lunghezze delle parole di codice che rappresentano i simboli emessi dalla sorgente. Si può
dimostrare che vale la seguente condizione:
LH(X)
Il limite inferiore di L è quindi dato da LH(X) .
Un codice per cui vale L=H(X) si dice assolutamente ottimo.
Un codice per cui si ottiene il valore minimo possibile di L per una determinata sorgente si
dice ottimo (anche se LH(X)).
Un codice con valore di superiore a quello di un codice ottimo si dice sub-ottimo.
Un codice ottimo è quindi un codice che usa la quantità di memoria minima possibile.
Data una codifica di sorgente F, diciamo che un codice C è ottimo per F se non esiste un
altro codice tramite il quale F possa essere compressa impiegando un numero inferiore di
bit.
Esiste in genere più di un codice ottimo per una data sorgente - cioè il codice ottimo per F
non è unico.