MT BCH Encoder VI

LabView Digital Modulation

MT BCH Encoder VI

Generates a Bose-Chaudhari-Hocquenghem (BCH)-encoded bit stream. The BCH encoding algorithm produces the BCH code word using a systematic encoding scheme. User-specified values of n, k, and t define the code word length, data word length and error correcting capacity, respectively, in bits. You can choose between well-known (n, k, t) combinations or specify custom (n, k, t) values. The encoding scheme takes in a bit data word of k bits and produces a code word of n bits.

Details

MT BCH Encoder

c1di8.gif

input bit stream specifies the bit sequence representing the data bits to encode. Use the MT Generate Bits (poly) VI to produce this bit stream or wire a custom data bit stream to this parameter.

Tip  To ensure that the output bit stream returned by the BCH encoder corresponds to the entire input bit stream, specify an input bit stream with an integer length that is a multiple of the data word length k. If the length of the input bit stream is not an integer multiple of k, the last {length(input bit stream) modulo k} bits are buffered in the encoder. These bits are added to the beginning of the incoming bit stream during the beginning of the next iteration if reset? is set to FALSE.
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 encoder. 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 also clears any buffered bits from previous iterations. When reset? is set to FALSE, the VI continues performing BCH encoding 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 encoding. 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. When the Galois field structure is initialized, this same field structure is used for performing the BCH encoding 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 encoder, NI recommends you perform BCH encoding 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(65,536), so you can specify BCH code word lengths up to 65,535. You can specify code word lengths up to 65,535 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.

Values of standard (n,k,t) triples are defined in Wicker, Stephen B. Error Control Systems for Digital Communications and Storage. Englewood Cliffs: Prentice-Hall, 1995.