0% found this document useful (0 votes)
162 views

Examples For Hamming Code

The document discusses Hamming code and provides an example of a Hamming code mapping 16 4-bit messages to 16 7-bit codewords. It explains that the codewords are arranged such that the minimum distance between any two codewords is 3, allowing single bit errors to be detected and corrected. It then gives an example of how the receiver would decode a received codeword by finding the closest valid codeword if a transmission error occurred, inverting the last bit of the sent codeword 0000000 to produce 0000001 and correctly deducing the originally sent codeword.

Uploaded by

quan118
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
162 views

Examples For Hamming Code

The document discusses Hamming code and provides an example of a Hamming code mapping 16 4-bit messages to 16 7-bit codewords. It explains that the codewords are arranged such that the minimum distance between any two codewords is 3, allowing single bit errors to be detected and corrected. It then gives an example of how the receiver would decode a received codeword by finding the closest valid codeword if a transmission error occurred, inverting the last bit of the sent codeword 0000000 to produce 0000001 and correctly deducing the originally sent codeword.

Uploaded by

quan118
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

Examples for Hamming code:

The message you want to send is 4-bits string:


0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

There is 16 different messages.


The 4-bits messages are mapped to the following Sixteen Valid Codewords
0
1
2
3
4
5
6
7

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:

Calculate the Hamming distance between any two codewords in the

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.

Decoding at the Receiver Side


For example: if the sender send m=0000000, and the last bit is inverted due to
transmission error, the receiver received r=0000001. The receiver will calculate the
Hamming distance between r and all valid codewords. The codeword with the smallest
Hamming distance will be the one.

In fact, the table of D(0000001, x) is


Code word
0000000
0000111
0011001
0011110
0101010
0101101
0110011
0110100

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

The right half of the table will be left as an exercise.

You might also like