際際滷

際際滷Share a Scribd company logo
息 Paolo Quartarone - Codice di Hamming
Codice di HammingCodice di Hamming
Spiegazione
dell'utilizzo della
codifica di Hamming
ITIS Zuccante
2012/2013
1/19
息 Paolo Quartarone - Codice di Hamming
Introduzione
Il Codice di Hamming竪 un codice correttore lineare
che pu嘆 rilevare e correggere gli errori di singolo bit.
Per una ricezione corretta di un segnale, la distanza di
Hammingdi ogni bit tra 2 stringhe della stessa
lunghezza deve essere 0. Pi湛 竪 alto questo numero,
minore sar l'affidabilit dei dati ricevuti.
2/19
3/19息 Paolo Quartarone - Codice di Hamming
Errore
L'errore si verifica quando il contenuto di una cella di
memoria 竪 diverso da quello che vi si era scritto in
precedenza.
Pu嘆 effettuarsi per un disturbo sul canale di
comunicazione ecc..
4/19息 Paolo Quartarone - Codice di Hamming
Distanza di Hamming
La distanza di Hammingtra due stringhe di ugual
lunghezza 竪 il numero di posizioni nelle quali i simboli
corrispondenti sono diversi. Misura il numero di
sostituzioni necessarie per convertire una stringa
nell'altra.
Pu嘆 essere calcolato eseguendo l'OREsclusivo (XOR)
tra i singoli bit delle due stringhe.
5/19息 Paolo Quartarone - Codice di Hamming
Reticolo di Hamming
Viene utilizzato per esporre in maniera grafica la distanza di Hamming, per ogni lato
dal codice di partenza al codice di arrivo, la distanza di Hamming aumenta.
6/19息 Paolo Quartarone - Codice di Hamming
Distanza di un codice
Si definisce distanza di un codice il minimo numero di
bit in cui 2 qualsiasi parole del codice differiscono.
Quindi se un codice ha distanza d, allora, se d 竪 un
numero dispari, il codice 竪 in grado di rilevare e
correggere (d/2) errori, altrimenti (cio竪 se d 竪 pari)
esso rileva e corregge (d/2-1) errori e rileva soltanto
(senza correggere) (d/2) errori.
7/19息 Paolo Quartarone - Codice di Hamming
Codici di Hamming
I codici di Hammingsono codici a distanza 3 o 4
contenenti il numero di parole che si
desidera codificare.
8/19息 Paolo Quartarone - Codice di Hamming
Come si ottiene
Il codice di Hammingsi ottiene aggiungendo a
ciascuna stringa di lunghezza m, una stringa di
controllo lunghezza r. Il codice di Hamming sar
quindi formato da 2 parole ciascuna di
lunghezza (m+r).
In un codice di Hamming a distanza 3 tutti i bit in
posizione p, con p potenza di 2, sono
bit di controllo, gli altri sono bit di informazione.
9/19息 Paolo Quartarone - Codice di Hamming
Esempio
Facciamo un esempio con un codice di
Hamming(11,7).
Ogni code word contiene 7 bit di dati, quindi
occorrono 4 bit di controllo.
Vogliamo inviare la sequenza 1001101
Posizione bit 11 10 9 8 7 6 5 4 3 2 1
Valore bit 1 0 0 x 1 1 0 x 1 x x
10/19息 Paolo Quartarone - Codice di Hamming
I bit di controllo sono nelle posizioni 20
, 21
, 22
, 23
Le xsono i bit di controllo che calcoliamo :
Prendiamo le posizioni dove 竪 presente un 1,
sommiamo assieme in codice binario del numero della
posizione, due a due, utilizzando la XOR:
11 = 1011
7 = 0111
6 = 0110
3 = 0011
risultato: 1001
(Passaggi: 1011 XOR0111 = 1100 ; 1100 XOR0110 =
1010 ; 1010 XOR0011 = 1001 )
11/19息 Paolo Quartarone - Codice di Hamming
Inseriamo in ordine, al posto delle quattro xi quattro
bit :
Posizione bit 11 10 9 8 7 6 5 4 3 2 1
Valore bit 1 0 0 1 1 1 0 0 1 0 1
12/19息 Paolo Quartarone - Codice di Hamming
Adesso il destinatario estrae tutti gli 1 come
fatto prima, da tutte le posizioni :
11 = 1011
8 = 1000
7 = 0111
6 = 0110
3 = 0011
1 = 0001
Risultato : 0000
(Passaggi:1011 XOR 1000 = 0011 ; 0011 XOR
0111 = 0100 ; 0100 XOR 0110 = 0010 0010 XOR
0011 = 0001 ; 0001 XOR 0001 = 0000).
o
13/19息 Paolo Quartarone - Codice di Hamming
Proviamo adesso a sbagliare un bit , diciamo che il bit
in posizione 11 竪 cambiato da 1 a 0. Essendo 0 ora non
lo metteremo pi湛 nel calcolo :
8 = 1000
7 = 0111
6 = 0110
3 = 0011
1 = 0001
1011 = 11d
(posizione del bit errato)
14/19息 Paolo Quartarone - Codice di Hamming
La sequenza 1011 (Sindrome), trasformata in decimale,
indica la posizione del bit errato. Basta allora fare un
XORcon 1 per rimettere le cose a posto.
Bit in posizione 11d
= 0 XOR1 = 1 .
Questo 竪 il caso della parit pari, per la parit
dispari occorre invertire i bit di controllo in
trasmissione (XOR con 1111) prima di inserirli al
posto delle x.
Invertiremo i bit della Sindrome in ricezione per
controllare lesito della trasmissione.
息 Paolo Quartarone - Codice di Hamming
Parit dispari usando il risultato precedente : 1001 XOR
1111 = 0110
Posizione bit 11 10 9 8 7 6 5 4 3 2 1
Valore bit 1 0 0 0 1 1 0 1 1 1 0
15/19
息 Paolo Quartarone - Codice di Hamming
Inviamo allora la stringa.
11 = 1011
7 = 0111
6 = 0110
4 = 0100
3 = 0011
2 = 0010
Risultato : 1111
(Passaggi:1011 XOR 0111 = 1100 ; 1100 XOR
0110 = 1010 ; 1010 XOR 0100 = 1110 1110 XOR
0011 = 1101 ; 1101 XOR 0010 = 1111 XOR 1111 =
0000).
16/19
息 Paolo Quartarone - Codice di Hamming
Sbagliando, ad esempio il bit in posizione numero 8,
otterremo :
11 = 1011
8 = 1000
7 = 0111
6 = 0110
4 = 0100
3 = 0011
2 = 0010
Risultato : 0111
(Passaggi:1011 XOR1000 = 0011 ; 0011 XOR0111 =
0100; 0100 XOR0110 = 0010 ; 0010 XOR0100 =0110;
0110 XOR0011 = 0101 XOR0010 = 0111)
17/19
息 Paolo Quartarone - Codice di Hamming
A questo punto si effettua la XOR con 11112
e si
ottiene la sindrome : 10002
= 8d
che indica la
posizione del bit errato.
Basta allora fare un XOR con 1 per rimettere le
cose a posto.
Bit in posizione 8d
= 1 XOR 1 = 0.
18/19
息 Paolo Quartarone - Codice di Hamming
Fonti

