Sessional 5
Sessional 5
Error correction :-Error correction is the process of detecting errors in transmitted messages and
reconstructing the original error-free data.
(i) Backward error correction: Once the error is discovered, the receiver requests the sender to
retransmit the entire data unit.
(ii) Forward error correction: In this case, the receiver uses the error-correcting code which
automatically corrects the errors.
For correcting the errors, one has to know the exact position of the error. For example, If we want to
calculate a single-bit error, the error correction code will determine which one of seven bits is in error.
To achieve this, we have to add some additional redundant bits.
Suppose r is the number of redundant bits and d is the total number of the data bits. The number of
redundant bits r can be calculated by using the formula
2r>=d+r+1
The value of r is calculated by using the above formula. For example, if the value of d is 4, then the
possible smallest value that satisfies the above relation would be 3.
To determine the position of the bit which is in error, a technique developed by R.W Hamming is
Hamming code which can be applied to any length of the data unit and uses the relationship between
data units and redundant units.
Hamming Code
Parity bits: The bit which is appended to the original data of binary bits so that the total number of 1s is
even or odd.
Even parity: To check for even parity, if the total number of 1s is even, then the value of the parity bit is
0. If the total number of 1s occurrences is odd, then the value of the parity bit is 1.
Odd Parity: To check for odd parity, if the total number of 1s is even, then the value of parity bit is 1. If
the total number of 1s is odd, then the value of parity bit is 0.
o At the receiving end, the parity bits are recalculated. The decimal value of the parity bits
determines the position of an error.
Relationship b/w Error position & binary number.
The number of redundant bits is 3. The three bits are represented by r1, r2, r4. The position of the
redundant bits is calculated with corresponds to the raised power of 2. Therefore, their corresponding
positions are 1, 21, 22.
1. The position of r1 = 1
2. The position of r2 = 2
3. The position of r4 = 4
The r1 bit is calculated by performing a parity check on the bit positions whose binary representation
includes 1 in the first position.
We observe from the above figure that the bit positions that includes 1 in the first position are 1, 3, 5, 7.
Now, we perform the even-parity check at these bit positions. The total number of 1 at these bit
positions corresponding to r1 is even, therefore, the value of the r1 bit is 0.
Determining r2 bit
The r2 bit is calculated by performing a parity check on the bit positions whose binary representation
includes 1 in the second position.
We observe from the above figure that the bit positions that includes 1 in the second position are 2, 3,
6, 7. Now, we perform the even-parity check at these bit positions. The total number of 1 at these bit
positions corresponding to r2 is odd, therefore, the value of the r2 bit is 1.
Determining r4 bit
The r4 bit is calculated by performing a parity check on the bit positions whose binary representation
includes 1 in the third position.
We observe from the above figure that the bit positions that includes 1 in the third position are 4, 5, 6,
7. Now, we perform the even-parity check at these bit positions. The total number of 1 at these bit
positions corresponding to r4 is even, therefore, the value of the r4 bit is 0.
R1 bit
We observe from the above figure that the binary representation of r1 is 1100. Now, we perform the
even-parity check, the total number of 1s appearing in the r1 bit is an even number. Therefore, the value
of r1 is 0.
R2 bit
We observe from the above figure that the binary representation of r2 is 1001. Now, we perform the
even-parity check, the total number of 1s appearing in the r2 bit is an even number. Therefore, the value
of r2 is 0.
R4 bit
We observe from the above figure that the binary representation of r4 is 1011. Now, we perform the
even-parity check, the total number of 1s appearing in the r4 bit is an odd number. Therefore, the value
of r4 is 1.
o The binary representation of redundant bits, i.e., r4r2r1 is 100, and its corresponding decimal
value is 4. Therefore, the error occurs in a 4th bit position. The bit value must be changed from 1
to 0 to correct the error.