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.
This polymorphic instance allows you to specify equalizer coefficients or their initial conditions.
input complex waveform specifies the modulated complex baseband waveform data.
t0 specifies the trigger (start) time of the Y array. The default is 0.0.
dt specifies the time interval between data points in the Y array. The default is 1.0.
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.
PSK system parameters specifies parameter values defining the PSK system. Wire the
PSK system parameters cluster from the PSK (M) or PSK (Map) instance of the MT Generate System Parameters VI to this cluster. Do not
alter the values.
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.
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.
differential PSK specifies how the PSK modulation represents symbols. Differential
operation is used to implement PSK formats such as differential quadrature PSK
(DQPSK) and /4-DQPSK.
disable (0)
Symbols are represented as constellation points. This is the default value.
enable (1)
Symbols are represented as the transitions between constellation points.
PSK type specifies the type of PSK modulation.
normal
Sets the modulation type to regular PSK. This is the default value.
shifted
Rotates the constellation by /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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
t0 returns the trigger (start) time of the Y array.
dt returns the time interval between data points in the Y array.
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.
error returns the instantaneous per symbol error in the output of
the adaptive feedforward equalizer filter.
equalizer coefficients out returns the adaptive feedforward equalizer filter coefficients
when equalization is complete for the current iteration.
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.
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.
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.
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.
This polymorphic instance allows you to specify the length of the feedforward equalizer in symbols.
input complex waveform specifies the modulated complex baseband waveform data.
t0 specifies the trigger (start) time of the Y array. The default is 0.0.
dt specifies the time interval between data points in the Y array. The default is 1.0.
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.
PSK system parameters specifies parameter values defining the PSK system. Wire the
PSK system parameters cluster from the PSK (M) or PSK (Map) instance of the MT Generate System Parameters VI to this cluster. Do not
alter the values.
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.
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.
differential PSK specifies how the PSK modulation represents symbols. Differential
operation is used to implement PSK formats such as differential quadrature PSK
(DQPSK) and /4-DQPSK.
disable (0)
Symbols are represented as constellation points. This is the default value.
enable (1)
Symbols are represented as the transitions between constellation points.
PSK type specifies the type of PSK modulation.
normal
Sets the modulation type to regular PSK. This is the default value.
shifted
Rotates the constellation by /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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
t0 returns the trigger (start) time of the Y array.
dt returns the time interval between data points in the Y array.
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.
error returns the instantaneous per symbol error in the output of
the adaptive feedforward equalizer filter.
equalizer coefficients out returns the adaptive feedforward equalizer filter coefficients
when equalization is complete for the current iteration.
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.
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.
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.
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 PSK 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, you would 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.