next up previous contents
Next: 14 init_ mcfdadjlms Up: 7 Active Noise and Previous: 12 init_ fxlms   Contents


13 init_ mcadjlms

Purpose
Creates and initializes the variables required for the Multi-Channel ADJoint Least Mean Squares (MCADJLMS) adaptive filter algorithm for use with multichannel Active Noise and Vibration Control (ANVC) applications.

Syntax
[w,x,y,d,e,p]=init_mcadjlms(L,Nref,Nact,Nsens,s,se)
[w,x,y,d,e,p]=init_mcadjlms(L,Nref,Nact,Nsens,s,se,w0,x0,d0,y0,e0)



Description
Figure 7.21: Block diagram of the Multichannel Adjoint-LMS algorithm.
The variables of the MCADJLMS are shows in Fig. 7.21 and are summarized below. The size of each variable is given in a square brackets, for instance [N x Nref x Nact] means a matrix of dimension 3 having Nact pages, each page has Nref columns of length N each.


\epsfig{file=/home/john/winD/docs/aspt/aspt/figs/mcadjlms.eps,width=.9\textwidth}
Input Parameters:: 
    L     : Adaptive filter length
    Nref  : number of reference signals
    Nact  : number of actuators
    Nsens : number of sensors
    s     : FIR model of the secondary path [M x Nact x Nsens]
    se    : estimate of the secondary path [N x Nact x Nsens]
    w0    : initial vector of filter coef. [L x Nref x Nact]
    x0    : initial vector of input samples [L+N-1 x Nref]
    d0    : initial desired samples [1 x Nsens]
    y0    : vector of filter output samples [M x Nsens]
    e0    : initial error vector [N x Nsens]

Output parameters [default]::
    w     : Initialized filter coefficients [zeros]
    x     : Initialized input vector [white noise]
    y     : Initial vector of filter output samples
    d     : Initialized desired sample [white noise]
    e     : Initialized error vector
    p     : Initialized input vector variance


Example
load .\data\p22.mat;           % Primary transfer function 
load .\data\s22.mat;           % Secondary transfer function
se              = s22;         % accurate estimate of sh22
[Lp,Nref,Nsens] = size(p22);   % Primary TF dimension
[Ls,Nact,Nsens] = size(s22);   % Secondary TF dimension
L               = Lp + Ls ;    % Length of each filter

% Initialize MCADJLMS algorithm with controllers of L 
% coefficients each.
[w,x,y,d,e,p] 	= init_mcadjlms(L,Nref,Nact,Nsens,s22,se);

Remarks
  • Supports both real and complex signals
  • The MCADJLMS algorithm requires an estimate of the matrix of secondary paths, shown in Fig. 7.21 as $se$, to calculate the filtered error signals $fe(n)$. This estimate $se$ is usually obtained in an initialization stage or during normal operation using a separate matrix of adaptive filters connected between the actuators and the sensors in a Multiple Input Multiple Output (MIMO) system identification setup. When using $se = s$ in init_mcadjlms() and asptmcadjlms() , which means that an accurate estimate of the secondary paths is available, the effects of the secondary path estimation error on the adaptive controller behavior will disappear. To examine those effects use an estimated secondary path $se$ different than $s$.
  • Use input parameters 7 through 11 to initialize the controller storage. This is helpful when the adaptation process is required to start from a known operation point calculated off-line or from previous simulations.

See Also
ASPTMCADJLMS, ANVC_ MCADJLMS, ASPTADJLMS, ASPTFDADJLMS, ASPTMCFDADJLMS.


next up previous contents
Next: 14 init_ mcfdadjlms Up: 7 Active Noise and Previous: 12 init_ fxlms   Contents