EngeeDSP.AdaptiveLatticeFilter
Adaptive grid filter.
| Library |
|
Description
System object EngeeDSP.AdaptiveLatticeFilter Calculates the output data, error, and coefficients using a lattice-based adaptive FIR filter.
To implement the adaptive FIR filter system object, follow these steps:
-
Create an object EngeeDSP.AdaptiveLatticeFilter and set its properties.
-
Call the object with arguments as if it were a function.
To learn more about how to work with system objects, see Engee System Objects.
Syntax
Creation
-
alf = EngeeDSP.AdaptiveLatticeFilter()— returns the system objectalfadaptive FIR filter based on a lattice. This system object calculates the filtered output signal and the filter error for the given input signal and the desired signal. -
alf = EngeeDSP.AdaptiveLatticeFilter(len)— returns the system objectalf, which has for the property Length value setlen. -
alf = EngeeDSP.AdaptiveLatticeFilter(Name=Value)— returns an adaptive FIR filter objectalfwith the specified properties as a pairName=Value, whereName— the name of the property, andValue— the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.Example:
# создание системного объекта адаптивного КИХ-фильтра c длиной 16 alf = EngeeDSP.AdaptiveLatticeFilter(Length = 16)
Using
-
у,err = alf(x,d)— filters the input signalxusingdas the desired signal, and returns the filtered output signal toyand the filter error inerr. The system object evaluates the filter weights necessary to minimize the error between the output signal and the desired signal. These coefficients can be accessed by accessing the Coefficients property of the object. This can only be done after calling the object. For example, to access optimized filter coefficientsalf, callalf.Coefficientsafter transmitting the input and desired signals to the object.
Arguments
Input arguments
# x — input data
+
scalar | column vector
Details
The signal that needs to be filtered using an adaptive grid filter. The input signal x and the desired signal d they must have the same size and data type.
The input signal can be of variable size. You can change the number of elements in the column vector even when the object is locked. The system object is blocked when the object is called.
| Типы данных |
|
| Support for complex numbers |
Yes |
# d is the desired signal
+
scalar | column vector
Details
The adaptive grid filter adapts its coefficients to minimize error. err and the most accurate approximation of the input signal x to the desired signal d.
The input signal x and the desired signal d they must have the same size and data type.
The desired signal can be of variable size. You can change the number of elements in the column vector even when the object is locked. The system object is blocked when the object is called.
| Типы данных |
|
| Support for complex numbers |
Yes |
Output arguments
# y — filtered output signal
+
scalar | column vector
Details
The filtered output signal returned as a scalar or column vector. The object adapts the filter coefficients for the convergence of the input signal x to the desired signal d. The filter outputs a converging signal.
| Типы данных |
|
| Support for complex numbers |
Yes |
# err — the difference between the output and the desired signal
+
scalar | column vector
Details
The difference between the output signal y and the desired signal d, returned as a scalar or column vector. The purpose of the adaptive grid filter is to minimize this error. The object adapts its coefficients to converge to the optimal filter coefficients, which provide an output signal as close as possible to the desired signal. To access the coefficients of the adaptive lattice filter, call alf.Coefficients after transmitting the input and desired signals to the object’s algorithm.
| Типы данных |
|
| Support for complex numbers |
Yes |
Features
#
Length —
length of the vector of filter coefficients
Real number
Details
The length of the vector of FIR filter coefficients, specified as a positive integer.
#
Method —
method for calculating filter coefficients
String
Details
Details
The offset value for the denominator of the normalizing term StepSize, set as a non-negative scalar. A non-zero offset helps to avoid a situation of division by almost zero when the amplitude of the input signal is very small.
Dependencies
To use this property, set the Method value "Gradient Adaptive Lattice".
# ReflectionStepSize — step size of the reflection process
#
ForgettingFactor —
the root-square coefficient of forgetting the lattice
Real number
Details
The root-square coefficient of forgetting the lattice, given as a positive scalar, less than or equal to 1. Setting this value to 1 it means endless memory during adaptation.
Dependencies
To use this property, set the Method value "Least-squares Lattice" or "QR-decomposition Least-squares Lattice".
#
InitialPredictionErrorPower —
The initial power of the prediction error
Real number
Details
The initial values for the prediction error vectors, given as a positive scalar.
#
StepSize —
step size of the collaborative gradient adaptive filter process
Real number
Details
The step size of the joint process of the gradient adaptive lattice filter, specified as a positive scalar, less than or equal to 1.
Dependencies
To use this property, set the Method value "Gradient Adaptive Lattice".
#
AveragingFactor —
energy estimation averaging coefficient
Real number
Details
The averaging coefficient, given as a positive scalar, is less than 1. Use this property to calculate the prediction error power for forward and reverse forecasting with an exponential window for coefficient updates. The default value is 1 − StepSize.
Dependencies
To use this property, set the Method value "Gradient Adaptive Lattice".
# LockCoefficients — the status of blocking coefficient updates
Details
Specify whether to block the values of the filter coefficients. By default, the value of this property is false, and the object is constantly updating the filter coefficients. If this property is set to true The filter coefficients are not updated, and their values remain unchanged.
Dependencies
To use this property, set the Method value "Gradient Adaptive Lattice".