Chapter-10
Error Detection and Correction
Prepared by-
Shyla Afroge & S. M. Mahedy Hasan
Assistant Professor, Dept. of CSE
RUET, Rajshahi-6204, Bangladesh
❖Data are transmitted in the network.
❖Data can be corrupted during transmission.
❖This is called transmission error.
Error
❖For reliable communications, errors must be detected and
corrected.
Types of 1. Bit Error
Errors 2. Burst Error
❖Error detection means to decide whether the received data is
correct or not without having a copy of the original message.
❖To detect or correct errors, we need to send extra (redundant) bits
How To with data.
Detect Errors?
❖These extra bits are called redundant bits.
❖In a single-bit error, only 1 bit in the data unit has changed.
Bit Error
❖A burst error means that 2 or more bits in the data unit have
changed.
Burst Error
❖ It can be handled in two ways:
1. Forward error correction is the process in which the receiver tries to guess
the message by using redundant bits.
Error 2. Correction by retransmission is a technique in which the receiver detects
Correction the occurrence of an error and asks the sender to resend the message.
❖The sender adds redundant bits through a process that creates a
relationship between the redundant bits and the actual data bits.
❖The receiver checks the relationships between the two sets of bits to
detect or correct the errors.
Coding
❖ There are five error detection techniques:
1. Vertical Redundancy Check (VRC)
Error 2. Longitudinal Redundancy Check (LRC)
Detection 3. Checksum
Techniques 4. Cyclic Redundancy Check(CRC)
5. Two Dimensional Parity Check
❖ It is also known as parity check.
Sender
1010010
Transmitted Receiver
Vertical 1 1010010
1 1010010
Redundancy Even Parity
Generator
Check (VRC)
1
❖ It can detect single bit error.
❖It can detect burst error if the number or errors are odd.
Performance
Sender 1 10110 Transmission error 1 11110 Receiver rejects data
of VRC
Sender 1 10110Transmission error 1 11100 Receiver accepts data
❖ A block of bit is divided into rows and columns.
❖ It is known as two dimensional parity check.
❖ The parity bit is calculated for each column and sent along with the data.
❖ The block of parity acts as the redundant bits.
❖ 11001 00110 11110 00010 00001 10100 11111
Longitudinal
1 1 0 0 1
Redundancy 0 0 1 1 0
Check (LRC) 1 1 1 1 0
0 0 0 1 0
1 0 1 0 0
1 1 1 1 1
0 1 0 0 0
01000 11111 10100 00010 11110 00110 11001
❖ If two bits of in one data units are damaged and two bits in exactly
the same positions in another unit are also damaged, the LRC will
not detect any error.
Performance 1 1 0 0 1
0 0 1 1 0
of LRC
1 1->0 1 1 0
0 0->1 0 1 0
1 0 1 0 0
1 1 1 1 1
0 1 0 0 0
✔ Checksum = Check + Sum
✔Sender side → Checksum creation
Checksum
✔Receiver side → Checksum validation
❑ Checksum Sender Side
✔Break the original message into ‘k’ number of blocks with ‘n’ bits in
each block.
Checksum
✔Sum all the ‘k’ data blocks.
✔Add the carry to the sum, if any.
✔Do 1’s complement to the sum 🡪 checksum
Original Message: 10011001111000100010010010000100
10011001 11100010 00100100 10000100
1 0 0 1 1 0 0 1
1 1 1 0 0 0 1 0
0 0 1 0 0 1 0 0
Checksum 1 0 0 0 0 1 0 0
Carry 1 0 Sum 0 0 1 0 0 0 1 1
1 0
Sum 0 0 1 0 0 1 0 1
Checksum(1’s complement) 1 1 0 1 1 0 1 0
Transmitted Message: Checksum Original message
11011010 10011001 11100010 00100100 10000100
❑ Checksum Receiver Side
✔Collect all the data blocks including the checksum.
Checksum
✔Sum all the data blocks and the checksum.
✔If the result is all 1’s accept; else reject.
Received Message
11011010 10011001 11100010 00100100 10000100
1 0 0 1 1 0 0 1
1 1 1 0 0 0 1 0
0 0 1 0 0 1 0 0
Checksum 1 0 0 0 0 1 0 0
1 1 0 1 1 0 1 0
Carry 1 0 Sum 1 1 1 1 1 1 0 1
1 0
Sum 1 1 1 1 1 1 1 1
✔It can check both the single bit and burst errors (if the error causes
a change in the final sum).
Performance
✔If one more bits of a segment are damaged and the corresponding
of Checksum bit or bits value in a second segment are also damaged, the sum of
those columns will not change and the receiver will not detect the
errors.
Steps of CRC operation at sender side:
Cyclic 1. Find the length of the divisor ‘L’.
Redundancy 2. Append ‘L-1’ bits (0’s) to the original message.
Check (CRC)
3. Perform binary division operation.
4. Remainder of the division = CRC.
Cyclic
Redundancy
Check (CRC)
Cyclic
Redundancy
Check (CRC)
Two
Dimensional
Parity Check
Two
Dimensional
Parity Check
Two
Dimensional
Parity Check
Thank You ☺