Appendice 6.4 - Gabriele Falciasecca

Transcript

Appendice 6.4 - Gabriele Falciasecca
APPENDICE 6.4
:
RICHIAMI SULLA CAPACITA’ DI UN CANALE
Si indichi con la notazione minuscola xi l’i-esimo simbolo appartenente all’alfabeto X
(all’alfabeto attribuiremo la notazione maiuscola), composto da M simboli. Se ogni xi e’
caratterizzato da una probabilita’ di emissione pi, il contenuto informativo I(xi) di xi e’ assunto pari
al logaritmo in base 2 dell’inverso di pi. Questa definizione soddisfa ai due requisiti base di una
funzione che rappresenti il contenuto informativo:
1. I(xi) e’ funzione decrescente di pi
2. I(xi, xj), contenuto informativo congiunto di due simboli, e’ pari alla somma dei singoli
contenuti informativi se xi e xj sono indipendenti.
Il contenuto informativo medio di un simbolo dell’alfabeto, o entropia dell’alfabeto, si indica
con H(X) ed e’ dato da:
[6.5-1]
∆ M
M
i =1
i =1
H(X) = ∑ p i I( x i ) = ∑ p i log 2
1
pi
bit/simbolo
La scelta della base del logaritmo fissa l’unita’ di misura di I e di H: scegliendo la base 2, questa
unita’ e’ il bit, contenuto informativo di una cifra binaria in un alfabeto a simboli equiprobabili.
In particolare l’alfabeto X puo’ essere utilizzato dalla sorgente primaria di informazione: si ha
allora l’alfabeto di sorgente e l’entropia di sorgente. Se la sorgente emette Bs simboli al secondo il
prodotto BsH(X) e’ il flusso di informazione della sorgente e si misura in bit/s.
Quando M= 2n, e’ agevole convincersi che e’ possibile rappresentare ogni xi con n cifre binarie:
se i simboli xi sono indipendenti le cifre binarie risultanti dal flusso degli xi sono anch’esse
indipendenti. In tal caso ogni pacchetto di n cifre binarie ha proprio il contenuto informativo di n bit
se gli xi sono equiprobabili. Qualora i simboli siano tra loro dipendenti o a diversa probabilita’ il
contenuto informativo medio del pacchetto di n cifre binarie e’ intuitivamente minore di n bit. Si
puo’ verificare la disuguaglianza:
[6.5-2]
H(X) ≤ log2 M
dove il segno di uguaglianza vale per xi indipendenti ed equiprobabili.
Piu’ in generale la codifica binaria dei simboli xi e’ sempre possibile con un numero medio n di
cifre binarie per simbolo limitato dalle disuguaglianze:
[6.5-3]
H(X) ≤ n ≤ H(X) + 1
A-1
Quando si e’ effettuata questa operazione di codifica sull’alfabeto di sorgente si e’ ridotta al
minimo la ridondanza della sorgente, cioe’ si e’ ridotto il numero di bit/s necessari per
rappresentarne il flusso informativo. Si noti anche che se il sistema non e’ sincronizzato, cioe’ non
e’ noto per via indipendente quale sia la cifra binaria iniziale di ogni pacchetto, la [6.5-3] e’
egualmente valida, potendosi soddisfare anche alla cosiddetta “condizione sul prefisso”, che
assicura una decifrazione non ambigua anche in assenza di sincronismo.
Si puo’ verificare, a partire dalla stessa [6.5-3], che e’ possibile avvicinarsi tanto quanto si vuole
ad H(X) se e’ lecito effettuare la codifica di sorgente raggruppando a blocchi di ν i simboli xi e poi
effettuando la codifica di blocco. Questo e’ un primo caso in cui si verifica l’opportunita’ di
raggruppare i simboli prima di codificarli. In conseguenza di cio’ si verifica quanto esposto dalla
figura 6.5.1, dove i simboli in uscita yi sono di lunghezza diversa rispetto agli xi di ingresso.
Tuttavia dopo il codificatore di sorgente si puo’ sempre pensare di avere un flusso binario
ottimizzato: nel seguito si fara’ sempre riferimento a questa situazione.
SORGENTE
X
CODIFICATORE
νxi ⇒ yi
yi
SORGENTE A RIDONDANZA RIDOTTA Y
fig. 6.5.1 Schema di riduzione di ridondanza
Qualora la sorgente emetta simboli xi fra loro correlati e’ chiaro che la ricezione di xj fornisce
all’utilizzatore un contenuto informativo diverso a secondo del fatto che egli conosca o no il valore
dei simboli precedenti xj-1, xj-2 … . Si puo’ allora definire un contenuto medio di informazione per
simbolo condizionato dalla osservazione di tutti i simboli a lui precedenti. Esso e’ indicabile con
H∞(X): vale la seguente diseguaglianza intuitiva:
[6.5-4]
0 ≤ H∞(X) ≤ H(X)
A-2
dove il segno di uguaglianza a destra vale per simboli indipendenti. In presenza di correlazione tra i
simboli, nelle relazioni precedentemente dimostrate va sostituita H∞(X) in luogo di H(X).
Assumeremo comunque nel seguito che ogni sorgente posta all’ingresso di un canale di
comunicazione sia stata sottoposta a due successive operazioni: codifica tramite simboli xi
debolmente correlati e successiva riduzione di ridondanza. Di fatto quindi la sorgente sara’
caratterizzata dal suo flusso di informazione Br di cifre binarie incorrelate. La rappresentazione
finale dello schema che considereremo e’ dunque quella di figura 6.5.2: la sorgente emette cifre
binarie bi incorrelate a ritmo Br, che devono essere restituite all’utente a distanza, attraverso
un’operazione di stima poiché di solito la trasmissione avviene in presenza di imperfezioni
(flusso b̂ i ). Il collegamento tra sorgente e utente e’ tenuto dal canale di trasmissione, cui va
premesso un codificatore di canale che, appoggiato dal gemello decodificatore, predispone il flusso
informativo a superare i difetti del canale nel modo migliore. Non si e’ introdotta una sezione di
mo-demodulazione, poiché non si è fatto qui riferimento alla realtà fisica del canale. La trattazione
e’ inoltre per ora limitata ad una codifica a blocchi, senza considerare la possibilità di codifiche
continue (codici convoluzionali).
W
SORGENTE
bi
CODIFICATORE
DI CANALE
X
CANALE
Z
UTENTE
b̂i
DECODIFICATORE
DI CANALE
Y
fig. 6.5.2 Canale con codifica
Il canale di trasmissione e’ caratterizzato attraverso i suoi difetti: l’uscita yi non e’ una replica del
tutto fedele dell’ingresso xi. Cio’ avviene ad esempio perché il canale restituisce un simbolo yi (cui
attribuiremo lo stesso significato di xi) solo con probabilità pii mentre restituisce un qualunque altro
yi con probabilità pij. Si tratta in tal caso del canale discreto senza memoria. Entrando nella parte
A-3
fisica del canale alla forma d’onda che rappresenta xi può aggiungersi un disturbo avente una
distribuzione di probabilità continua di tipo gaussiano: e’ il caso del canale gaussiano additivo.
Allora il decodificatore può commettere errore nel riconoscere la forma d’onda che rappresenta yi.
Una volta precisati gli schemi di codifica e decodifica (CODEC), l’insieme di canale e CODEC e’
sempre un canale discreto. Tuttavia e’ possibile effettuare delle considerazioni dirette sul canale
continuo gaussiano additivo e dunque si procedera’, per questo caso, esaminando la situazione a
livello di simboli yi.
E’ necessario pero’ estendere la [6.5-1] al caso di variabile casuale x che assume un valore
dell’insieme X con densita’ di probabilita’ p(x). L’estensione e’ diretta:
[6.5-5]
∆ −∞
H(X) = ∫ p(x) log2 p(x) dx
+∞
tuttavia non e’ priva di varianti tra le quali la possibilita’ per la [6.5-5] di assumere valori
arbitrariamente grandi, positivi o negativi, per particolari scelte di p(x). Escludendo pero’ questi
casi critici e’ possibile procedere ad una trattazione unitaria dei canali discreti e continui
introducendo le seguenti entropie condizionate in aggiunta a quella di ingresso H(X) e di uscita
H(Y):
a)
Entropia condizionata H(Y|X) che misura la quantita’ di informazione necessaria per
specificare il simbolo di uscita quando quello di ingresso e’ noto.
b)
Entropia condizionata H(X|Y) che misura la quantita’ di informazione necessaria per
specificare il simbolo di ingresso quando quello di uscita e’ noto.
In particolare H(X|Y) e detta equivocazione: se il canale non perde contenuto informativo
H(X|Y) = 0. Altrimenti la differenza:
[6.5-6]
∆
I(X;Y) = H(X) – H(X|Y)
determina il numero di bit per simbolo in transito nel canale. Il prodotto:
[6.5-7]
Bs I(X;Y) = Bs H(X) – Bs H(X|Y)
rappresenta il flusso medio di informazione in bit/s transitati sul canale tenendo conto
dell’eventuale perdita prodotta dalle sue imperfezioni.
Il massimo valore di Bs e’ per definizione la capacita’ C del canale:
[6.5-8]
C = max I(X;Y) Bs
bit/s
A-4
dove il massimo e’ da intendersi ricercato al variare delle proprieta’ statistiche di X. La sorgente e’
dunque caratterizzata da una frequenza di cifra Br cui corrisponde dopo la codifica una frequenza di
simbolo Bs: la capacita’ del canale si ottiene massimizzando sia I(X;Y) sia Bs, e indirettamente Br.
Se il canale e’ a banda limitata Bs non puo’ superare un certo valore; se non c’e’ limitazione di
banda, allora conviene riferirsi alla capacita’ C* per simbolo che e’ semplicemente pari al massimo
di I(X;Y) e si esprime in bit/simbolo.
Cominciando a esaminare un canale discreto si ha
N
[6.5-9]
N
H (X | Y ) = ∑ ∑ p( x i , y j ) log 2
i =1 j=1
1
p( x i | y j )
dove p(xi, yj) e’ la probabilita’ congiunta di xi e yj e p(xi| yj) quella di xi condizionata dalla ricezione
di yj. Per tale canale si puo’ anche definire una probabilita’ di errore media P(e):
[6.5-10]
∆
N
N
per i ≠ j
P(e) = ∑ ∑ p( x i , y j )
i =1 j=1
Nelle due espressioni si e’ assunto che i due insiemi X e Y abbiano lo stesso numero di elementi N.
Sulla espressione [6.5-9] si puo’ verificare che e’:
H(X) + H(Y|X) = H(Y) +H(X|Y)
[6.5-10]
I(X;Y) = I(Y;X)
che fornisce due alternative per il calcolo di I(X;Y).
Un esempio rilevante si ha per il canale binario simmetrico BSC (Binary Symmetric Channel)
che ha due simboli x1 e x2 in ingresso, due simboli y1 e y2 in uscita e la cui imperfezione e’
specificata dal fatto che risponde con yi a xi con probabilita’ (1-p), mentre con yj a xi (i ≠ j) con
probabilita’ p. I simboli d’ingresso hanno probabilita’ p(x1) = P e p(x2) = (1-P). Si ha in tal caso:
1
1
+ (1 − P) log 2
= H(P)
P
1− P
[6.5-12]
H ( X ) = P log 2
[6.5-13]
P(e) = p[p(x1) + p(x2)] = p
[6.5-14]
I(X;Y) = H(Y) – H(Y|X) = H(Y) –H(p)
Per ottenere la [6.5-14] si osservi che in generale:
A-5
N
[6.5-15]
N
H (Y | X ) = ∑ ∑ p( x i , y j ) log 2
i =1 j=1
[6.5-16]
p(yj|xi) = pij
[6.5-17]
p(xj|yi) = p(xi) pij
1
p( y j | x i )
e nel caso BSC:
[6.5-18]

