Академический Документы
Профессиональный Документы
Культура Документы
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!!!
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)
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
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!
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
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
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
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