Examples For Hamming Code
Examples For Hamming Code
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000000
0000111
0011001
0011110
0101010
0101101
0110011
0110100
8
9
A
B
C
D
E
F
1001011
1001100
1010010
1010101
1100001
1100110
1111000
1111111
The Hamming Code essentially defines 16 valid codewords. The sixteen words are
arranged such that the minimum distance between any two words is 3.
Check the hamming equation:
M=4, R=3, N=7
Left side: (M+R+1)*(2^M)=8*16=128
Right side: 2^N=128
Perfect match!
Exercise 1:
above table.
The send will only send one of these 16 valid codewords. For example, the send will
never send 0000001, which is not a valid codeword.
Due to the transmission error, the receiver might receive invalid codewords. Since the
code transmitted is 7-bit long, total amount of possible codes is 128.
When received a code, the receiver will look for the closest valid codeword as a guess for
what might be actually transmitted.
D(r,)
1
2
2
5
4
3
3
4
Code word
1001011
1001100
1010010
1010101
1100001
1100110
1111000
1111111
D(r,)
3
4
4
3
2
5
5
6
Thus the receiver conclude that the actual transmitted code is 0000000, which is the
correct.
Exercise 2:
Check that when 0000000 is sent, any 1 bit error can be corrected by
above procedure.
The receiver actually might be implemented with a working sheet:
Received codes
0000000,0000001,0000010
0000100,0001000,0010000
0100000,1000000
0000111,0000110,0000101
0000011,0001111,0010111
0100111,1000111
0011001,0011000,0011011
0011101, 0010001,0001001,
0111001, 1011001
0011110, 0011111, 0011100,
0011010, 0010110, 0001110,
0111110, 1011110,
0101010, 0101011,0101000
0101110, 0100010, 0111010
0001010, 1101010
0101101, 0101100, 0101111
0101001, 0100101, 0111101
0001101, 1101101
0110011, 0110010, 0110001
0110111, 0111011, 0100011
000011, 110011
0110100,110101, 0110110,
0110000, 0111100, 0100100,
000100, 110100
After decoding
Received codes
After decoding
0000000
1001011
0000111
1001100
0011001
1010010
0011110
1010101
0101010
1100001
0101101
1100110
0110011
1111000
0110100
1111111