Introduction to the Data Link Layer: Link layer addressing, Data Link Layer Design Issues, Error detection and correction, block coding, cyclic codes, checksum, forward error correction, error correcting codes, error detecting codes.
7. Error DetectionVs Correction
In coding theory, a block code is any member of the large and important
family of error-correcting codes that encode data in blocks.There is a
vast number of examples for block codes, many of which have a wide
range of practical applications.
Error detection is the detection of errors caused by noise or other
impairments during transmission from the transmitter to the receiver.
Error correction is the detection of errors and reconstruction of the
original, error-free data.
Block Coding
Forward error correction (FEC):The sender encodes the data using
an error-correcting code (ECC) prior to transmission.The additional
information (redundancy) added by the code is used by the receiver to
recover the original data.
Forward error correction Vs Backward error correction
10. Modular Arithmetic
When we divide two
integers we will have an
equation that looks like
the following:
Sometimes, we are only interested in what the remainder is when
we divide A by B.
For these cases there is an operator called the modulo operator
(abbreviated as mod).
11. For example, a clock with the 12 replaced by a 0 would be the
circle for a modulus of 12.
Modular Arithmetic
13. Error Detection: Example
Process of error detection in block coding
Let us assume that k = 2 and n = 3.Table 10.1 shows the list
of datawords and codewords.
15. Error Correction: Example
Let us add more redundant bits to Example 10.2 to see if the receiver can
correct an error without knowing what was actually sent.
We add 3 redundant bits to the 2-bit dataword to make 5-bit codeword.
Table 10.2 shows the datawords and codewords.
Assume the dataword is 01. The sender creates the codeword 01011.
The code word is corrupted during transmission, and 01001 is received.
First, the receiver finds that the received code word is not in the table.
This means an error has occurred.
The receiver, assuming that there is only 1 bit corrupted, uses the following
strategy to guess the correct dataword.