MT QAM Feedforward Equalizer VI

LabView Digital Modulation

MT QAM Feedforward Equalizer VI

Applies adaptive feedforward software equalization using the least-mean-squared (LMS) algorithm to the demodulated input complex waveform. Use the Specify Coefficients instance of this polymorphic VI if the equalizer coefficients are already known or when the initial conditions for the equalizer coefficients must be specified. Use the Specify Length polymorphic instance when only the length of the feedforward equalizer (in symbols) must be specified.

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

Details

MT QAM Feedforward Equalizer (LMS) (Specify coefficients)

This polymorphic instance allows you to specify equalizer coefficients or their initial conditions.

MT QAM Feedforward Equalizer (LMS) (Specify coefficients)

ccclst.gif

input complex waveform specifies the modulated complex baseband waveform data.

cdbl.gif

t0 specifies the trigger (start) time of the Y array. The default is 0.0.

cdbl.gif

dt specifies the time interval between data points in the Y array. The default is 1.0.

c1dcdb.gif

Y specifies the complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

ccclst.gif

QAM system parameters specifies parameter values defining the QAM system. Wire the QAM system parameters cluster returned by the QAM (M) or QAM (Map) instance of the MT Generate System Parameters VI to this cluster.

ci32.gif

samples per symbol specifies an even, positive number of samples dedicated to each symbol. Multiply this value by the symbol rate to determine the sample rate. The default is 16.

c1dcdb.gif

symbol map specifies an ordered array that maps each Boolean symbol to its desired coordinates in the complex plane. The number of states in the array must be 2N, where N is the number of bits per symbol.

c1dcdb.gif

equalizer coefficients in specifies the filter coefficients for initializing the feedforward equalizer. The time span of this array (in symbols) is given by the following equation:

size of the equalizer coefficients in array / taps per symbol

For best performance and minimization of intersymbol interference, ensure that the time span (in symbols) of the equalizer coefficients filter is greater than the time span (in symbols) of the channel filter.

Note  
  • The equalizer coefficients in array must contain an odd number of elements.
  • The values specified here are utilized by the equalizer only when reset? is set to TRUE or when the first instance of this VI is called. Otherwise, the VI maintains an internal buffer of the equalizer coefficients resulting from completion of the previous call.
c1di8.gif

training bits specifies the binary-valued training bits that train the feedforward equalizer during the training phase when the reset? parameter is set to TRUE. This parameter is ignored when reset? is set to FALSE.

Note  
  • Ensure that the duration of training is long enough to allow the feedforward equalizer to converge before switching to a decision-directed adaptation.
  • When working with M-ary modulation schemes {M>2, or bits per symbol>1} in which symbols represent groups of bits, the specified training bits must start on a symbol boundary.
cnclst.gif

feedforward equalizer (LMS) parameters specifies the feedforward equalization parameters. Use this cluster to define the equalizer tap spacing (symbol spaced/fractionally spaced) and convergence rate during training and steady-state.

ci32.gif

taps per symbol specifies the tap-spacing of the equalizer coefficients array, relative to one symbol duration. For error-free operation, set this parameter value to be a factor of the samples per symbol parameter passed from the MT Generate System Parameters VI. The default is 1.

Note   The Modulation Toolkit uses two types of equalizers that are distinguished by their tap spacing: symbol-spaced or fractionally-spaced. A symbol-spaced (T-spaced) equalizer has

taps per symbol = 1 (unity),

which means that every tap of the equalization filter spans the time duration of one symbol.

A fractionally-spaced (T/N-spaced) equalizer has

taps per symbol > 1 (unity).

For example, a T/2-spaced equalizer has taps per symbol = 2, meaning that every two taps of the equalization filter span the time duration of one symbol.

cdbl.gif

delta (training) specifies the convergence parameter for feedforward equalization during the training phase. This value adapts the feedforward equalizer coefficients for the duration of the training period when reset? is set to TRUE. The default is 0.01.

cdbl.gif

delta (steady state) specifies the steady-state convergence parameter for adapting the equalizer coefficients during the decision-directed phase. Use this value for adapting the feedforward equalizer coefficients when reset? is set to FALSE. The default is 0.01.

cbool.gif

