This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ve an error that we cannot detect (i.e., an erroneous
reception that we falsely identify as correct). Our goal is to ensure that this situation does
not happen for commonly occurring error patterns.
1. First, note that for single error patterns, e(x) = xi for some i. That means we must
ensure that g (x) has at least two terms.
2. Suppose we want to be able to detect all error patterns with two errors. That error
pattern may be written as xi + xj = xi (1 + xj −i ), for some i and j > i. If g (x) does
not divide this term, then the resulting CRC can detect all double errors.
3. Now suppose we want to detect all odd numbers of errors. If (1 + x) is a factor of
g (x), then g (x) must have an even number of terms. The reason is that any polynomial
with coefﬁcients in F2 of the form (1 + x)h(x) must evaluate to 0 when we set x to 1. If
we expand (1 + x)h(x), if the answer must be 0 when x = 1, the expansion must have
an even number of terms. Therefore, if we make 1 + x a factor of g (x), the resulting
CRC will be able to detect all error patterns with an odd number of errors. Note, however,
that the converse statement is not true: a CRC may be able to detect an odd number
of errors even when its g (x) is not a multiple of (1 + x). But all CRCs used in practice
do have (1 + x) as a factor because its the simplest way to achieve this goal.
4. Another guideline used by some CRC schemes in practice is the ability to detect
burst errors. Let us deﬁne a burst error pattern of length b as a sequence of bits
1εb−2 εb−3 . . . ε...
View
Full
Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
 Fall '13
 HariBalakrishnan

Click to edit the document details