1
1 
H(X|Y) = [p(x1) + p(x2)] p log 2 + (1 − p) log 2
= H (p)
p
1 − p 

che, come si vede, dipende solo dal canale, cioe’ da p, e non dalle proprieta’ statistiche dei simboli.
Allora il massimo della [6.5-14] si ha massimizzando H(Y); per la [6.5-2] tale massimo e’ pari a 1,
ottenibile per simboli d’uscita (e d’ingresso) equiprobabili. Quindi si ottiene per C*:
[6.5-19]
C* = 1 –H(p)
L’andamento e’ riportato in figura 6.5.3, dove si vede che si raggiunge il valore di un bit/simbolo
(il canale e’ binario) solo se si e’ in assenza di errori (p=0 e p=1). Per p=0.5 C* e’ zero. Quindi, se
in ingresso al canale il contenuto informativo medio H(X) e’ di un bit/simbolo, esso non puo’ essere
restituito all’uscita, a meno che non sia p=0,1. E’ dunque necessaria una codifica di canale che
distribuisca il bit di informazione su piu’ simboli binari: in tal caso il canale ne consente il transito
senza deterioramento.
A-6
C
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
p
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
fig.6.5.3 Andamento della capacita’ del canale binario in funzione della probabilita’
d’errore
Le precedenti considerazioni, ricavate per il canale BSC, si estendono agli altri canali discreti: in
particolare H(Y|X) non dipende dalla statistica dei simboli di ingresso e quindi la capacita’ del
canale si ottiene massimizzando H(Y) ovvero introducendo simboli equiprobabili.
Ulteriori precisazioni sul significato di C* sono ottenibili a partire dalla diseguaglianza di Fano:
[6.5-20]
H(X|Y) ≤ H[P(e)] + P(e) log2 (N –1)
dove P(e) e’ dato dalla [6.5-10] ed H[P(e)] dalla [6.5-12] con argomento P(e). Il significato di
H[P(e)] e’ quello di entropia di un alfabeto binario equivalente con simboli di probabilita’ P(e) e [1
– P(e)]. Poiche’:
[6.5-21]
H(X|Y) ≥ H(X) –C*
si ha a maggior ragione:
[6.5-22]
H(X) –C* ≤ H[P(e)] + P(e) log2 (N –1)
Dunque solo se H(X) ≤ C* si puo’ ottenere il transito di simboli con P(e)=0 o comunque piccola
a piacere. In caso contrario esiste un limite inferiore per P(e) calcolabile tramite la [6.5-22] e la
[6.5-12].
Ma esiste lo schema di codifica e decodifica e il riferimento piu’ diretto va fatto sulla entropia
della sorgente di figura 6.5.2. Si consideri allora come simbolo una parola wi di k bit di sorgente di
W e in uscita la corrispondente parola zj appartenente a Z. Ora le parole (word) di W sono 2k e la
stessa disuguaglianza di Fano fornisce:
A-7
[6.5-23]
H(W|Z) ≤ H[P(e)] + Pw(e) log2 (2k –1)
dove ora la probabilita’ media d’errore e’ indicata da PW(e) e si riferisce alle parole wi di W.
Osservando la [6.5-21], il primo membro della [6.5-23] e’ sempre maggiore della differenza tra il
numero medio di bit per simbolo di ingresso (ora H(W)) e quello massimo accettato dal canale. Si
puo’ pensare che la parola wi di k bit venga codificata con n simboli xi. Quindi il canale di capacita’
C* fa transitare n simboli xi per trasmettere una sola parola wi. Il primo membro puo’ dunque essere
sostituito da:
[6.5-24]
H(W) – nC* ≤ H[P(e)] + Pw(e) log2 (2k –1)
Sia ora Hb l’entropia media per simbolo della sorgente (valutata tenendo conto dell’eventuale
indipendenza dei simboli binari emessi); si ha allora:
[6.5-25]
H(W) = kHb
Indicando con RW il numero dei simboli wi emessi in un secondo dalla sorgente si ha infine:
[6.5-26]
k


