8.3 Detection and Control of Errors
335
Example 8.8 The number of bits affected by a burst error depends on the data rate
and the duration of the noise burst. If a bit-corrupting burst noise lasts for 1 ms, then
10 bits are affected for a 10-kb/s data rate, whereas a 10,000-bit segment is damaged
for a 10-Mb/s rate.
8.3.2 Codes Used for Linear Error Detection
The single parity check code is one of the simplest error detection methods. This
code forms a code word from the combination of k information bits and a single
added check bit. If the k information bits contain an odd number of 1 bits, then the
check bit is set to 1; otherwise it is set to 0. This procedure ensures that the code
word has an even number of ones, which is called having an even parity. Hence the
check bit is called a parity bit. The single parity check code thus can detect when
an odd number of errors has occurred in a code word. However, if the received code
word contains an even number of errors, this method will fail to detect the errors.
The single parity check code is called a linear code because the parity bit b k+1 is
calculated as the modulo 2 sum of the k information bits, that is,
b k+1 = b 1 + b 2 + · · · + b k modulo 2
(8.28)
where b 1 , b 2 , …, b k are the information bits.
A more general linear code with stronger error detection capabilities is called a
binary linear code. This linear code adds n − k check bits to a group of k information
bits, thereby forming a code word consisting of n bits. Such a code is designated by
the notation (n, k). One example is the (7, 4) linear Hamming code in which the first
four bits of a code word are the information bits b 1 , b 2 , b 3 , b 4 and the next three bits
b 5 , b 6 , b 7 are check bits. Among the wide variety of Hamming codes, this particular
one can detect all single and double bit errors, but fails to detect some triple errors.
8.3.3 Error Detection with Polynomial Codes
Polynomial codes are used widely for error detection because these codes are easy to
implement using shift-register circuits. The term polynomial code comes from the fact
that the information symbols, the code words, and the error vector are represented
by polynomials with binary coefficients. Here, if a transmitted code word has n
bits, then the error vector is defined by (e 1 , e 2 , …, e n ), where, e j = 1 if an error
has occurred in the jth transmitted bit and e j = 0 otherwise. Because the encoding
process generates check bits by means of a process called a cyclic redundancy check
(CRC), a polynomial code also is known as a CRC code.
Précédent

- 354/654

Suivant