SlideShare a Scribd company logo
1 of 13
Hamming Code
Error Detecting and Correcting
Code
 Parity code
◦ Detect odd number of errors
◦ Cannot correct any errors
 Hamming Code
◦ Detect up to two simultaneous bit errors
◦ Correct single-bit errors
Hamming Code
 For each integer m > 2
◦ Code exists with m parity bits and 2m – m – 1
 Basically
◦ Parity bit for odd bits
◦ Parity bit for each two bits
◦ Parity bit for each four bits
◦ Parity bit for each eight bits
◦ Parity bit for each group of bits that are power of
2
 1, 2, 4, 8, 16, 32, …
Calculating Hamming Code
1. Mark all bit positions that are powers of two parity bit
1, 2, 4, 8, 16, 32, 64, etc
2. All other bit positions are for the data to be encoded
3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.
3. Each parity bit calculates the parity for some of the bits in
the code word
The position of the parity bit determines the sequence of bits that it
alternately checks and skips
Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit, etc.
(1,3,5,7,9,11,13,15,...)
Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits, etc.
(2,3,6,7,10,11,14,15,...)
Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits, etc.
(4,5,6,7,12,13,14,15,20,21,22,23,...)
Position 8: check 8 bits, skip 8 bits, check 8 bits, skip 8 bits, etc.
(8-15,24-31,40-47,...)
4. Set a parity bit to 1 if the total number of ones in the
positions it checks is odd. Set a parity bit to 0 if the total
number of ones in the positions it checks is even
Hamming Code Layout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4 5 6 7 8 9 10 11
Pos 20=1 21=2 22=4 23=8
1 1 0 0 0
2 0 1 0 0
3 1 1 0 0
4 0 0 1 0
5 1 0 1 0
6 0 1 1 0
7 1 1 1 0
8 0 0 0 1
9 1 0 0 1
10 0 1 0 1
11 1 1 0 1
12 0 0 1 1
13 1 0 1 1
14 0 1 1 1
15 1 1 1 1
Even parity calculated for each bit position
P1 (1, 3, 5, 7, 9, 11, 13, 15)
P2 (2, 3, 6, 7, 10, 11, 14, 15)
P4 (4, 5, 6, 7, 12, 13, 14, 15)
P8(8, 9, 10, 11, 12, 13, 14, 15)
Hamming Code Layout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 1 0 1 1 0 1 0 1 1
P1 P1 P1 P1 P1 P1 P1 P1
P2 P2 P2 P2 P2 P2 P2 P2
P4 P4 P4 P4 P4 P4 P4 P4
P8 P8 P8 P8 P8 P8 P8 P8
1 1 1 0 0 1 0 1 1 1 0 1 0 1 1
Even parity calculated for each bit position
P1 (1, 3, 5, 7, 9, 11, 13, 15)
P2 (2, 3, 6, 7, 10, 11, 14, 15)
P4 (4, 5, 6, 7, 12, 13, 14, 15)
P8(8, 9, 10, 11, 12, 13, 14, 15)
For code: 10101101011
P1 = 1
P2 = 1
P4 = 0
P8 = 1
Hamming Code (1 error)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 1 0 1 1 0 1 0 1 1
P1 P1 P1 P1 P1 P1 P1 P1
P2 P2 P2 P2 P2 P2 P2 P2
P4 P4 P4 P4 P4 P4 P4 P4
P8 P8 P8 P8 P8 P8 P8 P8
1 1 1 0 0 1 0 1 1 1 0 1 0 1 1
1 1 1 0 0 1 0 1 1 1 0 1 0 0 1
Even parity calculated for each bit position
P1 (1, 3, 5, 7, 9, 11, 13, 15)
P2 (2, 3, 6, 7, 10, 11, 14, 15)
P4 (4, 5, 6, 7, 12, 13, 14, 15)
P8(8, 9, 10, 11, 12, 13, 14, 15)
A S
P1 = 1 1
P2 = 1 0
P4 = 0 1
P8 = 1 0
Xmit
Rec
2, 4, and 8 incorrect
2 + 4 + 8 = 14
A = Actual Parity
S = Should be
Parity
Hamming Code (2 errors)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 1 0 1 1 0 1 0 1 1
P1 P1 P1 P1 P1 P1 P1 P1
P2 P2 P2 P2 P2 P2 P2 P2
P4 P4 P4 P4 P4 P4 P4 P4
P8 P8 P8 P8 P8 P8 P8 P8
1 1 1 0 0 1 0 1 1 1 0 1 0 1 1
1 1 1 0 0 1 0 1 0 1 0 1 0 0 1
Even parity calculated for each bit position
P1 (1, 3, 5, 7, 9, 11, 13, 15)
P2 (2, 3, 6, 7, 10, 11, 14, 15)
P4 (4, 5, 6, 7, 12, 13, 14, 15)
P8(8, 9, 10, 11, 12, 13, 14, 15)
A S
P1 = 1 0
P2 = 1 0
P4 = 0 1
P8 = 1 1
Xmit
Rec
1,2, and 4 incorrect
1 + 2 + 4 = 7
Fix 7, will still have parity problem
A = Actual Parity
S = Should be
Parity
Example
 A byte of data: 10011010
 Create the data word, leaving spaces for the parity bits:
