# MT PSK Feedforward Equalizer (LMS) (Specify coefficients) (G Dataflow)

Applies adaptive feedforward software equalization using the least-mean-squared (LMS) algorithm to the PSK-demodulated input complex waveform. Sets the equalizer coefficients or their initial conditions.

Note

This node assumes that the input sample rate is an even integer multiple of the symbol rate. The even integer multiple must match the samples per symbol element of the PSK system parameters cluster.

## input complex waveform

The modulated complex baseband waveform data.

### t0

Trigger (start) time of the Y array.

Default: 0.0

### dt

Time interval between data points in the Y array.

Default: 1.0

### Y

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.

## PSK system parameters

Parameter values defining the PSK system. Wire the PSK system parameters cluster of MT Generate PSK System Parameters (M) or MT Generate PSK System Parameters (map) to this cluster. Do not alter the values.

### samples per symbol

An even number of samples dedicated to each symbol. Multiply this value by the symbol rate to determine the sample rate.

Note

The demodulation and detector nodes use timing recovery, which is optimized for four or more samples per symbol.

Default: 16

### symbol map

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 2 N , where N is the number of bits per symbol.

### differential PSK

A value that indicates how the PSK modulation represents symbols.

Differential operation is used to implement PSK formats such as differential quadrature PSK (DQPSK) and $\pi$/4-DQPSK.

Name Description
disable

Symbols are represented as constellation points.

enable

Symbols are represented as the transitions between constellation points.

Default: disable

### PSK type

Type of PSK modulation.

Name Description
normal

Sets the modulation type to regular PSK.

shifted

Rotates the constellation by $\pi$/M each symbol.

offset

Sets the modulation type to offset quadrature phase-shift keying (OQPSK). This modulation scheme is a form of phase-shift keying in which four different phase angles are used. This scheme is sometimes referred to as staggered quadrature phase-shift keying (SQPSK). For offset PSK, the ideal symbol timing for Q is offset by 1/2 of a symbol period from the ideal symbol timing for I. offset is currently only supported for M= 4.

Default: normal

## equalizer coefficients in

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.

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

## training bits

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.

## error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: no error

## feedforward equalizer (lms) parameters

The feedforward equalization parameters, which define the equalizer tap spacing (symbol spaced/fractionally spaced) and convergence rate during training and steady-state.

### taps per symbol

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.

Note

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

### delta (training)

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

## reset?

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

## output complex waveform

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).

### t0

Trigger (start) time of the Y array.

Default: 0

### dt

Time interval between data values in the Y array.

Default: 1.0

### Y

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.

## error

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

## equalizer coefficients out

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

## output bit stream

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 out

Error information. The node produces this output according to standard error behavior.

## Demodulator-to-Equalizer Data Flow

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.

## Duration of Training Mode

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.

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 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.

## Continuous Data Stream

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.

## Discontinuous Data Stream

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.

## Continuous Equalization on Discontinuous Data

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