9-Error Detection and Correction
9-Error Detection and Correction
AND CORRECTION
Komunikasi Data
Objective
Mahasiswa mampu mengenali eror yang terjadi pada transmis
i asinkron, dan mendeteksinya dengan menggunakan bit parit
y.
Mahasiswa mampu mengenali eror yang terjadi pada transmis
i sinkron, dan eror dikoreksi dengan menggunakan LRC dan V
RC.
Mahasiswa dapat menjelaskan bagaimana mendeteksi eror pa
da transmisi sinkron dan dengan menggunakan checksum dan
CRC
Mahasiswa dapat menjelaskan bagaimana eror pada transmisi
sinkron dapat dikoreksi dengan menggunakan kode Hamming
Mahasiswa mampu menjelaskan bagaimana eror dapat dikore
ksi menggunakan ARQ (Automatic Repeat Request).
Error Detection and Correction
1 Types of Errors
2 Detection
3 Error Correction
Error Detection and Correction
Data can be corrupted during transmission. For r
eliable communication, error must be detected a
nd corrected
are implemented either at the data link layer or t
he transport layer of the OSI model
1. Type of Errors
Type of Errors(cont’d)
Single-Bit Error
~ is when only one bit in the data unit has chan
ged (ex : ASCII STX - ASCII LF)
Type of Errors(cont’d)
Multiple-Bit Error
~ is when two or more nonconsecutive bits in t
he data unit have changed(ex : ASCII B - ASCII L
F)
Type of Errors(cont’d)
Burst Error
~ means that two or more consecutive bits in t
he data unit have changed
2. Detection
Error detection uses the concept of redunda
ncy, which means adding extra bits for detect
ing errors at the destination
Detection(cont’d)
Redundancy
Detection(cont’d)
Detection methods
VRC (Vertical Redundancy Check)
LRC (Longitudinal Redundancy)
CRC (Cyclical redundancy Check)
Checksum
Detection(cont’d)
VRC(Vertical Redundancy Check)
A parity bit is added to every data unit so that the to
tal number of 1s(including the parity bit) becomes e
ven for even-parity check or odd for odd-parity chec
k
VRC can detect all single-bit errors. It can detect mul
tiple-bit or burst errors only the total number of erro
rs is odd.
Detection(cont’d)
Even parity VRC concept
Detection(cont’d)
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 d
ata block
Detection(cont’d)
CRC(Cyclic Redundancy Check)
~ is based on binary division.
Detection(cont’d)
CRC generator
~ uses modular-2 division.
Binary Division
in a
CRC Generator
Detection(cont’d)
Binary Division
in a
CRC Checker
Detection(cont’d)
Polynomials
CRC generator(divisor) is most often represented no
t as a string of 1s and 0s, but as an algebraic polyno
mial.
Detection(cont’d)
A polynomial representing a divisor
Detection(cont’d)
Standard polynomials
Detection(cont’d)
Checksum
~ used by the higher layer protocols
~ is based on the concept of redundancy(VRC, L
RC, CRC ….)
Detection(cont’d)
Checksum Generator
Detection(cont’d)
To create the checksum the sender does the foll
owing:
The unit is divided into K sections, each of n bits.
Section 1 and 2 are added together using one’s com
plement.
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 re
sult of the previous step.
The final result is complemented to make the checks
um.
Detection(cont’d)
data unit and checksum
Detection(cont’d)
3. Error Correction
~ can be handled in two ways