Sistema di comunicazione
Sorgente
Messaggio
Sistema di trasmissione
Canale di trasmissione
Trasmettitore
Ricevitore
Segnale
Rumore
Messaggio
Destinazione
Sistema di comunicazione


A causa del rumore, non è sempre possibile
garantire che i dati ricevuti da un canale di
trasmissione siano corretti.
Si verifica un errore di trasmissione
quando il dato ricevuto in uscita dal canale è
diverso dal dato immesso.


L’errore si definisce singolo, doppio, triplo ecc. in
base al numero di bit errati.
Esistono appositi codici di rilevazione e
correzione degli errori di trasmissione.
Sistema di comunicazione

Codice di parità: al dato da trasmettere si
aggiunge un bit di parità, che indica se gli 1
del dato sono pari o dispari.




parità pari: es. a 01001110 si aggiunge 0 per
ottenere 01001110 0
parità dispari: es. a 01101110 si aggiunge 1 per
ottenere 01001110 1
I dati ricevuti devono avere sempre un
numero pari di 1, altrimenti sono errati.
Permette di rilevare solo gli errori singoli o
dispari.
Sistema di comunicazione
Esempio.
C
I
A
100 0011 100 1001 100 0010
 Messaggio
 Usando la parità pari, viene inviato
100 1111
C
O
I
A
1100 0011 1100 1001 0100 0010

Se arriva
C
Y
1100 1111
A
1100 0011 1101 1001 0100 0010

O
/
1010 1111
Viene rilevato solo l’errore nel secondo
carattere
Sistema di comunicazione
Parità incrociata:


Oltre alla parità sul singolo
carattere, viene aggiunto un
byte al termine di un
pacchetto di lunghezza
fissata.
Ogni bit della codifica
aggiunta è calcolato con il
controllo di parità su tutti i bit
della colonna che lo
sovrasta.
C
1
100 0011
I
1
100 1001
A
0
100 0010
O
1
100 1111
1
000 0111
Sistema di comunicazione
Parità incrociata:


Se un solo bit viene
alterato, il ricevitore è in
grado di rilevarlo e
correggerlo.
Se due o più bit vengono
modificati, il ricevitore può
rilevarli e/o correggerli in
funzione della loro
posizione
C
1
100 0011
I
1
101 1001
A
0
100 0010
O
1
100 1111
1
000 0111
C
1
100 0011
Y
1
101 1001
A
0
100 0010
/
1
010 1111
1
000 0111
Sistema di comunicazione
Codici CRC (Cyclic Redundancy Checking)




I bit da inviare sono considerati come i coefficienti di
un polinomio P(x) da dividere per un polinomio S(x),
detto polinomio generatore, noto al trasmettitore e al
ricevitore.
Al messaggio originario viene accodato il resto R(x)
che prende il nome di CRC.
Il ricevitore esegue la divisione dei dati ricevuti per
S(x) e verifica la correttezza dei dati pervenuti
Scegliendo opportunamente il polinomio generatore,
il metodo risulta molto affidabile, poiché solo i rumori
che creano un errore esattamente multiplo di S(x)
non vengono filtrati.
Sistema di comunicazione
Codici CRC (Cyclic Redundancy Checking)
Esempio:
Messaggio P(x) : 1010 0011
(x7+x5+x+1)
Polinomio generatore S(x) : 1001 (x3+1)
Resto della divisione R(x) : 101 (x2+1)
Da inviare 1010 0011 101
Se viene ricevuto come 1010 0101 101
ripetendo la divisione di 1010 0101 per S(x) si
ottiene come resto 011 (≠ 101) che denota la
presenza di una configurazione errata.
Sistema di comunicazione



Metodo di Hamming (1950)
Codice a correzione d’errore
Codice ridondante, ovvero utilizza un
numero maggiore di bit rispetto al
numero strettamente necessario
Consente di correggere 1 singolo
errore
Sistema di comunicazione
Metodo di Hamming
Aggiunge un numero r
di bit di controllo pari al
limite teorico inferiore
(m+1≤2r-r) dove m è la
dimensione del
messaggio.
m
r
tot.
% r/tot
1
2
3
67%
2
3
5
60%
3
3
6
50%
4
3
7
43%
5
4
9
44%
6
4
10
40%
7
4
11
36%
8
4
12
33%
9
4
13
31%
10
4
14
29%
11
4
15
27%
Sistema di comunicazione



Metodo di Hamming
I bit di controllo sono inseriti nelle posizioni
aventi come indice 2k una potenza di due (1,
2, 4, 8, 16, . . . )
I bit del messaggio sono inseriti nelle altre
posizioni della parola di codice
Il bit di controllo in posizione 2k assume
valore in modo da controllare la parità pari di
tutti quei bit le cui posizioni contengono 1 nel
bit k-esimo della scomposizione in binario.
Sistema di comunicazione
Metodo di Hamming
Per codificare il byte 0111 1001 con m=8 si
aggiungono r=4 bit di controllo(nelle posizioni
1,2, 4 e 8) per un totale di 12 bit:
 Il bit di controllo in posizione 1= 20 controlla
le posizioni 1, 3, 5, 7, 9,11
 Il bit di controllo in posizione 2= 21 controlla
le posizioni 2, 3, 6, 7, 10, 11
 Il bit di controllo in posizione 4=22 controlla le
posizioni 4, 5, 6, 7, 12
 Il bit di controllo in posizione 8= 23 controlla
le posizioni 8, 9, 10, 11, 12
Sistema di comunicazione
Metodo di Hamming




Bit 1 >> 1, 3, 5, 7, 9,11
Bit 2 >> 2, 3, 6, 7, 10, 11
Bit 4 >> 4, 5, 6, 7, 12
Bit 8 >> 8, 9, 10, 11, 12
8
4
2
1
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
10
1
0
1
0
11
1
0
1
1
12
1
1
0
0
Sistema di comunicazione
Metodo di Hamming
In trasmissione:
Posizione
12 11 10
9
Bit originali
0
1
1
8
7
6
5
4
3
1
1
0
0
1
1
1
0
1
2
1
Bit di controllo
1, 3, 5, 7, 9, 11
1
2, 3, 6, 7, 10, 11
1
1
4, 5, 6, 7, 12
0
8, 9, 10, 11, 12
0
1
1
1
1
Da inviare
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
Sistema di comunicazione
Metodo di Hamming
In ricezione, supponendo che il bit in posizione
9 sia stato commutato, i bit di controllo 1 e 8
segnalano l’errore in posizione 1+8=9
permettendone la correzione
Posizione
Ricevuti
12 11 10
9
8
7
6
5
4
3
2
1
0
0
1
1
0
0
1
1
0
0
1
1
Parità
Bit di controllo
1, 3, 5, 7, 9, 11
1
2, 3, 6, 7, 10, 11
1
4, 5, 6, 7, 12
0
8, 9, 10, 11, 12
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
NO
OK
OK
NO