n  R W H b − C  ≤ RW H[P(e)] + RW Pw(e) log2 (2k –1)
n


La [6.5-26] puo’ interpretarsi in questo modo: per avere probabilita’ di errore media per parola
piccola a piacere, il numero di bit/s informativi emessi dalla sorgente deve essere mantenuto minore
di C, attraverso l’uso di una opportuna frequenza di codifica Rc:
[6.5-27]
Rc =
k
n
Si noti che kRWHb e’ il numero di bit emessi per parola wi, mentre RWPw(e) e’ il numero medio
di parole errate per secondo.
Shannon ha inoltre dimostrato che vale la seguente diseguaglianza:
[6.5-28]
Pw(e) < e-nf(R)
con R=RcHb
per almeno un metodo di codifica di frequenza Rc con 0 ≤ R ≤ C*, dove f(R) e’ una funzione
convessa decrescente di R che va a zero per R=C*. Questo e’ il teorema che garantisce la
possibilita’ di raggiungere basse probabilita’ d’errore con la sola complicazione di codifica: infatti
Pw(e) puo’ diminuirsi aumentandone n a parita’ di k/n. Cio’ significa ridurre RW, aumentare k e
complicare la decodifica accettando piu’ alti tempi di ritardo. E’ questo la nuova via suggerita da
Shannon, in alternativa a quella di aumentare C (riducendo i difetti del canale ad esempio con
l’aumento della potenza) o ridurre Rc, che significa, a parita’ di kRW, aumentare il numero dei
A-8
simboli xi inviati nell’unita’ di tempo: quest’ultima soluzione richiede un aumento di banda a
parita’ di ogni altra condizione. Questi aspetti appariranno piu’ chiari nel caso di canale continuo.
Il canale continuo, di gran lunga piu’ importante, e’ il cosiddetto AWGN (Additive White
Gaussian Noise): con riferimento alla figura 6.5.2 ora il simbolo di ingresso x appartiene ad un
insieme X continuo. Nel canale entra ancora un simbolo con frequenza Bs, e con identica cadenza
ne esce uno, y, appartenente a sua volta all’insieme continuo Y. La relazione tra uscita e ingresso
del canale e’ semplicemente:
[6.5-29]
y=x+n
dove n e’ una variabile aleatoria a distribuzione gaussiana con valor medio nullo e varianza σn2.
Cio’ si indica con n ~ g(0, σn2). Nel caso discreto i vari xi erano contraddistinti da una certa p(xi) di
essere emessi, ora, nel canale continuo si avra’ per x una densita’ di probabilita’ (pdf) p(x), sulla
base della quale e’ calcolabile l’entropia di ingresso con la [6.5-5]. La capacita’ del canale e’ ancora
ottenibile tramite la [6.5-8], ma questa volta si ha:
[6.5-30]
∆
−∞ −∞
H(X|Y) = - ∫
∫ fxy (x,y) log2 fx|y (x|y) dx dy
+∞ +∞
dove sono state introdotte le pdf congiunta fxy e condizionata fx|y. Tuttavia anche in questo caso e’
piu’ agevole utilizzare la [6.5-14], poiche’ l’entropia di y condizionata dal valore di x e’ calcolabile
direttamente dalla [6.5-5] introducendo una pdf gaussiana a valor medio x e varianza σn2. Si ottiene
il seguente risultato:
[6.5-31]
H(X|Y) =
1
log2 2πeσn2
2
dove si puo’ verificare ancora una volta la dipendenza di H(X|Y) solo dalle caratteristiche del
canale e non dalla statistica dei simboli in ingresso. La capacita’ C* si puo’ allora ottenere
massimizzando H(Y): si puo’ dimostrare che il massimo di entropia per il caso continuo si ha per
pdf gaussiana, a parita’ di varianza. E’ quindi chiaro che y deve assumere pdf gaussiana e cio’
avviene solo se anche x lo fa. Possiamo allora derivare C* ponendo x ~ g(0, σx2), dove il valor
medio e’ assunto nullo peche’ non potrebbe aggiungere nessun contenuto informativo a fronte di
spreco di potenza. Si ha allora y ~ g(0, σx2 + σn2) e infine:
[6.5-32]
C* =
 σ2
