Capitolo 7 Strato Fisico- Codici correttori d`errore e capacità di canale

Capitolo 7
Strato FisicoCodici correttori d’errore e
capacità di canale
1
Codici correttori d’errore
Obiettivi:
correggere o rivelare errori nella trasmissione di
segnali numerici (sequenze di simboli, usualmente
binari)
Correzione di errore → Eliminare l’errore dal
segnale ricevuto
Rivelazione di errore → Segnalare l’errore nel
segnale ricevuto
 richiedere la ritrasmissione
 scartare parte del segnale
2
Esempio di correzione di errore
tratto da esperienza comune
Messaggio da trasmettere
....arriverò il 26/4/2002...
Errore di trasmissione; messaggio ricevuto:
....arriverò il 28/4/2002...
Errore non visibile, né recuperabile, in ricezione.
Messaggio codificato :
....arriverò il ventisei aprile prossimo venturo...
Due errori di trasmissione; messaggio ricevuto :
....arriverò il vantisei aprole prossimo venturo...
Errori correggibili da parte del ricevente.
Costo dell’operazione di codifica: un messaggio
con più caratteri alfanumerici,
cioè con una maggiore ridondanza
3
Ridondanza
Ridondanza di un messaggio discreto (sequenza di simboli):
dove si è indicato con
NI il numero di simboli strettamente necessario
per trasmettere l’informazione contenuta nel messaggio,
NT il numero totale dei simboli contenuti nel messaggio
stesso
(quindi NR = NT - NI numero di simboli ridondanti).
Il valore della ridondanza è compreso nell’intervallo
messaggio costituito
dal minimo numero
di simboli possibile
0 ≤ ρ ≤ 1
messaggio
con contenuto
informativo nullo
(solo ridondanza)
4
Canale Discreto
xn
sequenza di
simboli di
ingresso
canale
discreto
yn
sequenza di
simboli di
uscita
per ogni simbolo introdotto all’ingresso
viene prodotto
un simbolo in uscita dal canale
I simboli sono usualmente costituititi da bit,
singoli o raggruppati in parole binarie.
5
Esempi di canali discreti (1/2)
Sistema di trasmissione per segnali di dati (segnali numerici):
Sorgente
di dati
Destinatario
dei dati
sequenza di
simboli di ingresso
Modulatore
numerico
sequenza di
simboli di uscita
Mezzo
trasmissivo
Demodulatore
numerico
canale discreto
6
Esempi di canali discreti (2/2)
Sistema di trasmissione per segnali fonici:
altoparlante
microfono
codificatore
PCM
segnali
analogici
sequenza di simboli
di ingresso (bit)
Modulatore
numerico
decodificatore
PCM
sequenza di simboli
di uscita (bit)
Mezzo
trasmissivo
demodulatore
numerico
7
Canali discreti binari, ideali o
rumorosi
....001011011....
canale
binario
ideale
....001011011....
la sequenza di simboli di uscita è identica a quella di ingresso
....001011011....
canale
binario
rumoroso
....
011010010....
la sequenza di simboli di uscita contiene errori casuali
8
Canale discreto binario (1/2)
CANALE BINARIO RUMOROSO
X
0
1
1-p
p
p’
1-p’
0
Y
1
p = probabilità che uno “0” introdotto all’ingresso dia luogo a un “1” in
uscita
p’ = probabilità che un “1” introdotto all’ingresso dia luogo a uno “0” in
uscita
9
Canale discreto binario (2/2)
CANALE BINARIO IDEALE
0
X
p = p’ = 0
1
;
1
1
0
1
Y
1 - p = 1 - p’ = 1
10
Canale Binario Simmetrico
Canale binario con p = p’
X
0
1
1-p
p
p
1-p
0
1
il parametro p è la “probabilità di errore” del canale
che è uguale a
p=P(Y=0|X=1)=P(Y=1|X=0)
11
Canale discreto generico
a0 , ... , aα-1
alfabeto
di ingresso
a ordine
dell’alfabeto
di ingresso
X
a0
a1
ai
.
.
.
.
.
.
aα-2
aα-1
P(Y=bk |X=ai)
b0 b ,... , b
0
β-1
b1
.
alfabeto
Probabilità
di transizione
del canale
.
.
P(bk |ai )
.
.
.
bk
di uscita
bβ-3
bβ-2
bβ-1
Y
Probabilità di ricevere il simbolo
bk, condizionata all’aver trasmesso
il simbolo ai,
12
Comportamento del canale
discreto
  In funzione del tempo
  In funzione della
sequenza di simboli
trasmessa
Le probabilità di transizione
possono variare in funzione
del tempo
Le probabilità di transizione
possono dipendere dai
simboli trasmessi prima del
simbolo attuale (od anche
dopo)
13
Canale binario simmetrico
stazionario e senza memoria
E’ un canale binario simmetrico in cui le probabilità di transizione:
 sono costanti nel tempo (“stazionarietà”)
 non dipendono dai simboli trasmessi prima o dopo il
simbolo in esame (il canale “non ha memoria”)
Per questo tipo di canale la probabilità di errore, p , è un
parametro costante che caratterizza completamente il canale
stesso.
Il canale binario simmetrico, stazionario, senza memoria costituisce il
caso di riferimento per lo studio dei codici correttori d’errore binari.
14
Probabilità di errore p nel BSC
p
0
0.5
1
intervallo di valori teoricamente possibili
intervallo di valori presi
in considerazione nella
teoria dei codici
intervallo di valori di
interesse applicativo, con
p sufficientemente
piccolo
La probabilità p
è compresa per
definizione
nell’intervallo
0≤p≤1
Un BSC con probabilità di errore
p > 0,5 è equivalente a un BSC con
probabilità d’errore q = 1-p < 0,5
seguito da un invertitore (0→1 ; 1 →0)
Esempio:
Canale radio-mobile (GSM) p≅10-1, p≅10-2,
Downlink satellitare (DVB-S) p≅10-2,
Cavo Coassiale (DVB-C) p≅10-4,
15
Schema di trasmissione con impiego
di codifica per correzione d’errore
probabilità
di errore di
canale = p
Sorgente
binaria
codificatore
Canale
binario
probabilità di errore dopo
decodificazione = Pe
decodificatore
destin.
simmetrico
sequenza
trasmessa
sequenza
codificata
Sequenza decodificata
eventualmente affetta
da errore
La codifica è utile se ha l’effetto di ridurre la probabilità di errore,
ossia se
Pe < p
16
Esempio di codice correttore
d’errore
Data una sequenza binaria di sorgente, codificare ogni simbolo con una
parola di 3 simboli, secondo la corrispondenza biunivoca
simbolo di
sorgente
0
1
parola
di codice
0 0 0
1 1 1
Esempio:
sequenza di sorgente. . . . 0
1
1
0
1
. . .
sequenza codificata. . . . . 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1…
In base a quale criterio di decodifica il codice corregge gli errori?
17
Criterio di decisione a Massima
Verosimiglianza (ML) per trasmissioni in
canali binari discreti e rumorosi (1/2)
x
Sequenza
binaria
trasmessa
Canale
binario
r
Sequenza
binaria
ricevuta
Decisore
MLD
x^
Sequenza
decisa
  Supponiamo
che la sequenza x=[x0…xn-1] possa assumere uno
degli L possibili valori {c0, c1,…, cL-1} ciascuno dei quali è una
stringa binaria lunga n bit
  Indichiamo con r=[r0…rn-1] la stringa binaria ricevuta (ossia
“misurata”) all’uscita del canale binario.
  Indichiamo con {P(r|x=ci, i=0,…,(L-1)} le risultanti L
probabilità di transizione del canale binario.
18
Criterio di decisione a Massima
Verosimiglianza (ML) per trasmissioni in
canali binari discreti e rumorosi (2/2)
Criterio di decisione ML
 Ricevuto r, il decisore scegli come decisione quella
tra gli L possibili valori {c0, c1,…, cL-1} alla quale
corrisponde la probabilità di transizione più grande,
ossia in formule
19
Esempio di decodifica a massima
verosimiglianza
Canale Binario Simmetrico stazionario
senza memoria, p<0.5
Errori sui bit indipendenti
Messaggi trasmessi lunghi 3 bits
Probabilità che sia commesso
1 errore P1=p (1-p)2
2 errori P2=p2(1-p)
3 errori P3=p3
canale
viene da
111 o da 000 ?
101
P3 < P2 <P1
P(101|111) > P(101|000)
(un solo errore è più
probabile di due)
111 !
Cioè la sorgente
ha emesso un201
Codici a blocco (n,k)
I simboli binari emessi dalla sorgente sono codificati a
gruppi di k (“parole”)
Il codificatore, ad ogni parola di sorgente di k simboli in
ingresso, associa biunivocamente una parola di codice
formata da n simboli in uscita, con n > k
In generale, un codice a blocco risulta definito da 2k parole di codice di n
simboli, scelte tra le 2n sequenze possibili di n simboli. Ad esempio
Codice a blocco (3,1):
2 parole di sorgente possibili (21 = 2) → 0, 1
2 parole di codice (scelte tra 23 = 8 possibili)→ 000, 111
Codice a blocchi (5,2):
4 parole di sorgente possibili (22 = 4) → 00, 01, 10, 11
4 parole di codice (scelte tra 25 = 32 possibili)→ 00000, 01111, 10110, 11001
21
Schema generale per la co-decodifica
di un codice a blocco (n,k)
sorgente
parola di sorgente
emessa
formata da k simboli
(2k parole possibili)
destinatario
^
a
a
codificatore
decodificatore
parola di sorgente
decisa,
formata da k simboli
(2k parole possibili),
non necessariamente
uguale ad a, a causa di
errori di decodifica.
canale
parola di codice
formata da n simboli
(2k parole scelte tra 2n
possibili)
c
BSC
r
sequenza ricevuta
formata da n simboli
(2n sequenze possibili, a causa
degli errori di canale)
22
Distanza di Hamming fra
sequenze binarie
Date due sequenze binarie x ed y formate da m simboli, si
definisce Distanza di Hamming d(x,y) il numero di simboli, in
posizioni omologhe, in cui le due sequenze differiscono.
Si osservi che risulta 0≤d≤n.
Esempio per n = 7:
sequenza x →
sequenza y →
n
0101111
1100011
distanza: d = 3
23
Distanza minima di Hamming di un
codice a blocchi
Si definisce come distanza minima dmin di Hamming di un codice a
blocco (n,k) il minimo valore della distanza di Hamming tra due parole
qualsiasi appartenenti al codice
Il codice (3,1), ed il codice (5,2) prima definiti hanno ambedue distanza dmin =
3.
000
111
d=3
d=3
d=3
00000
01111
10110
11001
d=4
d=3
d=4
d=3
24
Relazione tra distanza di un codice e
probabilità di errore dopo
decodificazione (1/2)
dal
codificatore
c = [c0 , c1 ,..., cn-1]
canale
0
1-p
0
al decodificatore
p
1
p
1
r = [r0 , r1 ,..., rn-1]
1-p
 Sia t (0 ≤ t ≤ n) la distanza di Hamming tra c e r, ossia:
d(r,c) = t
 Quindi, su n simboli trasmessi abbiamo:
t trasmissioni con errore
n-t trasmissioni senza errore
 Supponiamo gli errori statisticamente indipendenti (canale senza
memoria), allora la probabilità di transizione di canale è calcolabile
come segue
25
Relazione tra distanza di un codice e
probabilità di errore dopo
decodificazione (2/2)
Criterio di decisione a Massima Verosimiglianza:
data la sequenza r ricevuta, decidere in favore della parola di
codice c per la quale è massima la P(r|c) data dalla
Per p≤0.5 il massimo di P(r|c) al variare di c si ha in corrispondenza del
minimo di t.
Criterio della Minima Distanza di Hamming:
data la sequenza ricevuta r, decidere in favore di quella del
codice c* che ha la minima distanza di Hamming da r.
26
Esempio di decodifica a minima
distanza di Hamming
Codice (5,2) con dmin = 3 :
Parole del codice:
00000 01111
10110
11001
Parola trasmessa: 10110
Errori nel canale Sequenza ricevuta
Parola decisa
0
10110
10110
1
10111
10110
1
10100
10110
1
10010
10110
1
11110
10110
1
00110
10110
2
00111
00111
…
…
…
Baccarelli,
Cordeschi, Patriarca, Polli







min d(r,c) = 0
min d(r,c) = 1
min d(r,c) = 1
27
Capacità di correzione di errori
del codice
Sia c(T) la parola di codice trasmessa e sia r la sequenza ricevuta,
con d(r, c(T) ) = t
Dato che r è stata ottenuta da c(T) modificandola in t posizioni,
occorre modificare r in almeno altre dmin - t posizioni per
ottenere un’altra parola di codice, distante almeno dmin da c(T) .
Per t < dmin /2 valgono le relazioni
d(r, c ) ≥ dmin - t > t per ogni c ≠ c(T)
Nelle condizioni dette la decodifica a minima distanza è sempre
corretta. Quindi deduciamo che
un codice a blocco (n,k) con distanza di Hamming dmin
garantisce la correzione di tutte le configurazioni di
errore contenenti un numero di errori
Baccarelli,
t ≤ (d
min–1)/2
Cordeschi, Patriarca, Polli
28
Capacità di rivelazione d’errore di
un codice a blocco
Un codice a blocco (n,k) può essere anche usato per rivelare errori
di canale nella sequenza ricevuta r.
  La presenza di errori viene rivelata tutte le volte che la sequenza
ricevuta r non coincide con alcuna delle parole di codice {c0,c1,…,cL-1}.
  Errori di canale che trasformino una parola di codice in un’altra non
possono essere rivelati. Quest’ultima evenienza può evidentemente
verificarsi soltanto se t≥ dmin .
  Quindi
un codice a blocco (n,k) con distanza dmin garantisce
la rivelazione di tutte le configurazioni di errore
contenenti un numero di errori t ≤ dmin-1
Correzione d’errore
t ≤ (dmin–1)/2
Rivelazione d’errore
t ≤ dmin-1
Baccarelli,
Cordeschi, Patriarca, Polli
29
Probabilità d’errore residua dopo
decodificazione (1/2)
Trasmissione senza codifica:
a
sorgente
canale BSC
prob.err. = p
destinazione
^
Pe =P(a≠a)=
p
La probabilità di simbolo errato Pe al destinatario è uguale alla
probabilità d’errore del canale, p.
Trasmissione con codifica a correzione d’errore:
sorgente
a
codificatore
c
canale BSC
prob.err. p
decodificatore
destinazione
^
Pe = P(c≠c)=
<p
la probabilità Pe di errore “residuo” dopo decodificazione (dovuta
agli errori che non vengono corretti dal decodificatore) è minore
Baccarelli,
della probabilità d’errore Cordeschi,
del canale,
p.
Patriarca, Polli
30
Probabilità d’errore residua (2/2)
Codice (n,k) a distanza dmin
Ha la capacità di correggere tutte le configurazioni d’errore con un
numero massimo di errori t = (dmin-1)/2
Relazione di calcolo per la Pe =P(c≠c) probabilità di errore sulla
parola di codice:
31
Complessità della co-decodifica
Codificatore:
Accesso a tabella che definisce la corrispondenza biunivoca tra
parole di sorgente e parole di codice. Tale tabella contiene 2k coppie
di elementi.
complessità esponenziale con k
Decodificatore:
Confronto della sequenza ricevuta con le 2k possibili parole di codice
trasmesse.
complessità esponenziale con k
Esistono codici a contenuto algebrico, nei quali le operazioni di co-decodifica
sono realizzate mediante operazioni algebriche e non mediante accesso a
tabella (teoria algebrica dei codici)
riduzione della complessità (lineare in k)
32
Ridondanza e “transmission rate”
Si definisce “transmission rate” (tasso di trasmissione) R di un
codice il rapporto tra numero di simboli entranti ed uscenti dal
codificatore
dove ρ
rappresenta la ridondanza del codice. Poiché n>k, avremo che R<1.
33
Scelta dei valori di k e di n
Si consideri costante il transmission rate k/n.
All’aumentare di k e di n:
  È possibile trovare codici aventi dmin (e quindi
capacità di rivelazione e di correzione d’errore) più
elevata
  Aumenta la complessità di co-decodifica
  All’aumentare solo di n, diminuisce il
transmission rate R.
34
La Capacità di Canale – Generalità
(1/4)
S
CODER
MOD.
CANALE
D
DECODER
DEMOD.
  Con riferimento allo schema precedente, supponiamo che la sorgente
emette una sequenza di bit {…, b((k-1)Tb), b(kTb),…} a periodo di
segnalazione binaria: Tb=1/fb (sec).
  Supponiamo che la sequenza binaria {b(kTb), k=0,±1, ±2…} sia codificata,
modulata, trasmessa nel canale, demodulata e , infine, decodificata nella
^
sequenza { b(kTb), k=0,±1, ±2…}.
  Indichiamo con
^
PE = P(b(kT
b) ≠ b(kTb) )
Baccarelli,
la risultante probabilità di errore
di decodifica.
Cordeschi,
Patriarca, Polli
35
La Capacità di Canale – Definizione
(2/4)
capacità C (bit/sec) del canale
trasmissivo è il massimo valore che può assumere fb al
variare in tutti i modi possibili delle coppie MoDemodulatore e Co-Decodificatore sotto il vincolo che
la PE risultante sia nulla.
  In formule,
C =max{ fb= 1/Tb} (bit/sec),
  Sotto il vincolo che
^
PE = P(b ≠ b)=0,
 
dove il massimo è da intendersi rispetto a tutte le
possibili scelte delle coppie Mo-Demodulatore e CoDecodificatore.
  Per definizione, la
36
La Capacità di Canale – Proprietà
(3/4)
  Dal punto di vista analitico, la capacità C di un
canale è un numero reale e non negativo, che si
misura in (bit/sec).
  Dal punto di vista ingegneristico, C
rappresentante la massima velocità con cui una
sorgente binaria connessa al canale può
trasferire simboli d’informazione binari sotto
^
il vincolo che la sequenza {b(kTb), k=0,±1, ±2…}
ottenuta dopo decodificazione coincida con la
sequenza trasmessa {b(kTb), k=0,±1, ±2…} .
37
La Capacità di Canale – Proprietà
(4/4)
suo specifico valore di
capacità C, che dipende dal tipo e dall’entità
dei disturbi introdotti dal canale stesso.
  Ogni canale ha un
  I canali
elevate.
migliori sono quelli con capacità più
38
La capacità del canale “Additive
White Gaussian Noise” (AWGN) (1/3)
  Come esempio di calcolo di capacità, consideriamo il seguente
modello di canale, detto canale AWGN a banda limitata.
+
 
i. 
ii. 
Essenzialmente il canale,
Somma al segnale modulato s(t) un segnale n(t) di rumore gaussiano
bianco, a media nulla, e con spettro bilatero di densità di potenza
Pnn(f)=N0/2 (Watt/Hz);
Fa transitare il segnale somma risultante s(t)+n(t) attraverso un
filtro passa-basso di larghezza di banda W(Hz).
39
La capacità del canale Additive White
Gaussian Noise (AWGN) (2/3)
  Indichiamo con
la potenza del segnale modulato che entra nel canale.
  Si può dimostrare che la capacità C (bit/sec) del suddetto canale
è pari a
  La formula precedente è nota come “formula
Shannon-Hartley”.
della capacità di
40
La capacità del canale Additive White
Gaussian Noise (AWGN) (3/3)
E’ interessante osservare che :
 
i. 
Per ogni fissato valore della banda W, abbiamo
che:
ii. 
Per ogni fissato valore del rapporto Ps/N0,
abbiamo che:
41