_ _ 1 _ 0 0 1 _ 1 0 1 0
 Calculate the parity for each parity bit (a ? represents the bit
position being set):
◦ Position 1 checks bits 1,3,5,7,9,11:
? _ 1 _ 0 0 1 _ 1 0 1 0. Even parity so set position 1 to a 0:
0 _ 1 _ 0 0 1 _ 1 0 1 0
◦ Position 2 checks bits 2,3,6,7,10,11:
0 ? 1 _ 0 0 1 _ 1 0 1 0. Odd parity so set position 2 to a 1:
0 1 1 _ 0 0 1 _ 1 0 1 0
◦ Position 4 checks bits 4,5,6,7,12:
0 1 1 ? 0 0 1 _ 1 0 1 0. Odd parity so set position 4 to a 1:
0 1 1 1 0 0 1 _ 1 0 1 0
◦ Position 8 checks bits 8,9,10,11,12:
0 1 1 1 0 0 1 ? 1 0 1 0. Even parity so set position 8 to a 0:
0 1 1 1 0 0 1 0 1 0 1 0
◦ Code word: 011100101010
Finding and Fixing a Bad Bit
123456789012
 Transmitted word: 011100101010
 Received word: 011100101110
 Calculate the parity bits from received
word
SB A
◦ P1 (1, 3, 5, 7, 9, 11) = 0 0
1
◦ P2 (2, 3, 6, 7, 10, 11) = 0 1
2
◦ P4 (4, 5, 6, 7, 12) = 1 1 4
◦ P8 (8, 9, 10, 11, 12) = 1 0
8
 2 + 8 = 10
Finding and Fixing a Bad Bit
123456789012
 Transmitted word:
 Received word: 010101100011
 Calculate the parity bits from received
word
SB A
◦ P1 (1, 3, 5, 7, 9, 11) = 0 0
◦ P2 (2, 3, 6, 7, 10, 11) = 0 1
◦ P4 (4, 5, 6, 7, 12) = 0 1
◦ P8 (8, 9, 10, 11, 12) = 0 0
 Bit positions 2 & 4 are incorrect
2 + 4 = 6
 Correct code is 010100100011
Finding and Fixing a Bad Bit
123456789012
 Transmitted word:
 Received word: 111110001100
 Calculate the parity bits from received
word
SB A
◦ P1 (1, 3, 5, 7, 9, 11) = 0 1
◦ P2 (2, 3, 6, 7, 10, 11) = 1 1
◦ P4 (4, 5, 6, 7, 12) = 0 1
◦ P8 (8, 9, 10, 11, 12) = 0 0
 Bit positions 1 & 4 are incorrect
