next up previous contents
Next: 15 init_ mcfdfxlms Up: 7 Active Noise and Previous: 13 init_ mcadjlms   Contents


14 init_ mcfdadjlms

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

Syntax
[NB,W,w,x,y,d,e,p,S,SE,yF,feF] = init_mcfdadjlms(NC,NL,Nref,Nact, Nsens,s,se)
[NB,W,w,x,y,d,e,p,S,SE,yF,feF] = init_mcfdadjlms(NC,NL,Nref,Nact, Nsens,s,se,W0,xn0,d0)



Description
Figure 7.22: Block diagram of the Multichannel Frequency Domain Adjoint-LMS algorithm.
The MCFDADJLMS is a block processing algorithm which performs filtering and coefficient update in the frequency domain. The variables of the MCFDADJLMS are shows in Fig. 7.22 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/mcfdadjlms.eps,width=.9\textwidth}
Input Parameters [size] ::
   NC    : Required controller length in time domain
   NL    : new samples per block
   Nref  : number of reference signals
   Nact  : number of actuators
   Nsens : number of sensors
   s     : FIR model of the secondary paths [M x Nact x Nsens]
   se    : estimate of secondary paths [N x Nact x Nsens]
   w0    : Initial matrix of filter coef. [NC x Nref x Nact]
   xn0   : Initial input samples block [NL x Nref]
   d0    : Initial primary signals block [NL x Nsens]
Output parameters [default] ::
   NB   : FFT length [2.^nextpow2(NC+NL-1)]
   W    : frequency domain filter coefficients matrix [zeros]
   w    : time domain filter coefficients matrix [zeros]
   x    : overlap-save input matrix [zeros]
   y    : filter output matrix in time domain [zeros]
   d    : primary signals block [zeros]
   e    : error signals block [e = d + ys]
   p    : power estimate of x(f)
   S    : frequency domain secondary paths [fft(s,NB,1)]
   SE   : frequency domain estimated s [fft(se,NB,1)]
   yF   : output matrix buffer [zeros] 
   feF  : filtered error matrix buffer [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
NC               = Lp + Ls ;     % Length of each filter
NL               = NC;           % Block length

% Initialize MCFDADJLMS algorithm with controllers of NC 
% coefficients each and a block length NL.
[NB,W,w,x,y,d,e,p,S,SE,yF,feF] = init_mcfdadjlms(NC,NL,...
                                 Nref,Nact,Nsens,s22,se);

Remarks
  • Supports both real and complex signals
  • You can control the FFT length by choosing the block size (NL) appropriately. Maximum efficiency is achieved when $NL = NC = 2^n$; where n is an integer.
  • Processing delay (algorithm latency) equals to NL, since NL new samples have to be collected before an FFT can be performed.
  • The MCFDADJLMS algorithm requires an estimate of the matrix of secondary paths, shown in Fig. 7.22 as $se$, to calculate the filtered error signals $fe(f)$. 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_mcfdadjlms() and asptmcfdadjlms() , 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 8 through 10 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
ASPTMCFDADJLMS, ANVC_ MCFDADJLMS, ASPTMCADJLMS, ASPTADJLMS, ASPTFDADJLMS.


next up previous contents
Next: 15 init_ mcfdfxlms Up: 7 Active Noise and Previous: 13 init_ mcadjlms   Contents