# Example 1: Hamming code & parity bit

Eg. So let’s form hamming code using 4-bit message bits 1101 with parity bits as even parity bit and check how it is able to detect and correct error.

As we have already decided parity bit positions and their corresponding message bits for a 4-bit message

For the moment we have hamming code as P1    P2    1 P1 0 1

As we have already seen              PChecks bit number 1,3,5,7

So P1 = 1 to make number of 1’s to 4 i.e. even in positions 1,3,5,7

PChecks bit number 2,3,6,7

So P2 = 0 to make number of 1’s to 2 i.e. even in positions 2,3,6,7

PChecks bit number 4,5,6,7

So P3 = 0 to make number of 1’s to 2 i.e. even in positions 4,5,6,7

Hence we have the hamming code as 1010101

As we have already mentioned that hamming code can only detect and correct only single error. So we have error at 5th position which means bit changes from 1 to 0 so we have data changed from 1010101 to 1010001

Now let’s start checking all 3 parity bits starting from P1

PChecks bit number 1,3,5,7 and we see we have number 1’s in these bits is 3 i.e. odd which is wrong as it should have been even so put a 1

PChecks bit number 2,3,6,7 and we see we have number 1’s in these bits is 2 i.e. even which is right so put a 0

PChecks bit number 4,5,6,7 and we see we have number 1’s in these bits is 1 i.e. odd which is wrong as it should have been even so put a 1

Now we collect all the bits recorded with bit from Pas LSB

So we get 101 hence we get bit 5 with

So as P1  and P3 give wrong results so now we find which code bit position is common but not found in code bit position of parity bit Pand we see that we 5 and 7 common for P1  and P3 but 7 is also present in P2 so we are left with code position 5.

RULE TO FIND POSITION OF ERROR: We start from Pand start checking whether bit is correct or wrong and if it is wrong then we put a 1 and put a zero if it is correct. And while we reach end we collect all those bits taking bit from Pas LSB. The decimal equivalent we get from the bits collected is the bit position of error

Hence we have the bit change in position 5 so re-change it to get the correct value.  Hence we change 5th bit of received message which is 1010001, we get 1010101 which is correct one.

So we see hamming code is able to detect and correct single error.