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

Data
Bit 4

Data
Bit 3

Data
Bit 2

Parity
Bit 3
(P3)

Data
Bit 1

Parity
Bit 2
(P2)

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
7

Position
n

Word

P3

3
1

2
0

1
1

All
three
have
P1 is in position 1 so Start at 1, check 1, skip 1, check 1 skip 1 etc..(1,3,5,7)
P1
0
0
1
1

P2 is in position 2 so Start at 2 check 2, skip 2 check 2 skip 2 rtc..(2,3,6,7)


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

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

P20and0 P3 1dont1 have


0
1
Parity
this is 1
P1
0 Even
01, check 1, skipso
P1 is in position
1 so Start at
1, 1
check 1 skip 1 etc..(1,3,5,7)
P2 is in position 2 so Start at 2 check 2, skip 2 check 2 skip 2 rtc..(2,3,6,7)
NOT
P3 is in position
4 soStarta
at 4,correct
check 4 skip 4(thenpattern
P2
0
0
1 we run out
0 of bits) (4,5,6,7)
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

Data Bit 4

Data Bit 3

Data Bit 2

Parity Bit 3
(P3)

Data Bit 1

Parity Bit 2
(P2)

Parity Bit 1
(P1)

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

Leave spaces for the parity bits


Parity bit 1 is 1
in position11

1
1

0
So it is part of1the pattern
1 1,3,5,7 0(check 1, skip
0 1)

Parity bit 2 is in position 2


this has the bits 101 currently so we add a 0 to keep even parity
1 2,3,6,7 0(check 2, skip
0 2) 1
So it is part of1the pattern

0
1
1

The
this Final
has
111 sent
currently
we add a 1 to keep even parity
Parity
bit the
3bit
isbits
pattern
in position
4is so
1100110
This
So it includes
is part ofthe
the4pattern
data bits
4,5,6,7
and three
(check
parity
4, skip
bits 4) (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

P1
0 1 so Start at01, check 1, skip 1, 1check 1 skip 1 etc..(1,3,5,7)
1
P1 is in position

P2 and P3 dont have


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

P2 is in position 2 so Start at 2 check 2, skip 2 check 2 skip 2 rtc..(2,3,6,7)


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

P2
P3

x
x

Which bit is wrong???


7

Position
n

Word

P1
P2
P3

0
0
0
0

6
0
0
0

5
0
0
0

4
1

3
1
1
1

2
0

1
1
1

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

x
x

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

You might also like