Documentation

### This is machine translation

Mouseover text to see original. Click the button below to return to the English version of the page.

# varlms

(To be removed) Construct variable-step-size least mean square (LMS) adaptive algorithm object

varlms will be removed in a future release. Use `comm.LinearEqualizer` or `comm.DecisionFeedback` instead.

## Syntax

```alg = varlms(initstep,incstep,minstep,maxstep) ```

## Description

The `varlms` function creates an adaptive algorithm object that you can use with the `lineareq` function or `dfe` function to create an equalizer object. You can then use the equalizer object with the `equalize` function to equalize a signal. To learn more about the process for equalizing a signal, see Equalization.

`alg = varlms(initstep,incstep,minstep,maxstep)` constructs an adaptive algorithm object based on the variable-step-size least mean square (LMS) algorithm. `initstep` is the initial value of the step size parameter. `incstep` is the increment by which the step size changes from iteration to iteration. `minstep` and `maxstep` are the limits between which the step size can vary.

### Properties

The table below describes the properties of the variable-step-size LMS adaptive algorithm object. To learn how to view or change the values of an adaptive algorithm object, see Equalization.

PropertyDescription
`AlgType`Fixed value, `'Variable Step Size LMS'`
`LeakageFactor`LMS leakage factor, a real number between 0 and 1. A value of 1 corresponds to a conventional weight update algorithm, while a value of 0 corresponds to a memoryless update algorithm.
`InitStep`Initial value of step size when the algorithm starts
`IncStep`Increment by which the step size changes from iteration to iteration
`MinStep`Minimum value of step size
`MaxStep`Maximum value of step size

Also, when you use this adaptive algorithm object to create an equalizer object (via the `lineareq` or `dfe` function), the equalizer object has a `StepSize` property. The property value is a vector that lists the current step size for each weight in the equalizer.

## Algorithms

Referring to the schematics presented in Equalization, define w as the vector of all current weights wi and define u as the vector of all inputs ui. Based on the current step size, μ, this adaptive algorithm first computes the quantity

μ0 = μ + (`IncStep`) Re(ggprev)

where g = ue*, gprev is the analogous expression from the previous iteration, and the * operator denotes the complex conjugate.

Then the new step size is given by

• μ0, if it is between `MinStep` and `MaxStep`

• `MinStep`, if μ0 < `MinStep`

• `MaxStep`, if μ0 > `MaxStep`

The new set of weights is given by

(`LeakageFactor`) w + 2 μ g*

## Compatibility Considerations

expand all

Not recommended starting in R2019a

## References

 Farhang-Boroujeny, B., Adaptive Filters: Theory and Applications, Chichester, England, Wiley, 1998.