Documentation

Adaptive Filters in DSP System Toolbox Software

Overview of Adaptive Filtering in DSP System Toolbox Software

DSP System Toolbox™ software contains many objects for constructing and applying adaptive filters to data. As you see in the tables in the next section, the objects use various algorithms to determine the weights for the filter coefficients of the adapting filter. While the algorithms differ in their detail implementations, the LMS and RLS share a common operational approach — minimizing the error between the filter output and the desired signal.

Algorithms

For adaptive filter objects, each available algorithm entry appears in one of the tables along with a brief description of the algorithm. Click on the algorithm in the first column to get more information about the associated adaptive filter technique.

  • LMS based adaptive filters

  • RLS based adaptive filters

  • Affine projection adaptive filters

  • Adaptive filters in the frequency domain

  • Lattice based adaptive filters

Least Mean Squares (LMS) Based FIR Adaptive Filters

Adaptive Filter Method

Adapting Algorithm Used to Generate Filter Coefficients During Adaptation

dsp.BlockLMSFilter

Block LMS FIR adaptive filter algorithm

dsp.FilteredXLMSFilter

Filtered-x LMS FIR adaptive filter algorithm

dsp.LMSFilter

LMS FIR adaptive filter algorithm

Normalized LMS FIR adaptive filter algorithm

Sign-data LMS FIR adaptive filter algorithm

Sign-error LMS FIR adaptive filter algorithm

Sign-sign LMS FIR adaptive filter algorithm

For further information about an adapting algorithm, refer to the reference page for the algorithm.

Recursive Least Squares (RLS) Based FIR Adaptive Filters

Adaptive Filter Method

Adapting Algorithm Used to Generate Filter Coefficients During Adaptation

dsp.FastTransversalFilter

Fast transversal least-squares adaptation algorithm

Sliding window FTF adaptation algorithm

dsp.RLSFilter

QR-decomposition RLS adaptation algorithm

Householder RLS adaptation algorithm

Householder SWRLS adaptation algorithm

Recursive-least squares (RLS) adaptation algorithm

Sliding window (SW) RLS adaptation algorithm

For more complete information about an adapting algorithm, refer to the reference page for the algorithm.

Affine Projection (AP) FIR Adaptive Filters

Adaptive Filter Method

Adapting Algorithm Used to Generate Filter Coefficients During Adaptation

dsp.AffineProjectionFilter

Affine projection algorithm that uses direct matrix inversion

Affine projection algorithm that uses recursive matrix updating

Block affine projection adaptation algorithm

To find more information about an adapting algorithm, refer to the reference page for the algorithm.

FIR Adaptive Filters in the Frequency Domain (FD)

Adaptive Filter Method

Description of the Adapting Algorithm Used to Generate Filter Coefficients During Adaptation

dsp.FrequencyDomainAdaptiveFilter

Frequency domain adaptation algorithm

Unconstrained FDAF algorithm for adaptation

For more information about an adapting algorithm, refer to the reference page for the algorithm.

Lattice-Based (L) FIR Adaptive Filters

Adaptive Filter Method

Description of the Adapting Algorithm Used to Generate Filter Coefficients During Adaptation

dsp.AdaptiveLatticeFilter

Gradient adaptive lattice filter adaptation algorithm

Least squares lattice adaptation algorithm

QR decomposition RLS adaptation algorithm

For more information about an adapting algorithm, refer to the reference page for the algorithm.

Presenting a detailed derivation of the Wiener-Hopf equation and determining solutions to it is beyond the scope of this User's Guide. Full descriptions of the theory appear in the adaptive filter references provided in the Selected Bibliography.

Using Adaptive Filter Objects

After you construct an adaptive filter object, how do you apply it to your data or system? Adaptive filter objects have a step method that you use to apply the filter object to data. In the following sections, various examples of using LMS and RLS adaptive filters show you how step works with the objects to apply them to data.

Was this topic helpful?