La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti.

Presentazioni simili


Presentazione sul tema: "CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti."— Transcript della presentazione:

1 CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti in questa dispensa.

2

3

4

5 Codici Ridondanti

6 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 linsieme sorgente. Ad esempio: –m bit di dati (linformazione 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 nellaltra Ad esempio, se w w w1 XOR w 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 unaltra parola di codice: lerrore 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 kn,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 kk!(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 derrore consiste nel replicare linformazione. 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, l80% dei bit sono ridondanti.

12 Codice di Hamming Il codice di Hamming (1950) è un particolare codice a correzione derrore: Consente di correggere 1 singolo errore Ha un numero di bit di controllo pari al limite teorico inferiore (m+12 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 lindice 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, nellordine il bit di controllo con indice 2 k è il bit di parità dei bit del messaggio i cui indici hanno il termine 2 k 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, lindice del bit in cui si è verificato lerrore è dato dalla somma degli indici dei bit di controllo con valore sbagliato

15 Codice di Hamming – Esempio 1

16

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

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 rilevato è 1/2 p

28

29 Il codice fallisce nellinviduare 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 errori di parità


Scaricare ppt "CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti."

Presentazioni simili


Annunci Google