Error Detection and Correction Codes
Error Detection and Correction Codes
codes
Objective of the lecture
• The concept of parity of a group of bits or digital word is the key for
error detection and correction.
•
• Parity method for error detection:--
• Many system use a parity bit as a means for bit error detection.
• A parity bit is attached to a group of bit to make the total no. of 1’s in
a group always even or always odd.
• An even parity bit makes the total no.of 1’s even, and an odd parity
bit makes the total odd.
Even parity Odd parity
P BCD P BCD
0 0000 1 0000
1 0001 0 0001
1 0010 0 0010
0 0011 1 0011
1 0100 0 0100
0 0101 1 0101
0 0110 1 0110
1 0111 0 0111
1 1000 0 1000
0 1001 1 1001
• The parity bit can be attached to the code at either the beginning or the
end,depending on system design.
• Notice that the total no.of 1’s including the parity bit,is always even for even
parity and always odd for odd parity.
• Detecting an error : A parity bit provides for the detection of a single bit
error
• Let us assume BCD code 0101
• (parity can be used with any no.of bits:we are using four for illustration)
• The total code transmitted including parity bit,is
• Let us assume the error occurs in the third
• bit from the left
• Redundancy bit:To calculate the no. of redundancy bits(r) required to
include in data bits(m).
• 2r >= m+r+1
• For example for m=1 r= 2
• For m=2 r= 3
• For m=3 r=3
• For m=4 r=3
• For m=5 r=4
Hamming codes
• Q-Determine the single error correcting code for the BCD
number 1001 using even parity.
• Sol:- Step-1 Find the no of parity bit required :--
• that is = 3
• Step-2 Construct a bit position table,and enter the information
bits.Parity bits are determined in the following steps.
Bit P1 P2 MI P3 M2 M3 M4
Designation
Bit position 1 2 3 4 5 6 7
Information 1 0 0 1
bit
Parity bit
• Step-3:Determine the parity bit as follows
• Bit P1 checks bit position 1,3,5 and 7 and put 0 for an even no. of 1s in this
group.
• Bit P2 checks bit position 2,3,6,and 7 and put 0 for even no of 1s in this
group
• Bit P3 checks bit position 4,5,6 and7 and put 1 for even no of 1s in this
group
Bit Designation P1 P2 MI P3 M2 M3 M4
Bit position 1 2 3 4 5 6 7
Binary position no 001 010 011 100 101 110 111
Information bit
1 0 0 1
Parity bit
0 0 1
Q-2 Determine the single error correcting code for the
information code 10110 for odd parity.
• Sol:---- Step-1 Find the no of parity bit required :-- that is = 5
• Step-2 Construct a bit position table,and enter the information
bits.Parity bits are determined in the following steps.
Bit Designation P1 P2 MI P3 M2 M3 M4 P4 M5
Bit position 1 2 3 4 5 6 7 8 9
Binary position 0001 0010 0011 0100 0101 0110 0111 1000 1001
no
Information bit
1 0 1 1 0
Parity bit
• Step-3:Determine the parity bit as follows
• Bit P1 checks bit position 1,3,5 ,7and 9 and put 1 for an odd no. of 1s in this group.
• Bit P2 checks bit position 2,3,6,and 7 and put 0 for odd no of 1s in this group
• Bit P3 checks bit position 4,5,6 and7 and put 1 for odd no of 1s in this group.
• Bit P4 checks bit position 8 and 9 and must be 1 for there to be an odd no of 1s in
the group
Bit Designation P1 P2 MI P3 M2 M3 M4 P4 M5
Bit position 1 2 3 4 5 6 7 8 9
Binary position 0001 0010 0011 0100 0101 0110 0111 1000 1001
no
Information bit
1 0 1 1 0
Parity bit
1 0 1 1
• Q-3 Assume that the code word in (0011001) is transmitted and
0010001 is received. Receiver does not know what is transmitted
and must look for proper parities to determine if the code is correct.
Designate any error that has occurred in transmission if even parity
is used.
Bit Designation P1 P2 MI P3 M2 M3 M4
Bit position 1 2 3 4 5 6 7
Binary position no 001 010 011 100 101 110 111
Received code
0 0 1 0 0 0 1
• First parity check
• P1 for position1,3,5,7
• Parity check is good-------------------0(LSB)
• Second parity check
• P2 for position2,3,6,7
• Parity check is good-------------------0
• Third parity check
• P3 for position4,5,6,7
• Parity check is bad-------------------1(MSB)
• RESULT: The error position code is
100.This says that bit in position 4 is in
error.It is a zero and should be 1.The
corrected code is 0011001,which agrees
with the transmitted code.
• The code 101101010 is received.Correct any
errors.There are four parity bits,and odd parity is used.
Bit P1 P2 MI P3 M2 M3 M4 P4 M5
Designation
Bit position 1 2 3 4 5 6 7 8 9
Information
bit
1 0 1 0 0
Parity bit
1 0 1 1
• First parity check
• P1 for position1,3,5,7 and 9
• Parity check is bad-------------------1(LSB)
• Second parity check
• P2 for position 2,3,6,7
• Parity check is bad-------------------1
• Third parity check
• P3 for position 4,5,6,7
• Parity check is bad-------------------1
• Fourth parity check:
• Bit 4 checks positions 8 and 9.
• Parity check is good-------------------0(MSB)
• RESULT:
• The error position code is 0111.This says that the bit in position 7 is in
error.The corrected code is therefore 101101110
Bit Designation P1 P2 MI P3 M2 M3 M4
Bit position 1 2 3 4 5 6 7
Information bit
Parity bit