UNB ECE4253 Digital Communications
Department of Electrical and Computer Engineering - University of New Brunswick, Fredericton, NB, Canada

Polynomial Code Generator Tool

Given a generator polynomial G(x) of degree p and a binary input data size k, this online tool creates and displays a generator matrix G, a check matrix H, and a demonstration of the resulting systematic codewords for this (n,k) code, where n=p+k. The nature of G(x) and the value of k will determine the utility of the codewords in a error control scheme.

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.


Polynomial G(x)

G(x) = x+1

(11)


Sample (8,7) Codewords  (cyclic)

DATA = 00 : 00000000
DATA = 01 : 00000011
DATA = 02 : 00000101
DATA = 03 : 00000110
DATA = 04 : 00001001
DATA = 05 : 00001010
DATA = 06 : 00001100
DATA = 07 : 00001111
DATA = 08 : 00010001
DATA = 09 : 00010010
DATA = 10 : 00010100
DATA = 11 : 00010111
DATA = 12 : 00011000
DATA = 13 : 00011011
DATA = 14 : 00011101
DATA = 15 : 00011110
more →


Distance Analysis

This sample subset of 8-bit codewords has a minimum distance D=2 and no error correction is possible. The codewords remain useful for single bit error detection.

 00010203040506070809101112131415
00--020202020202040202020402040404
0102--0202020204020202040204020404
020202--02020402020204020204040204
03020202--040202020402020204040402
0402020204--0202020204040402020204
050202040202--02020402040402020402
06020402020202--020404020402040202
0704020202020202--0404040204020202
080202020402040404--02020202020204
09020204020402040402--020202020402
1002040202040402040202--0202040202
110402020204040402020202--04020202
12020404040202020402020204--020202
1304020404020204020202040202--0202
140404020402040202020402020202--02
15040404020402020204020202020202--

This sampling of 16 codewords is not necessarily indicative of the error control performance of all 27 = 128 possible codewords.



Specify a new polynomial or a different number of data bits.

Model M20J GENERATOR POLYNOMIAL TOOL
Data Bits k =   G(x):

Discussion Codewords Generator Format
G = [Ik|P]
G = [P|Ik]
MATLAB Matrices

Examples

  1. (8,7) Simple Parity Bit (D=2) no error correction

  2. (7,4) Hamming Code (D=3) single bit error correction

  3. (15,11) Hamming Code (D=3) single bit error correction

  4. (15,10) Extended Hamming Code (D=4) single bit error correction

  5. (31,21) BCH Code (D=5) double bit error correction (notes)

  6. (15,5) BCH Code (D=7) triple bit error correction (notes)

  7. (23,12,7) Binary Golay Code (D=7) triple bit error correction

  8. (35,27) Fire Code specialized 3-bit burst error correction

  9. 16-bit CRC (CCITT) commonly used for error detection (notes)


2025-09-16 11:49:06 ADT
Last Updated: 2015-02-06
Richard Tervo [ tervo@unb.ca ] Back to the course homepage...