You are on page 1of 12

Hamming Code Examples

This is VERY tricky to get you head around BUT simple once you know whats happening!!!

Assumptions
You know what an even parity bit check is You know what binary is You know that a binary word could represent almost anything Original ASCII comprises of 7-bits You have read the intro to hamming on page113 of Bond & Langfield

How it works?
Each data item is check by at least two parity bits By doing multiple checks we can see which bit is wrong!!!

Using Hamming Code Checks


Lets start with 4 bits of Data This would require 3 parity bits (7bits total) Parity bits are placed in positions 2n Hamming Checks
Start at n Check n Skip n E.g. Parity bit 2 is in position 2 so Start at 2, check two positions, skip two positions, etc.. 2,3,6,7 are part of the pattern that P2 checks

Position n
Whats There

7
Data Bit 4

6
Data Bit 3

5
Data Bit 2

4
Parity Bit 3 (P3)

3
Data Bit 1

2
Parity Bit 2 (P2)

1
Parity Bit 1 (P1)

Hamming Code Check example


I get sent a 7 bit binary word: 0101101 Need to check that there is even parity for each of the three parity bit pattern
Position n

7 0 1

6 0

5 1

4 1

3 0

2 1

All check 1, skip 1,have 1 etc..(1,3,5,7) three check 1 skip P1 is in position 1 so Start at 1, P1 is in position 2 so Start0 2 check 2, skip 2 1 2 skip 2 rtc..(2,3,6,7) 0 1 P2 at check Even Parity so this P3 is in position 4 soStart at 4, check 4 skip 4(then we run out of bits) (4,5,6,7) P2 0 1 1 0 is a Correct pattern
P3 0 1 0 1

Word

Hamming Code Check example 2


I get sent a 7 bit binary word: 0001101 Need to check that there is even parity for each of the three parity bit pattern Position 7 6 5 4 3 2 1 n 0

P2 and P31dont have 1 0 0 1 0 P1is in position 1 so Start Parity so this 1is 1 0 Even at 1, check 1, skip 1, 1 1 skip etc..(1,3,5,7) 0 P1 check P2 is in position 2 so Start at 2 check 2, skip 2 check 2 skip 2 rtc..(2,3,6,7) NOT at correct 1 0 pattern P3 is in position 4 soStarta 4, check 4 skip 4(then we run out of bits) (4,5,6,7) P2 0 0
Word

P3

QUIZ!!
Have a go at the 4bit Hamming Checks quiz on Godalming Online before you move on!

4 bit Creation Example - 1101


Position n
Whats There

7
Data Bit 4

6
Data Bit 3

5
Data Bit 2

4
Parity Bit 3 (P3)

3
Data Bit 1

2
Parity Bit 2 (P2)

1
Parity Bit 1 (P1)

1 1 1 1 1 0

1 1 0 Start by placing the 4 data bits in the correct positions


Leave spaces for the parity bits Parity bit 1 is1 position1 in 1

0 So it is part of the pattern 1,3,5,7 0 (check 1, skip 1) 1 position1 0 Parity bit 2 is in 2

this has the bits 101 currently so we add a 0 to keep even parity 1 1 0 1 1 So it is part of the pattern 2,3,6,7 0 (check 2, skip 2) this Finalthe bitsposition 4is so we add a 1 to keep even parity The has bit in 111 currently 1100110 Parity bit 3 is pattern sent

This is part of the pattern 4,5,6,7 (check 4, skip So it includes the 4 data bits and three parity bits4) (although we only have 7bits) this has the bits 110 currently so we add a 0 to keep even parity

Why Bother?
This seems A LOT of processing and redundant data just to validate a nibble Hamming Codes can FIX one bit of incorrect data!!!!!!!!! Hamming is an ERROR CORRECTION code

Remember this
I get sent a 7 bit binary word: 0001101 Need to check that there is even parity for each of the three parity bit pattern Position 7 6 5 4 3 2 1 n
Word

P3 is in position 4 soStart at 4, check 4 skip 4(then we run out of bits) (4,5,6,7)

P1is in position 1 so Start at 1, check 1, skip 1, 1 1 skip 1 etc..(1,3,5,7) 0 0 1 P1 check P2 is in position 2 so Start at P3 dont have P2 and 2 check 2, skip 2 check 2 skip 2 rtc..(2,3,6,7) P2 P3

Even Parity so this is 0 NOT a 0 0 1 correct pattern


0 0 1 0

Which bit is wrong???


Position n

Word

P1 P2 P3

0 0 0 0

0
0 0

0 0
0

1 1 1

0
0

1 1

x x

Now add up the positions of the WRONG bits P2 is position 2 and P3 is position 4 2+4 = 6 Bit6 needs to be flipped from 0 to 1 Check your self that this now is correct

NOW
Try changing another data bi in the Patten and see if the hamming Have a go at the example in B&L