| Communications Toolbox | ![]() |
An equalizer object has numerous properties that record information about the equalizer. Properties can be related to
The structure of the equalizer (for example, the number of weights).
The adaptive algorithm that the equalizer uses (for example, the step size in the LMS algorithm). When you create the equalizer object using lineareq or dfe, the function copies certain properties from the algorithm object to the equalizer object. However, the equalizer object does not retain a connection to the algorithm object.
Information about the equalizer's current state (for example, the values of the weights). The equalize function automatically updates these properties when it operates on a signal.
Instructions for operating on a signal (for example, whether the equalizer should reset itself before starting the equalization process).
For information about what each equalizer property means, see the reference page for the lineareq or dfe function.
To view or change any properties of an equalizer object, use the syntax described for channel objects in Viewing Object Properties and Changing Object Properties.
Some properties of an equalizer object are related to each other such that when one property's value changes, another property's value must adjust, or else the equalizer object would fail to describe a valid equalizer. For example, in a linear equalizer, the nWeights property is the number of weights, while the Weights property is the value of the weights. If you change the value of nWeights, then the value of Weights must adjust so that its vector length is the new value of nWeights.
To find out which properties are related and how MATLAB compensates automatically when you make certain changes in property values, see the reference page for lineareq or dfe.
The example below illustrates that when you change the value of nWeights, MATLAB automatically changes the values of Weights and WeightInputs to make their vector lengths consistent with the new value of nWeights. Because the example uses the variable-step-size LMS algorithm, StepSize is a vector (not a scalar) and MATLAB changes its vector length to maintain consistency with the new value of nWeights.
eqlvar = lineareq(10,varlms(0.01,0.01,0,1)) % Create equalizer object. eqlvar.nWeights = 8 % Change the number of weights from 10 to 8. % MATLAB automatically changes the sizes of eqlvar.Weights and % eqlvar.WeightInputs.
The output below displays all the properties of the equalizer object before and after the change in the value of the nWeights property. Notice that in the second listing of properties, the nWeights, Weights, WeightInputs, and StepSize properties all have different values compared to the first listing of properties.
eqlvar =
EqType: 'Linear Equalizer'
AlgType: 'Variable Step Size LMS'
nWeights: 10
nSampPerSym: 1
RefTap: 1
SigConst: [-1 1]
InitStep: 0.0100
IncStep: 0.0100
MinStep: 0
MaxStep: 1
LeakageFactor: 1
StepSize: [1x10 double]
Weights: [0 0 0 0 0 0 0 0 0 0]
WeightInputs: [0 0 0 0 0 0 0 0 0 0]
ResetBeforeFiltering: 1
NumSamplesProcessed: 0
eqlvar =
EqType: 'Linear Equalizer'
AlgType: 'Variable Step Size LMS'
nWeights: 8
nSampPerSym: 1
RefTap: 1
SigConst: [-1 1]
InitStep: 0.0100
IncStep: 0.0100
MinStep: 0
MaxStep: 1
LeakageFactor: 1
StepSize: [1x8 double]
Weights: [0 0 0 0 0 0 0 0]
WeightInputs: [0 0 0 0 0 0 0 0]
ResetBeforeFiltering: 1
NumSamplesProcessed: 0
| Specifying an Adaptive Equalizer | Using Adaptive Equalizers | ![]() |
© 1994-2005 The MathWorks, Inc.