MT Reed Solomon Symbol Decode VI

LabView Digital Modulation

MT Reed Solomon Symbol Decode VI

Decodes a normal or shortened Reed-Solomon (RS) encoded integer symbol stream.

Reed-Solomon codes are specialized Bose-Chaudhari-Hocquenghem (BCH) codes in which the code elements are drawn from the Galois field GF(2m). Reed-Solomon codes are extremely powerful at burst error correction. The operations involving Reed-Solomon encoding and decoding are performed in the GF(2m), meaning that the Reed-Solomon decoder operates on code words that are symbols/groups of bits. As such, the input parameters code word length (n) and data word length (k) are specified in terms of symbols. Each symbol represents a group of Log2(n+1) bits.

Use the pull-down menu to select an instance of this VI.

Details

MT RS Symbol Decoder (normal)

This polymorphic instance decodes a Reed-Solomon encoded symbol stream in normal format. The normal Reed-Solomon (n,k,t) code consists of values of n of the form n=2m–1, where valid values of m lie in the range 2 ≤ m≤ 16.

For example, specify n=255, k=233 to produce a Reed-Solomon (255,233,11) code. This code has an error-correcting capacity of 11 Reed-Solomon symbols.

MT RS Symbol Decoder (normal)

c1di32.gif

input symbols specifies the array of integer symbols to be decoded using the Reed-Solomon decoding scheme. Use the MT Reed-Solomon Symbol Encoder (normal) VI to generate the integer symbols required for this control. The default is empty.

Note  The Reed-Solomon decoder is a block decoder, meaning that it operates on a block of n integers. To ensure that the output symbols stream corresponds to the entire input symbols array, specify an input symbols stream with a length L that is an integer multiple of n symbols. If the length L is not a multiple of n symbols, the last (L modulo n) symbols are buffered inside the decoder. These symbols are prepended to the incoming input symbols stream at the beginning of the next iteration if reset? is set to FALSE.
ci32.gif

code word length (n), symbols specifies the length of the Reed-Solomon code word. Each Reed-Solomon symbol represents Log2(n+1) bits. The default is 7.

ci32.gif

data word length (k), symbols specifies the length of the Reed-Solomon data word. Each Reed-Solomon symbol represents Log2(n+1) bits. The default is 3.

crn.gif

modulation session specifies the modulation session refnum for configuring selected attributes of the Modulation Toolkit. Use this refnum to configure the advanced attributes in the MT Reed Solomon Symbol Encode VI. Initialize the session with the MT Open Session VI. After configuring the modulation session refnum with the appropriate attributes, wire the modulation session refnum into the RS Symbol Encoder VI. If the RS Symbol Encoder VI is called with an uninitialized modulation session refnum, the VI returns an error. The default is empty.

cbool.gif

reset? specifies whether to clear the internal state of the Reed-Solomon 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 Reed-Solomon (n,k) values. The VI clears any buffered data from previous iterations. When reset? is set to FALSE, the VI continues performing Reed-Solomon decoding from the previous iteration. Any buffered data from the previous iteration are prepended to the input symbols stream prior to decoding. The default is TRUE.

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.

i1di32.gif

output symbols returns the Reed-Solomon decoded integer symbol stream. Wire this parameter to the MT UnPack Bits VI to recover the message bits that comprise the transmitted message data.

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.

MT RS Symbol Decoder (shortened)

This polymorphic instance decodes a Reed-Solomon encoded integer symbol stream in shortened format.

Using shortened Reed-Solomon codes, the k and n values represent symbols. Each symbol has a length m bits, which is specified using the bits per RS symbol parameter. Specify a shortened RS code by specifying the shortened values of n and k, as well as the bits per symbol that correspond to the underlying Galois field arithmetic. For example, you can specify n=32, k=28, and bits per RS symbol=8, to generate a shortened Reed-Solomon (32,28,2) code with error-correcting capacity of 2 Reed-Solomon symbols. For this code, the underlying Galois field arithmetic is performed in GF(28)=256.

MT RS Symbol Decoder (shortened)

c1di32.gif

input symbols specifies the array of integer symbols to be decoded using the shortened Reed-Solomon decoding scheme. Use the MT Reed-Solomon Symbol Encoder (shortened) VI to generate the integer symbols required for input to this control. The default is empty.

Note   The shortened Reed-Solomon encoder is a block encoder, meaning that it operates on a block of n integers. To ensure that the output symbols stream corresponds to the entire input symbols array, specify an input symbols stream with a length L that is an integer multiple of n symbols. If the length L is not a multiple of n symbols, the last (L modulo n) symbols are buffered inside the encoder. These symbols are prepended to the incoming input symbols stream at the beginning of the next iteration if reset? is set to FALSE.
ci32.gif

code word length (n), symbols specifies the length of the Reed-Solomon code word. Each Reed-Solomon symbol represents Log2(n+1) bits. The default is 7.

ci32.gif

data word length (k), symbols specifies the length of the Reed-Solomon data word. Each Reed-Solomon symbol represents Log2(n+1) bits. The default is 3.

crn.gif

modulation session specifies the modulation session refnum for configuring selected attributes of the Modulation Toolkit. Use this refnum to configure the advanced attributes in the MT Reed Solomon Symbol Encode VI. Initialize the session with the MT Open Session VI. After configuring the modulation session refnum with the appropriate attributes, wire the modulation session refnum into the RS Symbol Encoder VI. If the RS Symbol Encoder VI is called with an uninitialized modulation session refnum, the VI returns an error. The default is empty.

ci32.gif

bits per RS symbol specifies the number of bits per RS symbol. This parameter specifies the Galois field over which the encoding operation is performed as GF(2bits per RS symbol). Valid values fall in the range 3–16 inclusive. For example, to specify a shortened Reed-Solomon (32,28) code in the Galois field GF(256), specify code word length (n) symbols as 32 symbols, code word length (k) symbols as 28 symbols, and bits per RS symbol as 8. The default is 3.

cbool.gif

reset? specifies whether to clear the internal state of the Reed-Solomon 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 Reed-Solomon (n,k) values. The VI clears any buffered data from previous iterations. When reset? is set to FALSE, the VI continues performing Reed-Solomon decoding from the previous iteration. Any buffered data from the previous iteration are prepended to the input symbols stream prior to decoding. The default is TRUE.

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.

i1di32.gif

output symbols returns the Reed-Solomon decoded integer symbol stream. Wire this parameter to the MT UnPack Bits VI to recover the message bits that comprise the transmitted message data.

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 values of (n,k) passed to the RS decoder are specified in terms of RS symbols, where n denotes the RS code word length (symbols) and k denotes the RS data word length (symbols). For decoding, you can choose either a normal RS code or a shortened RS code. Each normal RS-encoded symbol corresponds to Log2(n + 1) bits. Each shortened RS-encoded symbol corresponds to the number of bits specified in the bits per RS symbol parameter.

The following table relates RS code types to data and word lengths, where L is the number of shortening zeroes.

Code Type Bits per RS Symbol (m) Code Word Length (n) Data Word Length (k) Error-Correcting Capacity (t)
Reed-Solomon

(normal)

Log2(n + 1) 2m - 1 2m - 1 - 2t (n - k)/2
Reed-Solomon

(shortened)

user-specified 2m - 1 - L 2m - 1 - L - 2t (n - k)/2