Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Iti Angioy
Introduzione
Inoltre questa informazione può anche esser scambiata con altri elaboratori.
Iti Angioy 1
Introduzione
Iti Angioy 2
Esempio
Iti Angioy 3
Introduzione
Iti Angioy 4
Introduzione
* Scartare il messaggio;
* Effettuare la correzione.
Iti Angioy 6
o ff
ON
18
11 - a
Definizioni Fondamentali
Distanza di Hamming
Con distanza di due configurazioni binarie si intende il numero di bit per cui le
due configurazioni differiscono; prende anche il nome di distanza di Hamming.
Vediamo alcuni esempi, dove indichiamo con D(A, B) la distanza tra due
configurazioni binarie di 4 bit:
● D(1000 - 1010) = 1
● D(0110 - 0000) = 2
● D(0100 - 1010) = 3
● D(0100 - 0011) = 3
Iti Angioy 7
1 ed 10d
Definizioni Fondamentali
Reticolo di Hamming
s1 = 10001001
s2= 10110001
s1 XOR s2 = 00111000
Iti Angioy 9
Bis Bis 31/02
& 0 &
& 1 1
1 d ↑
P P &
Definizioni Fondamentali
Distanza minima
Iti Angioy 10
*
GORN
2 &08 1
↑
M &8 ↑
I
&10
&11
-100
S 12
31 1&
A 11
Esempio
Distanza minima
Iti Angioy 11
Definizioni Fondamentali
Codici Ridondanti
Iti Angioy 12
Definizioni Fondamentali
Codici Ridondanti
- codice di Hamming.
Iti Angioy 13
Codici rilevatori di errori
Codice BCD con controllo di parità
Bit di parità
Data una sequenza di n - 1 bit, il corrispettivo codice di parità si ottiene
aggiungendo un bit di controllo, detto bit di parità, in modo tale che:
Iti Angioy 14
Esempio
Codice BCD con controllo di parità
Parole in codice a 7 bit Bit di Parità Parola con parità a 8 bit Numero di 1
0000000 0 00000000 0
0101010 1 01010101 4
0111011 1 01110111 6
0101011 0 01010110 4
1001100 1 10011001 4
1111111 1 11111111 8
1000100 0 10001000 2
Iti Angioy 15
Definizioni Fondamentali
Codici rilevatori di errori
Due osservazioni:
● Il destinatario è in grado solamente di individuare la parola che arriva errata, ma non
è in grado di correggerla in quanto gli è impossibile scoprire quale degli 8 bit si è
sporcato e, quindi, riportarlo al valore originale. Una volta intercettato l'errore viene
richiesta la ritrasmissione del messaggio;
● Supponiamo che venga trasmesso il byte (10001000) e arrivi a destinazione con tutti
zeri (00000000), cioè che si siano sporcati 2 bit: il destinatario non si accorgerebbe
dell'errore e lo interpreterebbe come dato valido.
Quindi il controllo di parità con ridondanza singola non si accorge di doppi errori e,
comunque, in caso di singolo errore, non sa correggerlo ma riesce solamente a
identificarlo.
Iti Angioy 16
Definizioni Fondamentali
Codici rilevatori di errori
Iti Angioy 17
Definizioni Fondamentali
CRC (Cyclic Redundancy Check)
Iti Angioy 18
Definizioni Fondamentali
CRC (Cyclic Redundancy Check)
A)
Il dato da inviare viene considerato come coefficiente (di valore 0 o 1) dei
termini di un polinomio M(x), dove gli m bit rappresentano i coefficienti di un
polinomio di termini da xᵐ⁻¹ a x⁰, in cui sono presenti i termini che
corrispondono a bit di valore 1 e sono assenti quelli che corrispondono a bit
di valore 0.
Iti Angioy 19
190
178 &a
M(x) x +1
=
M(x) x2 1
=
+
1 0041
↑2102 sa
4(x) x4x 1
=
+
M(y) x3 y3+1
=
+
121d 30
M(X) x3 y
= +
Esempio
CRC (Cyclic Redundancy Check)
M(×) = x² + x + 1
M(×) = x⁴ + x³ + 1
M(x) = x⁶ + x⁴ +x +1
Iti Angioy 20
Esempio
CRC (Cyclic Redundancy Check)
B)
Iti Angioy 21
1181 30
M(x) x3 x2 1
=
+ +
G(X) 12 1
=
+
Esempio
CRC (Cyclic Redundancy Check)
C)
Il metodo si basa sul calcolo di una checksum da aggiungere in fondo a M(x) in
modo che la stringa ottenuta sia divisibile per G(x), cioè M'(x) diviso G(x)
produca resto 0.
Iti Angioy 22
Esempio
CRC (Cyclic Redundancy Check)
Operativamente il mittente:
Divide il polinomio M(x) per il polinomio G(x) modulo due, aggiunge il resto
ottenuto dalla divisione al codice da trasmettere, mentre il destinatario: esegue
la divisione tra messaggio ricevuto M'(x) e G(x):se il resto è 0, il codice ricevuto
è esatto, se il resto è diverso da 0 si è sporcato uno o più bit.
Prima di procedere con la divisione bisogna aggiungere alla fine del codice tanti
zeri quanto è il grado del polinomio divisore, necessari per la generazione del
resto.
Iti Angioy 23
Esempio
CRC (Cyclic Redundancy Check)
Iti Angioy 25
M(= 1000
&
((f) 10
=
1 00011 08:121 =
-
101
da 10
15
Tat
Mix 100010
=
Esempio
CRC (Cyclic Redundancy Check)
Iti Angioy 26
Esempio
Distanza di Hamming
Tra i polinomi divisori G(x) alcuni sono diventati standard internazionali, come i
seguenti:
Iti Angioy 27
Grazie dell’attenzione
Iti Angioy