http://it.wikipedia.org/wiki/Codice_di_Hamming

http://www.galileicrema.it/intraitis/documenti/materialedidattico/c

http://faculty.washington.edu/lcrum/Archives/TCSS372AF08/Hamm

http://en.wikipedia.org/wiki/Hamming_code

Www.uniroma2.it/didattica/infocod/deposito/Informazione_e_Codif

www.ludovico.net/download/materiale_didattico/infogen_bbcc/09_
19/19

More Related Content

Featured (20)

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
Artificial Intelligence, Data and Competition SCHREPEL June 2024 OECD dis...
Artificial Intelligence, Data and Competition  SCHREPEL  June 2024 OECD dis...Artificial Intelligence, Data and Competition  SCHREPEL  June 2024 OECD dis...
Artificial Intelligence, Data and Competition SCHREPEL June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
2024 State of Marketing Report by Hubspot
2024 State of Marketing Report  by Hubspot2024 State of Marketing Report  by Hubspot
2024 State of Marketing Report by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
2024 State of Marketing Report by Hubspot
2024 State of Marketing Report  by Hubspot2024 State of Marketing Report  by Hubspot
2024 State of Marketing Report by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray

Codice di Hamming

  • 1. 息 Paolo Quartarone - Codice di Hamming Codice di HammingCodice di Hamming Spiegazione dell'utilizzo della codifica di Hamming ITIS Zuccante 2012/2013 1/19
  • 2. 息 Paolo Quartarone - Codice di Hamming Introduzione Il Codice di Hamming竪 un codice correttore lineare che pu嘆 rilevare e correggere gli errori di singolo bit. Per una ricezione corretta di un segnale, la distanza di Hammingdi ogni bit tra 2 stringhe della stessa lunghezza deve essere 0. Pi湛 竪 alto questo numero, minore sar l'affidabilit dei dati ricevuti. 2/19
  • 3. 3/19息 Paolo Quartarone - Codice di Hamming Errore L'errore si verifica quando il contenuto di una cella di memoria 竪 diverso da quello che vi si era scritto in precedenza. Pu嘆 effettuarsi per un disturbo sul canale di comunicazione ecc..
  • 4. 4/19息 Paolo Quartarone - Codice di Hamming Distanza di Hamming La distanza di Hammingtra due stringhe di ugual lunghezza 竪 il numero di posizioni nelle quali i simboli corrispondenti sono diversi. Misura il numero di sostituzioni necessarie per convertire una stringa nell'altra. Pu嘆 essere calcolato eseguendo l'OREsclusivo (XOR) tra i singoli bit delle due stringhe.
  • 5. 5/19息 Paolo Quartarone - Codice di Hamming Reticolo di Hamming Viene utilizzato per esporre in maniera grafica la distanza di Hamming, per ogni lato dal codice di partenza al codice di arrivo, la distanza di Hamming aumenta.
  • 6. 6/19息 Paolo Quartarone - Codice di Hamming Distanza di un codice Si definisce distanza di un codice il minimo numero di bit in cui 2 qualsiasi parole del codice differiscono. Quindi se un codice ha distanza d, allora, se d 竪 un numero dispari, il codice 竪 in grado di rilevare e correggere (d/2) errori, altrimenti (cio竪 se d 竪 pari) esso rileva e corregge (d/2-1) errori e rileva soltanto (senza correggere) (d/2) errori.
  • 7. 7/19息 Paolo Quartarone - Codice di Hamming Codici di Hamming I codici di Hammingsono codici a distanza 3 o 4 contenenti il numero di parole che si desidera codificare.
  • 8. 8/19息 Paolo Quartarone - Codice di Hamming Come si ottiene Il codice di Hammingsi ottiene aggiungendo a ciascuna stringa di lunghezza m, una stringa di controllo lunghezza r. Il codice di Hamming sar quindi formato da 2 parole ciascuna di lunghezza (m+r). In un codice di Hamming a distanza 3 tutti i bit in posizione p, con p potenza di 2, sono bit di controllo, gli altri sono bit di informazione.
  • 9. 9/19息 Paolo Quartarone - Codice di Hamming Esempio Facciamo un esempio con un codice di Hamming(11,7). Ogni code word contiene 7 bit di dati, quindi occorrono 4 bit di controllo. Vogliamo inviare la sequenza 1001101 Posizione bit 11 10 9 8 7 6 5 4 3 2 1 Valore bit 1 0 0 x 1 1 0 x 1 x x
  • 10. 10/19息 Paolo Quartarone - Codice di Hamming I bit di controllo sono nelle posizioni 20 , 21 , 22 , 23 Le xsono i bit di controllo che calcoliamo : Prendiamo le posizioni dove 竪 presente un 1, sommiamo assieme in codice binario del numero della posizione, due a due, utilizzando la XOR: 11 = 1011 7 = 0111 6 = 0110 3 = 0011 risultato: 1001 (Passaggi: 1011 XOR0111 = 1100 ; 1100 XOR0110 = 1010 ; 1010 XOR0011 = 1001 )
  • 11. 11/19息 Paolo Quartarone - Codice di Hamming Inseriamo in ordine, al posto delle quattro xi quattro bit : Posizione bit 11 10 9 8 7 6 5 4 3 2 1 Valore bit 1 0 0 1 1 1 0 0 1 0 1
  • 12. 12/19息 Paolo Quartarone - Codice di Hamming Adesso il destinatario estrae tutti gli 1 come fatto prima, da tutte le posizioni : 11 = 1011 8 = 1000 7 = 0111 6 = 0110 3 = 0011 1 = 0001 Risultato : 0000 (Passaggi:1011 XOR 1000 = 0011 ; 0011 XOR 0111 = 0100 ; 0100 XOR 0110 = 0010 0010 XOR 0011 = 0001 ; 0001 XOR 0001 = 0000). o
  • 13. 13/19息 Paolo Quartarone - Codice di Hamming Proviamo adesso a sbagliare un bit , diciamo che il bit in posizione 11 竪 cambiato da 1 a 0. Essendo 0 ora non lo metteremo pi湛 nel calcolo : 8 = 1000 7 = 0111 6 = 0110 3 = 0011 1 = 0001 1011 = 11d (posizione del bit errato)
  • 14. 14/19息 Paolo Quartarone - Codice di Hamming La sequenza 1011 (Sindrome), trasformata in decimale, indica la posizione del bit errato. Basta allora fare un XORcon 1 per rimettere le cose a posto. Bit in posizione 11d = 0 XOR1 = 1 . Questo 竪 il caso della parit pari, per la parit dispari occorre invertire i bit di controllo in trasmissione (XOR con 1111) prima di inserirli al posto delle x. Invertiremo i bit della Sindrome in ricezione per controllare lesito della trasmissione.
  • 15. 息 Paolo Quartarone - Codice di Hamming Parit dispari usando il risultato precedente : 1001 XOR 1111 = 0110 Posizione bit 11 10 9 8 7 6 5 4 3 2 1 Valore bit 1 0 0 0 1 1 0 1 1 1 0 15/19
  • 16. 息 Paolo Quartarone - Codice di Hamming Inviamo allora la stringa. 11 = 1011 7 = 0111 6 = 0110 4 = 0100 3 = 0011 2 = 0010 Risultato : 1111 (Passaggi:1011 XOR 0111 = 1100 ; 1100 XOR 0110 = 1010 ; 1010 XOR 0100 = 1110 1110 XOR 0011 = 1101 ; 1101 XOR 0010 = 1111 XOR 1111 = 0000). 16/19
  • 17. 息 Paolo Quartarone - Codice di Hamming Sbagliando, ad esempio il bit in posizione numero 8, otterremo : 11 = 1011 8 = 1000 7 = 0111 6 = 0110 4 = 0100 3 = 0011 2 = 0010 Risultato : 0111 (Passaggi:1011 XOR1000 = 0011 ; 0011 XOR0111 = 0100; 0100 XOR0110 = 0010 ; 0010 XOR0100 =0110; 0110 XOR0011 = 0101 XOR0010 = 0111) 17/19
  • 18. 息 Paolo Quartarone - Codice di Hamming A questo punto si effettua la XOR con 11112 e si ottiene la sindrome : 10002 = 8d che indica la posizione del bit errato. Basta allora fare un XOR con 1 per rimettere le cose a posto. Bit in posizione 8d = 1 XOR 1 = 0. 18/19
  • 19. 息 Paolo Quartarone - Codice di Hamming Fonti http://it.wikipedia.org/wiki/Codice_di_Hamming http://www.galileicrema.it/intraitis/documenti/materialedidattico/c http://faculty.washington.edu/lcrum/Archives/TCSS372AF08/Hamm http://en.wikipedia.org/wiki/Hamming_code Www.uniroma2.it/didattica/infocod/deposito/Informazione_e_Codif www.ludovico.net/download/materiale_didattico/infogen_bbcc/09_ 19/19