• Non ci sono risultati.

• Per consentire la rilevazione e la correzione di errori si ricorre frequentemente a codici

N/A
N/A
Protected

Academic year: 2022

Condividi "• Per consentire la rilevazione e la correzione di errori si ricorre frequentemente a codici "

Copied!
29
0
0

Testo completo

(1)

CODICI

(2)
(3)
(4)
(5)

Codici Ridondanti

(6)

Codici Ridondanti

• Per consentire la rilevazione e la correzione di errori si ricorre frequentemente a codici

ridondanti, ovvero che utilizzano un numero

maggiore di bit rispetto al numero strettamente necessario per codificare l’insieme sorgente. Ad esempio:

– m bit di dati (l’informazione da trasmettere) – r bit di controllo (bit ridondanti)

– ciascuna parola codice utilizza n = m+r bit

(7)

Distanza di Hamming

• La distanza di Hamming di due parole di codice w1 e w2 è il numero di bit “1” in w1 XOR w2

• Rappresenta il numero di bit da invertire per trasformare una parola di codice nell’altra

• Ad esempio, se

w1 10001001 w2 10110001 w1 XOR w2 00111000

• la distanza di Hamming tra w1 e w2 è pari a 3

(8)

Distanza di Hamming (2)

• Se un codice deve rilevare d errori, la sua distanza di Hamming deve essere almeno pari a d+1

• Se la distanza fosse minore, un burst di d errori potrebbe trasformare una parola di codice in un’altra parola di

codice: l’errore non sarebbe rilevato

• Se un codice deve correggere d errori, la sua distanza di Hamming deve essere almeno pari a 2d+1

• Un burst di d errori al massimo trasforma una parola di codice in una sequenza di bit a distanza al più d dalla parola di codice corretta e a distanza almeno d+1 da tutte le altre parole di codice

(9)

Distanza di Hamming (3)

Occorre numerare tutte le possibili combinazioni semplici di 2 bit su 8.

“Combinazione Semplice”: (fonte Manabile di Matematica :-) Dati n oggetti distinti e un numero intero positivo k≤n,si dicono combinazioni semplici di classe k tutti i gruppi che si possonno formare con k degli n oggetti considerando diversi due gruppi quando differiscono di almeno un elemento.

Numero di combinazioni semplici di k oggetti su n:

n n! 8 8! 7*8

= = = = 28

k k!(n-k)! 2 2!∙6! 2

Quante sono le parole codice di 8 bit aventi distanza di Hamming 2 da una parola di codice assegnata avente la stessa lunghezza?

(10)

Codici per la correzione degli errori

(11)

Replicare i bit di controllo

• Un modo semplice per creare codici a correzione d’errore consiste nel replicare l’informazione.

• Dato un messaggio di m bit si costruisce una parola di codice con 2d copie di ciascuno dei bit del messaggio (r

= 2d*m).

• La distanza di Hamming del codice è 2d+1, quindi può correggere d errori

• Il codice non è efficiente: se d = 2, l’80% dei bit sono ridondanti.

(12)

Codice di Hamming

• Il codice di Hamming (1950) è un

particolare codice a correzione d’errore:

• Consente di correggere 1 singolo errore

• Ha un numero di bit di controllo pari al limite teorico inferiore (m+1≤2

r

-r)

• Funziona con qualunque dimensione del

messaggio m

(13)

Codice di Hamming (2)

• I bit della parola di codice vengono numerati da sinistra verso destra cominciando con l’indice 1

• I bit di controllo sono quelli aventi come indice una potenza di due (1, 2, 4,8, 16, . . . )

• I bit del messaggio sono tutti gli altri bit della parola di codice, nell’ordine il bit di controllo con indice 2k è il bit di parità dei bit del messaggio i cui indici hanno il termine 2k nella loro scomposizione in somma di potenze di due

(14)

Codice di Hamming (3)

• In ricezione, ciascun bit di controllo viene ricalcolato:

– Se tutti i valori dei bit di controllo sono corretti, la parola di codice viene accettata

– Se alcuni bit di controllo hanno valori non corretti, l’indice del bit in cui si è verificato

l’errore è dato dalla somma degli indici dei bit

di controllo con valore sbagliato

(15)

Codice di Hamming – Esempio 1

(16)

Codice di Hamming – Esempio 1

(17)

Codice di Hamming – Esempio 2

(18)

Codice di Hamming – Esempio 3

(19)

Codice di Hamming – Esempio 4

(20)

Codice di Hamming – Esempio 5

(21)

Codice di Hamming – Esempio 6

(22)

Codice di Hamming – Esempio 7

(23)

Codice di Hamming per burst di errori

(24)
(25)

• I codici per il rilevamento di errori sono in pratica più diffusi dei codici per la correzione di errori:

• i codici per il rilevamento sono molto più efficienti dei codici per la correzione (meno ridondanza nei bit trasmessi)

• se un codice per la correzione di 1 errore indica che un bit è errato, vi è una probabilità non

trascurabile che si sia verificato un intero burst di errori (gli errori tendono ad addensarsi)

Codici per il rilevamento degli errori

(26)

Codici per il rilevamento degli errori

(27)

Bit di parità per burst di errori

Un metodo per rilevare interi burst di al più k errori basato sul bit di parità è il seguente:

1. distribuire i bit da trasmettere in una matrice con righe di k bit

2. per ciascuna colonna, calcolare il relativo bit di parità 3. inviare la prima riga, poi la seconda riga, eccetera 4. inviare come ultima riga i bit di controllo

• Un burst di al più k errori è sempre rilevato, perchè modifica al più un bit per ciascuna colonna

• La probabilità che un burst di p errori (p > k) non venga

(28)
(29)

Il codice fallisce nell’inviduare gli errori doppi che modificano i bit di parità sulla riga i e colonna j, rilevando erroneamente un errore singolo in posizione i,j.

Al contrario consente di :

• rilevare errori doppi sulla stessa riga (rispettivamente colonna): in tal caso si rilevano due errori di parità sulle relative colonne (rispettivamente righe).

• correggere errori doppi in posizioni appartenenti a righe e colonne differenti: 4

Riferimenti

Documenti correlati

Per le prestazioni effettuate da lavoratori autonomi, per gli interventi di natura straordinaria e più in generale per la regolamentazione dell’accesso di tutti coloro che, in

Al contrario, cioè quando “non è consentito individuare la statuizione del giudice attraverso una valutazione di prevalenza di una delle contrastanti affermazioni contenute

a) Si calcoli la velocità di fuga di un’astronave che parte dalla superficie terrestre, (supponendo trascurabile la massa m dell’astronave rispetto a quella terrestre e che non

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono

Quando lo spazio compreso tra le fenditure e lo schermo viene riempito con un mezzo rifrangente avente indice di rifrazione n, la distanza tra due frange consecutive diminuisce di

• prendendo un dato alla volta dalla sotto-sequenza il cui primo dato è il minore. Ricerca e ordinamento, Paolo

Intensit a radiante: Potenza emessa per unit a di angolo solido (in una data. direzione), da tutta la sorgente (si usa in parti olare per

La scadente qualità dell’analisi e traduzione di queste unità lessicali nell’ambito delle tecnologie per la traduzione ed in particolare della traduzione automatica indica che c’è