1 + 4 = 5
 Correct code is 111100001100
Finding and Fixing a Bad Bit
123456789012
 Transmitted word:
 Received word: 000010001010
 Calculate the parity bits from received
word
SB A
◦ P1 (1, 3, 5, 7, 9, 11) = 1 0
◦ P2 (2, 3, 6, 7, 10, 11) = 1 0
◦ P4 (4, 5, 6, 7, 12) = 1 0
◦ P8 (8, 9, 10, 11, 12) = 0 0
 Bit positions 1, 2 & 4 are incorrect
1 + 2 + 4 = 7
 Correct code is: 000010101010

More Related Content

Similar to 3288940.ppt

Ece175 computer programming for engineering applications homework assignment ...
Ece175 computer programming for engineering applications homework assignment ...Ece175 computer programming for engineering applications homework assignment ...
Ece175 computer programming for engineering applications homework assignment ...Song Love
 
Computer archi&mp
Computer archi&mpComputer archi&mp
Computer archi&mpMSc CST
 
Ncp computer appls num sys1 pramod
Ncp computer appls  num sys1 pramodNcp computer appls  num sys1 pramod
Ncp computer appls num sys1 pramodNCP
 
Unit 1 PDF.pptx
Unit 1 PDF.pptxUnit 1 PDF.pptx
Unit 1 PDF.pptxChandraV13
 
Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematicsMark Simon
 
unit-i-number-systems.pdf
unit-i-number-systems.pdfunit-i-number-systems.pdf
unit-i-number-systems.pdfRameshK531901
 
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE 0586umer
 
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptxsulekhasaxena2
 
Video lectures
Video lecturesVideo lectures
Video lecturesEdhole.com
 
Chapter 1 digital design.pptx
Chapter 1 digital design.pptxChapter 1 digital design.pptx
Chapter 1 digital design.pptxAliaaTarek5
 
Data types
Data typesData types
Data typesgavhays
 
The Data Link Layer
The Data Link LayerThe Data Link Layer
The Data Link Layerrobbbminson
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilanganahmad haidaroh
 

Similar to 3288940.ppt (20)

Ece175 computer programming for engineering applications homework assignment ...
Ece175 computer programming for engineering applications homework assignment ...Ece175 computer programming for engineering applications homework assignment ...
Ece175 computer programming for engineering applications homework assignment ...
 
Numbering Systems
Numbering SystemsNumbering Systems
Numbering Systems
 
Number System
Number SystemNumber System
Number System
 
Computer archi&mp
Computer archi&mpComputer archi&mp
Computer archi&mp
 
Binary
BinaryBinary
Binary
 
Ncp computer appls num sys1 pramod
Ncp computer appls  num sys1 pramodNcp computer appls  num sys1 pramod
Ncp computer appls num sys1 pramod
 
Unit 1 PDF.pptx
Unit 1 PDF.pptxUnit 1 PDF.pptx
Unit 1 PDF.pptx
 
Number system
Number systemNumber system
Number system
 
Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematics
 
W 9 numbering system
W 9 numbering systemW 9 numbering system
W 9 numbering system
 
W 9 numbering system
W 9 numbering systemW 9 numbering system
W 9 numbering system
 
unit-i-number-systems.pdf
unit-i-number-systems.pdfunit-i-number-systems.pdf
unit-i-number-systems.pdf
 
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
CDMA - USE WALSH TABLE TO GENERATE CHIP SEQUENCE
 
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptx
 
Video lectures
Video lecturesVideo lectures
Video lectures
 
Mba ebooks
Mba ebooksMba ebooks
Mba ebooks
 
Chapter 1 digital design.pptx
Chapter 1 digital design.pptxChapter 1 digital design.pptx
Chapter 1 digital design.pptx
 
Data types
Data typesData types
Data types
 
The Data Link Layer
The Data Link LayerThe Data Link Layer
The Data Link Layer
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilangan
 

