next up previous contents
Next: 8 Nonlinear Adaptive Algorithms Up: 7 Active Noise and Previous: 15 init_ mcfdfxlms   Contents


16 init_ mcfxlms

Purpose
Creates and initializes the variables required for the Multi-Channel Filtered-X Least Mean Squares (MCFXLMS) adaptive algorithm, also known as Multiple Error Filtered-X LMS (MEFXLMS) for use with multichannel Active Noise and Vibration Control (ANVC) applications.

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



Description
Figure 7.24: Block diagram of the MultChannel Filtered-X LMS algorithm.
The variables of the MCFXLMS are shows in Fig. 7.24 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/mcfxlms.eps,width=.9\textwidth}
Input Parameters [size] :: 
    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 coefficients [L x Nref x Nact]
    x0    : initial vector of input samples [max(L,N) x Nref]
    d0    : initial desired samples [1 x Nsens]
    y0    : vector of filter output samples [M x Nsens]
    fx0   : initial filtered input matrix [L x Nact x Nref*Nsens]

Output parameters [default]::
    w     : Initialized filter coefficients [zeros]
    x     : Initialized matrix of input samples [white noise]
    y     : Initial matrix of filter output samples
    d     : Initialized desired samples [white noise]
    e     : Initialized error vector [e=d+y]
    p     : Initialized power of x
    fx    : Initialized filtered input matrix [zeros]


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 MCFXLMS algorithm with controllers of L 
% coefficients each.
[w,x,y,e,d,p,fx] = init_mcfxlms(L,Nref,Nact,Nsens,s22,se);

Remarks
  • Supports both real and complex signals
  • The MCFXLMS algorithm requires an estimate of the matrix of secondary paths, shown in Fig. 7.24 as $se$, to calculate the filtered input signals $fx(n)$. This estimate $se$ is usually obtained in an initialization stage or during normal operation using a separate matrix of adaptive filter 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
ASPTMCFXLMS, ANVC_ MCFXLMS, ASPTFXLMS, ASPTFDFXLMS, ASPTMCFDFXLMS.


next up previous contents
Next: 8 Nonlinear Adaptive Algorithms Up: 7 Active Noise and Previous: 15 init_ mcfdfxlms   Contents