BCH codes have been invented by Bose, Chaudhuri and Hocquenghem. They are used in communication systems for error correction. Similarly to Hamming codes, they are able to detect a certain number of errors and to correct a smaller quantity of them.
These codes are often implemented in addition to convolutional codes.
A BCH code is specified by:
n: total code length
k: information data length
m: parity bits number
G: the generator polynomial
The coded BCH data is often filled with '0' bits up to a length which is a multiple of 8, thus allowing to be transmitted as bytes.
The parity bits are created with the help of a Linear Feedback Shift Register (LFSR).
The following picture shows a BCH encoder with 7 code bits :
The following picture shows the decoder for the previous encoder :