CRC (Cyclic Redundancy Check) codes are extended Hamming codes.
They are used to detect burst errors in communications systems of all kinds.
Their generator polynomial is
where
is a minimal polynomial of the primitive element
of
In other words, a primitive polynomial of degree m modulo 2. The parity check matrix is,
which has at least 3 independent columns, giving a minimum distance of
CRC codes are chosen so that
so that both parity bits and generator polynomial coefficients fit into one computer word.
Encoding and decoding easy and fast in
hardware linear feedback shift registers, since we can add modulo 2 using XOR
and multiply using AND while shifting bits circularly within a word.
The code blocklength is
and the number of parity bits is
where
We can pick one of the
primitive polynomials of degree m, subject to the conditions discussed below.
Some properties of CRC-CCITT are:
| Description | CRC-CCITT, a standard 16 bit CRC code. |
| Block Length | ![]() |
| Message Length | ![]() |
| Number of Parity Bits | ![]() |
| Error Locator Field | ![]() |
| Error Correction Ability | ![]() |
| Minimum Distance | ![]() |
| Generator Polynomial | ![]() |
| Random Error Detection Ability | ![]() |
Probability of Undetected Error, burst length
![]() |
![]() |
Probability of Undetected Error, burst length
![]() |
![]() |
Probability of Undetected Error, burst length
![]() |
![]() |
Copyright © 1986-2008 by Sean Erik O'Connor. All Rights Reserved. last updated 01 Jan 08.