|   | ECE4253 Digital Communications | 
| Department of Electrical and Computer Engineering - University of New Brunswick, Fredericton, NB, Canada | |
The mathematics of error control can be based on either a matrix or a polynomial approach. This page shows how any polynomial G(x) may be used to define an equivalent check matrix and generator matrix. Conversely, it is not always possible to find a polynomial G(x) corresponding to an arbitary generator matrix.
The generator polynomial G(x) can be up to degree p=36, and the input data size is limited to k=36 bits.
G(x) = x10+x9+x8+x6+x5+x3+1
(11101101001)
| DATA = 00 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| DATA = 01 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 
| DATA = 02 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 
| DATA = 03 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 
| DATA = 04 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 
| DATA = 05 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 
| DATA = 06 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 
| DATA = 07 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 
| DATA = 08 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 
| DATA = 09 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 
| DATA = 10 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 
| DATA = 11 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 
| DATA = 12 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 
| DATA = 13 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 
| DATA = 14 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 
| DATA = 15 : | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 
This sample subset of 31-bit codewords has a minimum distance D=5, correcting up to t=2 errors.
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | |
| 00 | -- | 07 | 08 | 07 | 08 | 07 | 08 | 07 | 05 | 08 | 07 | 10 | 09 | 08 | 07 | 06 | 
| 01 | 07 | -- | 07 | 08 | 07 | 08 | 07 | 08 | 08 | 05 | 10 | 07 | 08 | 09 | 06 | 07 | 
| 02 | 08 | 07 | -- | 07 | 08 | 07 | 08 | 07 | 07 | 10 | 05 | 08 | 07 | 06 | 09 | 08 | 
| 03 | 07 | 08 | 07 | -- | 07 | 08 | 07 | 08 | 10 | 07 | 08 | 05 | 06 | 07 | 08 | 09 | 
| 04 | 08 | 07 | 08 | 07 | -- | 07 | 08 | 07 | 09 | 08 | 07 | 06 | 05 | 08 | 07 | 10 | 
| 05 | 07 | 08 | 07 | 08 | 07 | -- | 07 | 08 | 08 | 09 | 06 | 07 | 08 | 05 | 10 | 07 | 
| 06 | 08 | 07 | 08 | 07 | 08 | 07 | -- | 07 | 07 | 06 | 09 | 08 | 07 | 10 | 05 | 08 | 
| 07 | 07 | 08 | 07 | 08 | 07 | 08 | 07 | -- | 06 | 07 | 08 | 09 | 10 | 07 | 08 | 05 | 
| 08 | 05 | 08 | 07 | 10 | 09 | 08 | 07 | 06 | -- | 07 | 08 | 07 | 08 | 07 | 08 | 07 | 
| 09 | 08 | 05 | 10 | 07 | 08 | 09 | 06 | 07 | 07 | -- | 07 | 08 | 07 | 08 | 07 | 08 | 
| 10 | 07 | 10 | 05 | 08 | 07 | 06 | 09 | 08 | 08 | 07 | -- | 07 | 08 | 07 | 08 | 07 | 
| 11 | 10 | 07 | 08 | 05 | 06 | 07 | 08 | 09 | 07 | 08 | 07 | -- | 07 | 08 | 07 | 08 | 
| 12 | 09 | 08 | 07 | 06 | 05 | 08 | 07 | 10 | 08 | 07 | 08 | 07 | -- | 07 | 08 | 07 | 
| 13 | 08 | 09 | 06 | 07 | 08 | 05 | 10 | 07 | 07 | 08 | 07 | 08 | 07 | -- | 07 | 08 | 
| 14 | 07 | 06 | 09 | 08 | 07 | 10 | 05 | 08 | 08 | 07 | 08 | 07 | 08 | 07 | -- | 07 | 
| 15 | 06 | 07 | 08 | 09 | 10 | 07 | 08 | 05 | 07 | 08 | 07 | 08 | 07 | 08 | 07 | -- | 
| 
 | ||||
(8,7) Simple Parity Bit (D=2) no error correction
(7,4) Hamming Code (D=3) single bit error correction
(15,11) Hamming Code (D=3) single bit error correction
(15,10) Extended Hamming Code (D=4) single bit error correction
(31,21) BCH Code (D=5) double bit error correction (notes)
(15,5) BCH Code (D=7) triple bit error correction (notes)
(23,12,7) Binary Golay Code (D=7) triple bit error correction
(35,27) Fire Code specialized 3-bit burst error correction
16-bit CRC (CCITT) commonly used for error detection (notes)
| 2025-10-31 19:54:49 ADT Last Updated: 2015-02-06 | Richard Tervo [ tervo@unb.ca ] | Back to the course homepage... |