Cyclic Codes For Error Detection
Cyclic Codes For Error Detection
by
Maheshwar R Geereddy
1
Definition
2
Notations
n k
3
b = length of a burst of errors.
G (X) = message polynomial
P (X) = generator polynomial
R (X) = remainder on dividing X n-k G (X) by P(X).
F (X) = encoded message polynomial
E (X) = error polynomial
4
Polynomial Representation of Binary
Information
5
Algebraic Description of Cyclic Codes
6
Encoded Message Polynomial F(X)
• Computer X n – k G (X)
• R(X) = X n – k G (X) / P(X)
• Add the remainder to the X n – k G (X)
– F(X) = X n – k G (X) + R(X)
7
Principles of Error Detection and Error
Correction
• An encoded message containing errors can be represented
by
H (X) = F (X) + E (X)
8
Principles of Error Detection and Error
Correction Contd…
9
DETECTION OF SINGLE ERRORS
10
DETECTION OF SINGLE ERRORS
Contd….
11
Double and Triple Error Detecting Codes
(Hamming Codes)
• Theorem 3: A code generated by the polynomial P(X)
detects all single and double errors if the length n of the
code is no greater than the exponent e to which P(X)
belongs.
– Detecting double errors requires that P(X) does not divisible by
X i + X j for any i, j < n
12
Double and Triple Error Detecting Codes
Contd…
• Theorem 4: A code generated by P (X) = (1 + X) P1(X)
detects all single, double, and triple errors if the length n of
the code is no greater than the exponent e to which P1(X)
belongs.
– Single and triple errors are detected by presence of factor 1 + X as
proved in Theorem 2.
– Double errors are detected because P1(X) belong to the exponent
e >= n as proved in Theorem 3
– Q.E.D
13
Detection of a Burst-Error
14
Detection of a Burst-Error Contd…
15
Theorem 5 Contd…
• There fore P(X) is of higher degree than E1(X) which implies that P(X)
could not divide E1(X)
• Q.E.D
16
Detection of a Burst-Error Contd…
17
Detection of Two Bursts of Errors (Abram
son and Fire Codes)
• Theorem 7: The cyclic code generated by P (X) = (1 + X) P1 (X)
detects any combination of two burst-errors of length two or less if the
length of the code, n, is no go greater than e, the exponent to which P1
(X) belongs.
– Proof
– There are four types of error patterns
• E(X) = X i + X j
• E(X) = (X i + Xi+1) + X j
• E(X) = X j (X j + Xj+1)
• E(X) = (X i + Xi+1) + (X j + Xj+1)
18
Other Cyclic Codes
19
Implementation
20
Implementation Contd…
22
Implementation Contd…
23
24
Input 100010001101011
0 -> 10 00 1
0 -> 11 10 1
0 -> 11 01 1
1 -> 11 00 0
1 -> 11 10 0
0 -> 11 11 0
1 -> 01 11 1
0 -> 00 01 0
1 -> 00 00 1
1 -> 00 10 1
25
26
27
Implementation Contd…
28
Implementation Contd…
29
Conclusion
30
Reference:
31
32