Home > World Of Academic > Penjelasan tentang Hamming Code

Penjelasan tentang Hamming Code


Code Creation

Mark all bit positions that are powers of two as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.)  All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)  Each parity bit calculates the parity for some of the bits in the code word. The position of the parity bit determines the sequence of bits that it alternately checks and skips.

Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit, etc.                            (1,3,5,7,9,11,13,15,…)
Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits, etc.                 (2,3,6,7,10,11,14,15,…)
Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits, etc. (4,5,6,7,12,13,14,15,20,21,22,23,…)
Position 8: check 8 bits, skip 8 bits, check 8 bits, skip 8 bits, etc.                 (8-15,24-31,40-47,…)
Position 16: check 16 bits, skip 16 bits, check 16 bits, skip 16 bits, etc. (16-31,48-63,80-95,…)
Position 32: check 32 bits, skip 32 bits, check 32 bits, skip 32 bits, etc. (32-63,96-127,160-191,…)
etc.

Set a parity bit to 1 if the total number of ones in the positions it checks is odd.
Set a parity bit to 0 if the total number of ones in the positions it checks is even.

Example 1
A byte of data: 01010101

Let us number the bits of this character b12, b11, b10, b9, b7, b6, b5,  b3,  and we will number bits from right to left (dari kanan ke kiri), leaving space for the soon-to-be-added check bits. Now add to these bits the following check bits: c8, c4, c2, and c1. where c8 generate a simple even parity for bits  b12, b11, b10, b9  . The check bit c4 will generate a simple even parity for bits b12, b7, b6, b5. Check bit c2 will generate a simple even parity for bits b11, b10, b7, b6, b3.  And c1 will generate a simple even parity for bits b11, b9, b7, b5, b3. Note that each bit here is checking different sequence of data bits.


Position 1 checks bits 1,3,5,7,9,11:  (check beginning bit  from left to right)

0   1   0   1   ?   0   1   0   ?   1   ?   (? find value position1 )  shown that this parity  error

1    1    0    0    1  (Generate sum of all check bit , the value is 1)

Even parity so set position 1 to a 1:   0  1  0  1  _   0  1  0   _  1  _  1

Position 2 checks bits 2,3,6,7,10,11: (check beginning bit from left to right, put the c1 bit also)

0   1   0   1   _   0   1   0   _   1   (? find value position2 )  1   shown that this parity no error

1   0   0    1   1  (Generate sum of all check bit , the value is 1)

Odd parity so set position 2 to a 1:  0   1   0   1   _   0   1   0   _   1   1   1

Position 4 checks bits 4,5,6,7,12:

0   1   0   1   _   0   1   0   ?   1   1   1

0   0   1   0  (Generate sum of all check bit , the value is 1) shown that this parity no error

Odd parity so set position 4 to a 1:  0   1   0   1   _   0   1   0   1   1   1   1

Position 8 checks bits 8,9,10,11,12:

0   1   0   1   ?   0   1   0   1   1   1   1

0   1   0   1 (Generate sum of all check bit , the value is 0)  shown that this parity error

Even parity so set position 8 to a 0:  0   1   0   1   0   0   1   0   1   1   1   1

Finally we find the code word  :   0   1   0   1   0   0   1   0   1   1   1   1

Example 2

Test if these code words are correct, assuming they were created using an even parity Hamming Code . If one is incorrect, indicate what the correct code word should have been. Also, indicate what the original data was.

a.  010101100011  all bit is right
b.  111110001100  bit 11 is wrong,  should be 101110001100

Kekurangan si Hamming code ini, satu parity hanya bisa untuk pengecekan 1 bit data tidak bisa lebih dari itu.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: