MT BCH Decoder VI

LabView Digital Modulation

MT BCH Decoder VI

Performs decoding on a Bose-Chaudhari-Hocquenghem (BCH)-encoded bit stream using the Berlekamp algorithm for binary BCH codes. The input values of n, k, and t define the code word length, data word length and error correcting capacity, respectively, in bits. The VI provides a set of common combinations of (n,k,t).

Details

MT BCH Decoder

c1di8.gif

input bit stream specifies the bit sequence representing the code word to decode. You can use the MT BCH Encoder VI to generate the encoded bit stream. The default is empty.

cstr.gif

n,k,t specifies the values of n, k, and t that define the code word length, data word length, and error-correcting capacity, respectively, 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 default is 7, 4, 1.

cbool.gif

reset? specifies whether to clear the internal state of the decoder. By default, the VI resets on first call. When reset? is set to TRUE, the VI initializes the Galois field structure corresponding to the BCH (n,k,t) values. The VI clears any buffered bits from previous iterations. When reset? is set to FALSE, the VI continues performing BCH decoding from the previous iteration. Any buffered bits from the previous iteration are added to the beginning of the input bit stream prior to performing BCH decoding. The default is TRUE.

Tip   When reset? is set to TRUE, the VI initializes the Galois field structure corresponding to the user-specified (n,k,t) combination. Once initialized, this same Galois field structure is used for performing the BCH decoding provided reset? is set to FALSE. This initialization may consume significant amounts of time for values of n greater than 127. Therefore, to get the best performance from the BCH decoder, NI recommends you perform BCH decoding with reset? set to TRUE for the first iteration, and set to FALSE thereafter.
ccclst.gif

error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

cbool.gif

status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ci32.gif

code identifies the error or warning code. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

cstr.gif

source describes the origin of the error or warning. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

i1di8.gif

output bit stream returns the decoded bit stream.

icclst.gif

error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ibool.gif

status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ii32.gif

code is the error or warning code. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

istr.gif

source describes the origin of the error or warning. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

Details

The prepopulated (n, k, t) parameter contains all valid codes for values of n up to 511. However, the Modulation Toolkit supports BCH encoding and decoding up to Galois field sizes of GF(65536), so you can specify BCH code word lengths up to 65535. Do so by entering valid values of the code word length (n), data word length (k) and error correction capacity (t) separated by commas inside the string combo box.

Note  Not all (n, k, t) combinations specify valid BCH codes. The BCH encoder/decoder VIs perform validation for values of the code-word length (n). If n is not of the form 2m–1, the VI returns an error. The only validation criterion for the data-word length (k) and error-correcting capacity (t) is that they should be positive integers strictly lesser than n. The Modulation Toolkit does not guarantee specifications of BCH (n,k,t) values that satisfy the above criterion, but are not valid BCH codes.

For details on the Berlekamp's algorithm for binary BCH decoding, refer to the following sources:

Lin, S. and DJ Costello, Jr. Error Control Coding: Fundamentals and Applications. Englewood Cliffs: Prentice-Hall, 1983.

Wicker, Stephen B. Error Control Systems for Digital Communications and Storage. Englewood Cliffs: Prentice-Hall, 1995.