reset? specifies whether to continue feedforward equalization using the previous iteration states. The VI always resets on first call. Set reset? to TRUE to reset the internal state, restart, and train the equalizer. When reset? is set to FALSE, the VI continues equalization from the previous iteration. This VI assumes that the input complex waveform is phase-continuous with the previous iteration when reset? is FALSE. 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.

icclst.gif

output complex waveform returns the equalized oversampled waveform generated from the feedforward equalizer as a result of adaptation. This waveform consists of the oversampled data that are compensated for the channel impulse response with zero intersymbol interference. Wire this parameter to corresponding instance of the MT Measure Quadrature Impairments VI to make modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM).

idbl.gif

t0 returns the trigger (start) time of the Y array.

idbl.gif

dt returns the time interval between data points in the Y array.

i1dcdb.gif

Y returns the complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

i1ddbl.gif

error returns the instantaneous per symbol error in the output of the adaptive feedforward equalizer filter.

i1dcdb.gif

equalizer coefficients out returns the adaptive feedforward equalizer filter coefficients when equalization is complete for the current iteration.

i1di8.gif

output bit stream returns the recovered bit stream generated from the adaptive feedforward equalizer. The recovered bit stream is phase-aligned with the output complex waveform at the equalizer output. Wire this parameter to the MT Measure Quadrature Impairments VI for performing modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM), or to the MT Calculate BER after Trigger VI for making BER measurements.

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 QAM Feedforward Equalizer (LMS) (Specify length)

This polymorphic instance allows you to specify the length of the feedforward equalizer in symbols.

MT QAM Feedforward Equalizer (LMS) (Specify length)

ccclst.gif

input complex waveform specifies the modulated complex baseband waveform data.

cdbl.gif

t0 specifies the trigger (start) time of the Y array. The default is 0.0.

cdbl.gif

dt specifies the time interval between data points in the Y array. The default is 1.0.

c1dcdb.gif

Y specifies the complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

ccclst.gif

QAM system parameters specifies parameter values defining the QAM system. Wire the QAM system parameters cluster returned by the QAM (M) or QAM (Map) instance of the MT Generate System Parameters VI to this cluster.

ci32.gif

samples per symbol specifies an even, positive number of samples dedicated to each symbol. Multiply this value by the symbol rate to determine the sample rate. The default is 16.

c1dcdb.gif

symbol map specifies an ordered array that maps each Boolean symbol to its desired coordinates in the complex plane. The number of states in the array must be 2N, where N is the number of bits per symbol.

ci32.gif

equalizer length specifies the duration of the feedforward equalizer filter in symbols.

Note  The actual length of the feedforward equalizer is given by the following equation:

N = equalizer length (symbols) × samples per symbol + 1

When reset? is set to TRUE, use this parameter to create the N-tap feedforward equalizer with default initial conditions. The default feedforward equalizer coefficients are thereby specified by the Dirac delta impulse response:

, n = 0 .. N-1

when reset? is set to TRUE.

c1di8.gif

training bits specifies the binary-valued training bits that train the feedforward equalizer during the training phase when the reset? parameter is set to TRUE. This parameter is ignored when reset? is set to FALSE.

Note  
  • Ensure that the duration of training is long enough to allow the feedforward equalizer to converge before switching to a decision-directed adaptation.
  • When working with M-ary modulation schemes {M>2, or bits per symbol>1} in which symbols represent groups of bits, the specified training bits must start on a symbol boundary.
cnclst.gif

feedforward equalizer (LMS) parameters specifies the feedforward equalization parameters. Use this cluster to define the equalizer tap spacing (symbol spaced/fractionally spaced) and convergence rate during training and steady-state.

ci32.gif

taps per symbol specifies the tap-spacing of the equalizer coefficients array, relative to one symbol duration. For error-free operation, set this parameter value to be a factor of the samples per symbol parameter passed from the MT Generate System Parameters VI. The default is 1.

Note   The Modulation Toolkit uses two types of equalizers that are distinguished by their tap spacing: symbol-spaced or fractionally-spaced. A symbol-spaced (T-spaced) equalizer has

taps per symbol = 1 (unity),

which means that every tap of the equalization filter spans the time duration of one symbol.

A fractionally-spaced (T/N-spaced) equalizer has

taps per symbol > 1 (unity).

For example, a T/2-spaced equalizer has taps per symbol = 2, meaning that every two taps of the equalization filter span the time duration of one symbol.

cdbl.gif

