Documentation |
Construct linear equalizer object
eqobj = lineareq(nweights,alg)
eqobj = lineareq(nweights,alg,sigconst)
eqobj = lineareq(nweights,alg,sigconst,nsamp)
The lineareq function creates an equalizer object that you can use with the equalize function to equalize a signal. To learn more about the process for equalizing a signal, see Adaptive Algorithms.
eqobj = lineareq(nweights,alg) constructs a symbol-spaced linear equalizer object. The equalizer has nweights complex weights, which are initially all zeros. alg describes the adaptive algorithm that the equalizer uses; you should create alg using any of these functions: lms, signlms, normlms, varlms, rls, or cma. The signal constellation of the desired output is [-1 1], which corresponds to binary phase shift keying (BPSK).
eqobj = lineareq(nweights,alg,sigconst) specifies the signal constellation vector of the desired output.
eqobj = lineareq(nweights,alg,sigconst,nsamp) constructs a fractionally spaced linear equalizer object. The equalizer has nweights complex weights spaced at T/nsamp, where T is the symbol period and nsamp is a positive integer. nsamp = 1 corresponds to a symbol-spaced equalizer.
The table below describes the properties of the linear equalizer object. To learn how to view or change the values of a linear equalizer object, see Accessing Properties of an Equalizer.
Property | Description |
---|---|
EqType | Fixed value, 'Linear Equalizer' |
AlgType | Name of the adaptive algorithm represented by alg |
nWeights | Number of weights |
nSampPerSym | Number of input samples per symbol (equivalent to nsamp input argument). This value relates to both the equalizer structure (see the use of K in Fractionally Spaced Equalizers) and an assumption about the signal to be equalized. |
RefTap (except for CMA equalizers) | Reference tap index, between 1 and nWeights. Setting this to a value greater than 1 effectively delays the reference signal and the output signal by RefTap-1 with respect to the equalizer's input signal. |
SigConst | Signal constellation, a vector whose length is typically a power of 2 |
Weights | Vector of complex coefficients. This is the set of w_{i} values in the schematic in Symbol-Spaced Equalizers. |
WeightInputs | Vector of tap weight inputs. This is the set of u_{i} values in the schematic in Symbol-Spaced Equalizers. |
ResetBeforeFiltering | If 1, each call to equalize resets the state of eqobj before equalizing. If 0, the equalization process maintains continuity from one call to the next. |
NumSamplesProcessed | Number of samples the equalizer processed since the last reset. When you create or reset eqobj, this property value is 0. |
Properties specific to the adaptive algorithm represented by alg | See reference page for the adaptive algorithm function that created alg: lms, signlms, normlms, varlms, rls, or cma. |
If you change nWeights, MATLAB maintains consistency in the equalizer object by adjusting the values of the properties listed below.
Property | Adjusted Value |
---|---|
Weights | zeros(1,nWeights) |
WeightInputs | zeros(1,nWeights) |
StepSize (Variable-step-size LMS equalizers) | InitStep*ones(1,nWeights) |
InvCorrMatrix (RLS equalizers) | InvCorrInit*eye(nWeights) |
An example illustrating relationships among properties is in Linked Properties of an Equalizer Object.
For examples that use this function, see Equalize Using a Training Sequence in MATLAB, Example: Equalizing Multiple Times, Varying the Mode, and Example: Adaptive Equalization Within a Loop.