Forward Error Correction

This section contains classes and functions for constructing forward error correction codes.

FEC classes

BCH(n, k[, primitive_poly, ...])

A primitive, narrow-sense binary \(\textrm{BCH}(n, k)\) code.

ReedSolomon(n, k[, c, primitive_poly, ...])

A general \(\textrm{RS}(n, k)\) code.

Linear block code functions


Converts the generator matrix \(\mathbf{G}\) of a linear \([n, k]\) code into its parity-check matrix \(\mathbf{H}\).


Converts the parity-check matrix \(\mathbf{H}\) of a linear \([n, k]\) code into its generator matrix \(\mathbf{G}\).

Cyclic code functions

bch_valid_codes(n[, t_min])

Returns a list of \((n, k, t)\) tuples of valid primitive binary BCH codes.

poly_to_generator_matrix(n, generator_poly)

Converts the generator polynomial \(g(x)\) into the generator matrix \(\mathbf{G}\) for an \([n, k]\) cyclic code.

roots_to_parity_check_matrix(n, roots)

Converts the generator polynomial roots into the parity-check matrix \(\mathbf{H}\) for an \([n, k]\) cyclic code.

Last update: May 18, 2022