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


12 init_ fxlms

Purpose
Creates and initializes the variables required for the Filtered-x Least Mean Squares (FXLMS) Adaptive Filter algorithm for use in single channel Active Noise and Vibration Control (ANVC) applications.

Syntax
[w,x,y,d,e,p,fx] = init_fxlms(L,s,se)
[w,x,y,d,e,p,fx] = init_fxlms(L,s,se,w0,x0,d0,y0)



Description
Figure 7.20: Block diagram of the Filtered-x LMS algorithm.
The variables of the Filtered-x LMS are shows in Fig. 7.20 and are summarized below. The length of each variable is given in square brackets, for instance [N x 1] means a column vector of length N.


\epsfig{file=/home/john/winD/docs/aspt/aspt/figs/fxlms.eps,width=.9\textwidth}
Input Parameters [size]:: 
    L  : Adaptive filter length
    s  : FIR model of the physical secondary path [M x 1]
    se : estimated version of s [N x 1]
    w0 : initial vector of filter coefficients [L x 1]
    x0 : initial vector of input samples [max(L,N) x 1]
    d0 : initial desired sample [1 x 1]
    y0 : vector of filter output samples [M x 1]

Output parameters [default]::
    w  : Initialized filter coefficients [zeros]
    x  : Initialized input delay line [zeros]
    d  : desired sample [white noise]
    y  : filter output samples delay line [zeros]
    e  : error sample
    p  : Initialized input vector power
    fx : filtered-x delay line


Example
ph   = [0;.9;.5;.3;.1];       % Primary path impulse response
sh   = [0.5;0.4;0.1];         % Secondary path impulse response
se   = 0.95*sh;               % estimation of s

% Initialize the Filtered-x algorithm with a controller of 10 
% coefficients and the accurate and estimated secondary paths
[w,x,y,d,e,p] = init_fxlms(10,sh,se);

Remarks
  • Supports both real and complex signals
  • The Filtered-x LMS algorithm requires an estimate of the secondary path, shown in Fig. 7.20 as $se$, to calculate the filtered input signal $fx(n)$. This estimate $se$ is usually obtained in an initialization stage or during normal operation using a separate adaptive filter connected between the secondary source and the sensor in a system identification setup. When using $se = s$ in init_fxlms() and asptfxlms(), which means that an accurate estimate of the secondary path 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 4 through 7 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
ASPTFXLMS, ANVC_ FXLMS, ASPTFDFXLMS, ASPTMCFDFXLMS.


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