1
log 2 1 + x2
 σ
2

n




bit/simbolo
Utilizzando questo risultato siamo infine in grado di calcolare la capacita’ C di un canale limitato
in banda, con difetto del tipo AWGN, continuo nel tempo. Questo canale riceve dalla sorgente i
A-9
simboli binari che vengono impacchettati al suo ingresso in una parola di codice wj di k simboli
binari; sulla base di wj si effettua la scelta di una forma d’onda continua fj(t) appartenente ad un
insieme F di N elementi. Poiche’ il canale ha banda monolatera B, tutte le forme d’onda di F
devono soddisfare a questa limitazione di banda. All’uscita del canale continuo si effettua la stima
della forma d’onda emessa, f̂ j ( t ) , in base alla quale si stima la parola d’uscita Zj e la sequenza di
simboli binari b̂ i da inviare all’utente. Come mostrato in figura 6.5.4, il canale continuo’ puo’
sempre essere pensato come la cascata di un campionatore con frequenza di campionamento 2B,
che emette simboli continui appartenenti ad X con tempo di simbolo 1/2B, di un canale AWGN
operante a tempo discreto, di un ricostruttore/stimatore della forma d’onda trasmessa.
Nell’operazione di campionamento non si perde contenuto informativo; se anche l’operazione di
demodulazione/decodifica e’ fatta in modo ideale, la perdita di contenuto informativo, e quindi la
capacita’ del canale, sono determinate dal passaggio dei valori campionati nel canale discreto. La
capacita’ C puo’ dunque calcolarsi moltiplicando per 2B il valore di C* appropriato per tale caso. Si
ha per σx2 un valore pari alla potenza media P dei campioni, ovvero dell’insieme delle forme d’onda
di partenza, poiche’ il campionamento e’ una espansione in serie di funzioni ortonormali. Inoltre il
rumore, di densita’ di potenza piatta bilatera N0/2, in una banda monolatera B ha campioni di
varianza σn2 = N0B. In conclusione il canale gaussiano limitato in banda ha capacita’ C:
[6.5-33]

P 

C=B log2 1 +
 N0B 
bit/s
Questo risultato dovuto a Shannon specifica le prestazioni limite con coppie
codificatore/decodificatore e modulatore/demodulatore ottime. Non si entra qui nel merito della
distinzione tra le varie parti: esse possono essere realizzate in vari modi e con diversi livelli di
perfezione. Di cio’ si occupa la parte applicativa della modulazione e della codifica.
A-10
fj(t)
W
CODIFICATORE/
MODULATORE
SORGENTE
bi
CAMPIONATORE
Tc=1/2B
CANALE AWGN
CONTINUO
A BANDA B
X
CANALE AWGN
DISCRETO
A BANDA B
Z / f̂ j (t )
UTENTE
b̂i
DEMODULATORE/
DECODIFICATORE
fig. 6.5.4 Canale continuo AWGN
A-11