| Purpose |
| Creates and initializes the variables required for the Second Order Volterra Recursive Least Squares (RLS) Adaptive Filter. |
| Syntax |
[w,x,d,y,e,R] = init_sovrls(L1,L2,b)
[w,x,d,y,e,R] = init_sovrls(L1,L2,b,w0,x0,d0)
|
| Description |
The second order Volterra RLS filter consists of a linear filter part
of length L1 and a nonlinear filter part. The nonlinear part uses the
combination of cross-products between samples in the delay line. The number
of past samples used in the nonlinear part is defined by the L2 parameter.
A value of L2=0 reduces the Volterra filter to a linear RLS filter.
The variables of the SOVRLS are summarized below.
Input Parameters [size]::
L1 : memory length of the linear part of the filter
L2 : memory length of the nonlinear part of the filter
b : a small +ve constant to initialize R
w0 : initial coefficients vector [L1 + sum(1:L2) x 1]
x0 : initial input samples vector [L1 + sum(1:L2) x 1]
d0 : initial desired sample [1 x 1]
Output parameters [default]::
w : Initialized filter coefficients [zeros]
x : Initialized input vector [zeros]
d : Initialized desired sample [white noise]
y : Initialized filter output [y = w' * x]
e : Initialized error sample [e = d - y]
R : Initialized inverse of the weighted
auto correlation matrix of x, [R=b*eye(L1 + sum(1:L2))]
|
| Example |
L1 = 3; % Memory of linear filter L2 = 2; % Memory of nonlinear filter w0 = zeros(6,1); % initial filter coefficients x0 = rand(6,1); % initial delay line d0 = 0; % desired sample % Create and initialize a SOVRLS FIR filter [w,x,d,y,e,R]=init_sovrls(L1,L2,.01,w0,x0,d0); |
| Remarks |
|
| See Also |
| ASPTSOVRLS. |