Version:

Last Modified: February 7, 2018

Decodes a code word available as a polynomial product of the data word and the generator polynomials. Performs decoding on a Bose-Chaudhari-Hocquenghem (BCH) encoded bit stream using the Berlekamp algorithm for binary BCH codes.

Values of the code word length (*n*), data word length (*k*), and error correcting capacity (*t*), in bits. The *n, k*, and *t* values for BCH encoding are interrelated such that specifying two values constrains the third value. Select from a set of well-known (*n,k,t*) triples that are widely used for BCH encoding or specify an arbitrary triple by entering three comma-separated integers. The encoding scheme takes in a bit data word of k bits and produces a code word of n bits.

Code Word Length Limits

**Default: **7, 4, 1

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

A Boolean that determines whether the internal state of the decoder is cleared.

TRUE | Clears any buffered bits from previous iterations. Also initializes the Galois field structure corresponding to the BCH n, k, t values. |

FALSE | Continues decoding from the previous iteration. Any buffered bits from the previous iteration are added to the beginning of the input bit stream prior to decoding. |

The initialization of the Galois field structure may consume significant amounts of time for code word lengths greater than 127. Once initialized, the same Galois field structure is used in every iteration thereafter, provided **reset?** is FALSE. To improve the performance of this node, set **reset?** to TRUE for the first iteration and FALSE thereafter.

**Default: **TRUE

Bit sequence decoded by this node.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application