Applies adaptive feedforward software equalization using the least-mean-squared (LMS) algorithm to the ASK-demodulated input complex waveform.
Allows you to specify equalizer coefficients or their initial conditions.
The modulated complex baseband waveform data.
Trigger (start) time of the Y array.
Default: 0.0
Time interval between data points in the Y array.
Default: 1.0
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.
Parameter values defining the ASK system. Wire the ASK system parameters cluster of MT Generate ASK System Parameters (M) or MT Generate ASK System Parameters (map) to this cluster. Do not alter the values.
An ordered array that maps each symbol to its desired level. The number of ASK levels in the array is 2^{ N }, where N is the number of bits per symbol. The vector length for the symbols farthest from the origin is 1.
The filter coefficients for initializing the feedforward equalizer. The time span of this array (in symbols) is given by the following equation:
size(equalizer coefficients in) / 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.
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.
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
The feedforward equalization parameters, which define the equalizer tap spacing (symbol spaced/fractionally spaced) and convergence rate during training and steady-state.
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 passed from MT Generate System Parameters.
Modulation nodes use 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,
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.
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.
Default: 1
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.
Default: 0.01
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.
Default: 0.01
A Boolean that determines whether to continue feedforward equalization using the previous iteration states. This node always resets on first call.
TRUE | Resets the internal state, restarts, and trains the equalizer. |
FALSE | Continues feedforward equalization using the previous iteration states. This node assumes that the input complex waveform is phase-continuous with the previous iteration. |
Default: TRUE
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 the corresponding instance of MT Measure Quadrature Impairments to make modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM).
Trigger (start) time of the Y array.
Default: 0
Time interval between data values in the Y array.
Default: 1.0
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.
The instantaneous per symbol error in the output of the adaptive feedforward equalizer filter.
The adaptive feedforward equalizer filter coefficients when equalization is complete for the current iteration.
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 MT Measure Quadrature Impairments for performing modulation measurements such as modulation error ratio (MER) and error vector magnitude (EVM), or to MT Calculate BER after Trigger for making bit error rate (BER) measurements.
Error information.
The node produces this output 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.
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 a Demodulation node 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.
The following flow chart illustrates demodulator-to-equalizer data flow.
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, and the current equalizer output adapts the equalizer taps for the next iteration.
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 training bits when reset? is set to TRUE, or when the first instance of this node 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, that is, 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, in which 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.
This node 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.
Where This Node Can Run:
Desktop OS: Windows
FPGA: Not supported
Web Server: Not supported in VIs that run in a web application