Error Detection and Correction: Author: Junian Triajianto (5108 100 038)
Error Detection and Correction: Author: Junian Triajianto (5108 100 038)
Error Detection and Correction: Author: Junian Triajianto (5108 100 038)
ERROR DETECTION
AND CORRECTION
What Kind of error?
DATA SENT
≠
DATA RECEIVED
DIFFERENT SOURCES
OF NOISE
Noise Sources
Spurious noises, which
often corrupt the signal
and can arise from
thermal noise, cross
talk, background
noise, impulse noise
(i.e. spikes), etc.
Attenuation
Attenuation occurs as the signal gradually
becomes less strong as the distance
over which it travels increases. This is due to
the dissipation of energy
Delay Distortion
Delay distortion arises as different parts of
the signal move faster than others
SOLUTION
Different Approaches
Error-correcting codes
Error-detecting codes
Error-Correcting Codes
often referred to as forward error
correction
useful when errors frequently
occur, as it does not require that
the data be retransmitted
Hamming Distance
An n-bit unit containing data and check bits
is often referred to as an n-bit codeword
the number of positions at which the
1111111
1101001
hamming distance: 3
Parity 1-bit Protection
add one extra bit of
information to each data item
Odd or Even? It’s up to you
Can Only handle 1-bit error.
How about 2-bits error? Never
mind.
Hamming Code
The bits that are powers of 2
(1, 2, 4, 8, 16, etc.) are check
bits
10011011 11110000
+11001010 -10100110
-------------- -------------
01010001 01010110
The algorithm for computing the
checksum
Let r be the degree of G(x). Append r zero bits to
the low-order end of the frame so it now contains m
+ r bits and corresponds to the polynomial xrM(x).
Divide the bit string corresponding to G(x) into the
bit string corresponding to xrM(x), using modulo 2
division.
Subtract the remainder (which is always r or fewer
bits) from the bit string corresponding to xrM(x)
using modulo 2 subtraction. The result is the
checksummed frame to be transmitted. Call its
polynomial T(x).
Calculation of the
polynomial code
checksum.
Upon receiving the check-summed frame, the receiver divides it by G(x):
Since T(x) / G(x) is always zero, the result is always E(x) / G(x).
The errors containing G(x) as a factor will slip by, all other errors will be caught.