dsp.AffineProjectionFilter
Compute output, error and coefficients using affine projection (AP) Algorithm
Description
The dsp.AffineProjectionFilter
System object™ filters each channel of the input using AP filter implementations.
To filter each channel of the input:
Create the
dsp.AffineProjectionFilterobject and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
returns an
adaptive FIR filter System object, apf = dsp.AffineProjectionFilterapf. This System object computes the filtered output and the filter error for a given input and
desired signal using the affine projection (AP) algorithm.
returns an affine projection filter object with the apf = dsp.AffineProjectionFilter(len)Length property
set to len.
sets properties using one or more name-value arguments. For example,
to set the initial values for the offset input covariance matrix as 9,
set apf = dsp.AffineProjectionFilter(Name=Value)InitialOffsetCovariance to 9.
Properties
Usage
Syntax
Description
[
filters the input y,err] = apf(x,d)x, using d as the desired
signal, and returns the filtered output in y and the filter error in
err. The System object estimates the filter weights needed to
minimize the error between the output signal and the desired signal. You can access these
coefficients by accessing the Coefficients property of the object.
This can be done only after calling the object. For example, to access the optimized
coefficients of the apf filter, call
apf.Coefficients after you pass the input and desired signal to the
object.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj, use
this syntax:
release(obj)
Examples
Algorithms
The affine projection algorithm (APA) is an adaptive scheme that estimates an unknown system based on multiple input vectors [1]. It is designed to improve the performance of other adaptive algorithms, mainly those that are LMS based. The affine projection algorithm reuses old data resulting in fast convergence when the input signal is highly correlated, leading to a family of algorithms that can make trade-offs between computation complexity with convergence speed [2].
The following equations describe the conceptual algorithm used in designing AP filters:
where C is either εI if the initial offset covariance is a scalar ε, or R if the initial offset covariance is a matrix R. The variables are as follows:
| Variable | Description |
|---|---|
| n | The current time index |
| u(n) | The input sample at step n |
| Uap(n) | The matrix of the last L+1 input signal vectors |
| w(n) | The adaptive filter coefficients vector |
| y(n) | The adaptive filter output |
| d(n) | The desired signal |
| e(n) | The error at step n |
| L | The projection order |
| N | The filter order (i.e., filter length = N+1) |
| μ | The step size |
References
[1] K. Ozeki, T. Umeda, “An adaptive Filtering Algorithm Using an Orthogonal Projection to an Affine Subspace and its Properties”, Electron. Commun. Jpn. 67-A(5), May 1984, pp. 19–27.
[2] Paulo S. R. Diniz, Adaptive Filtering: Algorithms and Practical Implementation, Second Edition. Boston: Kluwer Academic Publishers, 2002.
Extended Capabilities
Version History
Introduced in R2013a
![Figure contains 4 axes objects. Axes object 1 with title In-Phase Components, xlabel time index, ylabel signal value contains 3 objects of type line. These objects represent Desired, Output, Error. Axes object 2 with title Quadrature Components, xlabel time index, ylabel signal value contains 3 objects of type line. These objects represent Desired, Output, Error. Axes object 3 with title Received Signal Scatter Plot, xlabel Real[x], ylabel Imag[x] contains a line object which displays its values using only markers. Axes object 4 with title Equalized Signal Scatter Plot, xlabel Real[y], ylabel Imag[y] contains a line object which displays its values using only markers.](../../examples/dsp/win64/QPSKAdaptiveEqualizationExample_01.png)
