You are on page 1of 45

Error Detection and Correction

Prof. Choong Seon HONG

Kyung Hee University

9 Error Detection and Correction


9.1 Types of Errors 9.2 Detection 9.3 Error Correction

Kyung Hee University

Error Detection and Correction


Data can be corrupted during transmission. For reliable communication, error must be detected and corrected

are implemented either at the data link layer or the transport layer of the OSI model

Kyung Hee University

9.1 Type of Errors

Kyung Hee University

Type of Errors(contd)
Single-Bit Error ~ is when only one bit in the data unit has changed ASCII STX - ASCII LF) (ex :

Kyung Hee University

Type of Errors(contd)
Multiple-Bit Error ~ is when two or more nonconsecutive bits in the data unit have changed(ex : ASCII B - ASCII LF)

Kyung Hee University

Type of Errors(contd)
Burst Error ~ means that two or more consecutive bits in the data unit have changed

Kyung Hee University

9.2 Detection
Error detection uses the concept of redundancy, which means adding extra bits for detecting errors at the destination

Kyung Hee University

Detection(contd)
Redundancy

Kyung Hee University

Detection(contd)
Detection methods
VRC(Vertical Redundancy Check)

LRC(Longitudinal Redundancy)
CRC(Cyclical redundancy Check) Checksum

Kyung Hee University

10

Detection(contd)
VRC(Vertical Redundancy Check)
A parity bit is added to every data unit so that the total number of 1s(including the parity bit) becomes even for even-parity check or odd for odd-parity check VRC can detect all single-bit errors. It can detect multiplebit or burst errors only the total number of errors is odd.

Kyung Hee University

11

Detection(contd)
Even parity VRC concept

Kyung Hee University

12

Contoh VRC
Transmiter

1110111 w 11101110
6

1101111 o 11011110
6

1110010 r

1101100 1100100 l d

11100100
4

11011000 11001001
4 4

Data ditransmisikan

Receiver
11111110
7

11011110
6

11101100
5

11011000 11001001
4 4

Data error
Kyung Hee University

13

Detection(contd)
LRC(Longitudinal Redundancy Check)
Parity bits of all the positions are assembled into a new data unit, which is added to the end of the data block

Kyung Hee University

14

Detection(contd)
CRC(Cyclic Redundancy Check) ~ is based on binary division.

Kyung Hee University

15

Detection(contd)
CRC generator
~ uses modular-2 division.

Binary Division in a CRC Generator

Kyung Hee University

16

Detection(contd)
Binary Division in a CRC Checker

Kyung Hee University

17

Detection(contd)
Polynomials
CRC generator(divisor) is most often represented not as a string of 1s and 0s, but as an algebraic polynomial.

Kyung Hee University

18

Detection(contd)
A polynomial representing a divisor

Kyung Hee University

19

Detection(contd)
Standard polynomials

Kyung Hee University

20

Detection(contd)
Checksum ~ used by the higher layer protocols ~ is based on the concept of redundancy(VRC, LRC, CRC .)

Kyung Hee University

21

Detection(contd)
Checksum Generator

Kyung Hee University

22

4+9=13 13-9=4 4-4=0

Kyung Hee University

23

Detection(contd)
To create the checksum the sender does the following:
The unit is divided into K sections, each of n bits.

Section 1 and 2 are added together using ones complement.


Section 3 is added to the result of the previous step.

Section 4 is added to the result of the previous step.


The process repeats until section k is added to the result of the previous step. The final result is complemented to make the checksum.

Kyung Hee University

24

Detection(contd)
data unit and checksum

Kyung Hee University

25

Detection(contd)

Kyung Hee University

26

9.3 Error Correction


~ can be handled in two ways

when an error is discovered, the receiver can have the sender retransmit the entire data unit.

a receiver can use an error-correcting code, which automatically corrects certain errors.

Kyung Hee University

27

Error Correction(contd)
Single-Bit Error Correction
parity bit

The secret of error correction is to locate the invalid bit or bits


For ASCII code, it needs a three-bit redundancy code(000-111)

Kyung Hee University

28

Error Correction(contd)
Redundancy Bits ~ to calculate the number of redundancy bits (R) required to correct a given number of data bit (M)

Kyung Hee University

29

Error Correction(contd)
If the total number of bits in a transmittable unit is m+r, then r must be able to indicate at least m+r+1 different states 2 m+r+1
r

ex) For value of m is 7(ASCII) , the smallest r value that can satisfy this equation is 4

24 7 + 4 + 1

Kyung Hee University

30

Error Correction(contd)
Relationship between data and redundancy bits
Number of Data Bits (m)

Number of Redundancy Bits (r)

Total Bits (m+r)

1 2 3 4 5 6 7

2 3 3 3 4 4 4

3 5 6 7 9 10 11

Kyung Hee University

31

Error Correction(contd)
Hamming Code ~ developed by R.W.Hamming positions of redundancy bits in Hamming code

Kyung Hee University

32

Error Correction(contd)
each r bit is the VRC bit for one combination of data bits
r1 = bits 1, 3, 5, 7, 9, 11
r2 = bits 2, 3, 6, 7, 10, 11 r4 = bits 4, 5, 6, 7

r8 = bits 8, 9, 10, 11

Kyung Hee University

33

Error Correction(contd)
Redundancy bits calculation(contd)

Kyung Hee University

34

Error Correction(contd)
Redundancy bits calculation

Kyung Hee University

35

Error Correction(contd)
Calculating the r values

Calculating Even Parity

Kyung Hee University

36

Error Correction(contd)
Error Detection and Correction

Kyung Hee University

37

Error Correction(contd)
Error detection using Hamming Code

Kyung Hee University

38

Error Correction(contd)
Multiple-Bit Error Correction
redundancy bits calculated on overlapping sets of data units can also be used to correct multiple-bit errors. Ex) to correct double-bit errors, we must take into consideration that two bits can be a combination of any two bits in the entire sequence

Kyung Hee University

39

Soal
Diketahui 3 buah data 1. 0011001 2. 0001100 3. 0110011

Ditanya:
Berapa data yang akan dikirimkan jika menggunakan metode deteksi kesalahan parity ganjil 1.VRC
Kyung Hee University

2.LRC

3.Checksum

40

Jawaban
Data yang dikirimkan dg metode VRC Ganjil ( 1) 00110010 Cara LRC (2) 00011001 (3) 01100111
0011001 0001100 0110011 1011001 (1) (2) (3) (LRC)

Data Yang dikirimkan dg metode LRC Ganjil

(1)
0011001
Kyung Hee University

(2)
0001100

(3)
0110011

(LRC)
1011001
41

Checksum
Sender
0011001 (1) 0001100 (2) 0110011 (3) 1011000 ( sum) 0100111 (Checksum)

Data yang dikirimkan dengan metode Checksum (1) (2) (3)

(Checksum)

0011001

0001100

0110011
0011001 0001100 0110011 0100111 1111111 0000000 (1) (2) (3) (Checksum) ( sum) (Benar)

0100111

Receiver

Kyung Hee University

42

Soal CRC
1)Diketahui data 111011001

Pembagi 1011 (Soal absen Ganjil) 11011 (absen Genap) 2) Diketahui data X7+X6+X5+X+1 Pembagi X2+x+1 Berapa data yang akan dikirimkan jika menggunakan metode deteksi kesalahan CRC

Kyung Hee University

43

Jawaban Soal Ganjil


CRC Generator

CRC Checker

Kyung Hee University

Data Yang dikirim 111011001110 Data CRC


44

Soal No 2
CRC Generator

Kyung Hee University

45