delta (training) specifies the convergence parameter for feedforward equalization during the training phase. This value adapts the feedforward equalizer coefficients for the duration of the training period when reset? is set to TRUE. The default is 0.01.

cdbl.gif

delta (steady state) specifies the steady-state convergence parameter for adapting the equalizer coefficients during the decision-directed phase. Use this value for adapting the feedforward equalizer coefficients when reset? is set to FALSE. The default is 0.01.

cbool.gif

reset? specifies whether to continue feedforward equalization using the previous iteration states. The VI always resets on first call. Set reset? to TRUE to reset the internal state, restart, and train the equalizer. When reset? is set to FALSE, the VI continues equalization from the previous iteration. This VI assumes that the input complex waveform is phase-continuous with the previous iteration when reset? is FALSE. 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.

icclst.gif

output complex waveform returns the equalized oversampled waveform generated from the feedforward equalizer as a result of adaptation. This waveform consists of the oversampled data that are compensated for the channel impulse response with zero intersymbol interference. Wire this parameter to corresponding instance of the MT Measure Quadrature Impairments VI to make modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM).

idbl.gif

t0 returns the trigger (start) time of the Y array.

idbl.gif

dt returns the time interval between data points in the Y array.

i1dcdb.gif

Y returns the complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

i1ddbl.gif

error returns the instantaneous per symbol error in the output of the adaptive feedforward equalizer filter.

i1dcdb.gif

equalizer coefficients out returns the adaptive feedforward equalizer filter coefficients when equalization is complete for the current iteration.

i1di8.gif

output bit stream returns the recovered bit stream generated from the adaptive feedforward equalizer. The recovered bit stream is phase-aligned with the output complex waveform at the equalizer output. Wire this parameter to the MT Measure Quadrature Impairments VI for performing modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM), or to the MT Calculate BER after Trigger VI for making BER measurements.

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 input complex waveform is assumed to have undergone matched filtering and carrier frequency offset correction during the demodulation process (the recovered complex waveform returned by an MT demodulation VI meets these criteria). The adaptive equalization process ensures that the convolution of the channel filter and the equalizer coefficient filter yields a delta function, thereby removing any intersymbol interference in the equalized output complex waveform.

Note   This VI assumes that the sample rate is an even integer multiple of the symbol rate. The even integer multiple must match the samples per symbol element of the QAM system parameters cluster.

Because the feedforward equalizer is adaptive, the adaptation is carried out initially in a training mode and is later switched to a decision-directed mode. In the training mode, a user-supplied training bit sequence trains the equalizer to adapt to the channel conditions. In the decision-directed mode, the equalizer tap adaptation is self-directed, where the current equalizer output adapts the equalizer taps for the next iteration.

Tip  For best performance during software equalization, ensure that there is an initial training period for the equalization to adapt before switching to decision-directed mode. In the absence of training data, the equalization process may fail to converge, resulting in a residual error between the equalizer output and the desired output.

The duration of the training mode is set by the number of specified training bits when reset? is set to TRUE or when the first instance of this VI is called. Training mode equalization is applied to the initial N symbols of the input complex waveform, where N is the number of symbols that can be mapped from the input training bits. Decision-directed equalization is applied to the input complex waveform starting at symbol N+1.

The equalizer is continuable, meaning that the same instance of an equalizer can be called multiple times, with each instance operating on an input complex waveform representing a subsequent frame of the same data stream. To operate in this manner, call the equalizer in a loop with the first iteration setting reset? to TRUE and subsequent iterations setting reset? to FALSE.

The equalizer can also be applied to a discontinuous data stream, where the same instance of the equalizer operates on input complex waveforms that do not maintain phase continuity from one to the next. To operate in this manner, call the same instance of the equalizer in a loop with reset? set to TRUE for all iterations.

The Specify Coefficients instance of this VI allows continuous equalization on discontinuous data. If you are working with discontinuous data and know that your input channel is invariant enough to potentially benefit from continuous equalization, wire equalizer coefficients out to the equalizer coefficients in parameter. To do so, call the equalizer in a loop with reset? set to TRUE and use a feedback node or shift register to wire the output of a previous iteration as the input for the next iteration. This technique also allows continuous training of the equalizer; if supplied with appropriate training bits, the equalizer retrains with every iteration.

The following flow chart illustrates demodulator-to-equalizer data flow.