Recently uploaded

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 

Recently uploaded (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 

3288940.ppt

  • 2. Error Detecting and Correcting Code  Parity code ◦ Detect odd number of errors ◦ Cannot correct any errors  Hamming Code ◦ Detect up to two simultaneous bit errors ◦ Correct single-bit errors
  • 3. Hamming Code  For each integer m > 2 ◦ Code exists with m parity bits and 2m – m – 1  Basically ◦ Parity bit for odd bits ◦ Parity bit for each two bits ◦ Parity bit for each four bits ◦ Parity bit for each eight bits ◦ Parity bit for each group of bits that are power of 2  1, 2, 4, 8, 16, 32, …
  • 4. Calculating Hamming Code 1. Mark all bit positions that are powers of two parity bit 1, 2, 4, 8, 16, 32, 64, etc 2. All other bit positions are for the data to be encoded 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc. 3. Each parity bit calculates the parity for some of the bits in the code word The position of the parity bit determines the sequence of bits that it alternately checks and skips Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit, etc. (1,3,5,7,9,11,13,15,...) Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits, etc. (2,3,6,7,10,11,14,15,...) Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits, etc. (4,5,6,7,12,13,14,15,20,21,22,23,...) Position 8: check 8 bits, skip 8 bits, check 8 bits, skip 8 bits, etc. (8-15,24-31,40-47,...) 4. Set a parity bit to 1 if the total number of ones in the positions it checks is odd. Set a parity bit to 0 if the total number of ones in the positions it checks is even
  • 5. Hamming Code Layout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 Pos 20=1 21=2 22=4 23=8 1 1 0 0 0 2 0 1 0 0 3 1 1 0 0 4 0 0 1 0 5 1 0 1 0 6 0 1 1 0 7 1 1 1 0 8 0 0 0 1 9 1 0 0 1 10 0 1 0 1 11 1 1 0 1 12 0 0 1 1 13 1 0 1 1 14 0 1 1 1 15 1 1 1 1 Even parity calculated for each bit position P1 (1, 3, 5, 7, 9, 11, 13, 15) P2 (2, 3, 6, 7, 10, 11, 14, 15) P4 (4, 5, 6, 7, 12, 13, 14, 15) P8(8, 9, 10, 11, 12, 13, 14, 15)
  • 6. Hamming Code Layout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 0 1 1 0 1 0 1 1 P1 P1 P1 P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P4 P4 P4 P4 P4 P4 P4 P4 P8 P8 P8 P8 P8 P8 P8 P8 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 Even parity calculated for each bit position P1 (1, 3, 5, 7, 9, 11, 13, 15) P2 (2, 3, 6, 7, 10, 11, 14, 15) P4 (4, 5, 6, 7, 12, 13, 14, 15) P8(8, 9, 10, 11, 12, 13, 14, 15) For code: 10101101011 P1 = 1 P2 = 1 P4 = 0 P8 = 1
  • 7. Hamming Code (1 error) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 0 1 1 0 1 0 1 1 P1 P1 P1 P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P4 P4 P4 P4 P4 P4 P4 P4 P8 P8 P8 P8 P8 P8 P8 P8 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 Even parity calculated for each bit position P1 (1, 3, 5, 7, 9, 11, 13, 15) P2 (2, 3, 6, 7, 10, 11, 14, 15) P4 (4, 5, 6, 7, 12, 13, 14, 15) P8(8, 9, 10, 11, 12, 13, 14, 15) A S P1 = 1 1 P2 = 1 0 P4 = 0 1 P8 = 1 0 Xmit Rec 2, 4, and 8 incorrect 2 + 4 + 8 = 14 A = Actual Parity S = Should be Parity
  • 8. Hamming Code (2 errors) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 0 1 1 0 1 0 1 1 P1 P1 P1 P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P4 P4 P4 P4 P4 P4 P4 P4 P8 P8 P8 P8 P8 P8 P8 P8 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 Even parity calculated for each bit position P1 (1, 3, 5, 7, 9, 11, 13, 15) P2 (2, 3, 6, 7, 10, 11, 14, 15) P4 (4, 5, 6, 7, 12, 13, 14, 15) P8(8, 9, 10, 11, 12, 13, 14, 15) A S P1 = 1 0 P2 = 1 0 P4 = 0 1 P8 = 1 1 Xmit Rec 1,2, and 4 incorrect 1 + 2 + 4 = 7 Fix 7, will still have parity problem A = Actual Parity S = Should be Parity
  • 9. Example  A byte of data: 10011010  Create the data word, leaving spaces for the parity bits: _ _ 1 _ 0 0 1 _ 1 0 1 0  Calculate the parity for each parity bit (a ? represents the bit position being set): ◦ Position 1 checks bits 1,3,5,7,9,11: ? _ 1 _ 0 0 1 _ 1 0 1 0. Even parity so set position 1 to a 0: 0 _ 1 _ 0 0 1 _ 1 0 1 0 ◦ Position 2 checks bits 2,3,6,7,10,11: 0 ? 1 _ 0 0 1 _ 1 0 1 0. Odd parity so set position 2 to a 1: 0 1 1 _ 0 0 1 _ 1 0 1 0 ◦ Position 4 checks bits 4,5,6,7,12: 0 1 1 ? 0 0 1 _ 1 0 1 0. Odd parity so set position 4 to a 1: 0 1 1 1 0 0 1 _ 1 0 1 0 ◦ Position 8 checks bits 8,9,10,11,12: 0 1 1 1 0 0 1 ? 1 0 1 0. Even parity so set position 8 to a 0: 0 1 1 1 0 0 1 0 1 0 1 0 ◦ Code word: 011100101010
  • 10. Finding and Fixing a Bad Bit 123456789012  Transmitted word: 011100101010  Received word: 011100101110  Calculate the parity bits from received word SB A ◦ P1 (1, 3, 5, 7, 9, 11) = 0 0 1 ◦ P2 (2, 3, 6, 7, 10, 11) = 0 1 2 ◦ P4 (4, 5, 6, 7, 12) = 1 1 4 ◦ P8 (8, 9, 10, 11, 12) = 1 0 8  2 + 8 = 10
  • 11. Finding and Fixing a Bad Bit 123456789012  Transmitted word:  Received word: 010101100011  Calculate the parity bits from received word SB A ◦ P1 (1, 3, 5, 7, 9, 11) = 0 0 ◦ P2 (2, 3, 6, 7, 10, 11) = 0 1 ◦ P4 (4, 5, 6, 7, 12) = 0 1 ◦ P8 (8, 9, 10, 11, 12) = 0 0  Bit positions 2 & 4 are incorrect 2 + 4 = 6  Correct code is 010100100011
  • 12. Finding and Fixing a Bad Bit 123456789012  Transmitted word:  Received word: 111110001100  Calculate the parity bits from received word SB A ◦ P1 (1, 3, 5, 7, 9, 11) = 0 1 ◦ P2 (2, 3, 6, 7, 10, 11) = 1 1 ◦ P4 (4, 5, 6, 7, 12) = 0 1 ◦ P8 (8, 9, 10, 11, 12) = 0 0  Bit positions 1 & 4 are incorrect 1 + 4 = 5  Correct code is 111100001100
  • 13. Finding and Fixing a Bad Bit 123456789012  Transmitted word:  Received word: 000010001010  Calculate the parity bits from received word SB A ◦ P1 (1, 3, 5, 7, 9, 11) = 1 0 ◦ P2 (2, 3, 6, 7, 10, 11) = 1 0 ◦ P4 (4, 5, 6, 7, 12) = 1 0 ◦ P8 (8, 9, 10, 11, 12) = 0 0  Bit positions 1, 2 & 4 are incorrect 1 + 2 + 4 = 7  Correct code is: 000010101010