| Purpose |
| Creates and initializes the variables required for the Frequency Domain ADJoint Least Mean Squares (FDADJLMS) algorithm for use with single channel Active Noise and Vibration Control (ANVC) applications. |
| Syntax |
[NB,W,w,x,y,d,e,p,S,SE,yF,feF]=init_fdadjlms(NC,NL,s,se)
[NB,W,w,x,y,d,e,p,S,SE,yF,feF]=init_fdadjlms(NC,NL,s,se,W0,xn0,d0)
|
| Description |
The FDADJLMS is a block processing algorithm which performs filtering and coefficient update
in the frequency domain. The variables of the FDADJLMS are shows in Fig. 7.18
and are summarized below. The size of each variable is given in a square brackets, for
instance [N x 1] means a column vector of length N.
Input Parameters [size] ::
NC : Required controller length in time domain
NL : new samples per block
s : time domain secondary path [M x 1]
se : estimate of the secondary path [N x 1]
w0 : Initial vector of filter coefficients [NC x 1]
xn0 : Initial input samples block [NL x 1]
d0 : Initial primary signal block [NL x 1]
Output parameters [default] ::
NB : FFT length [2.^nextpow2(NC+NL-1)]
W : frequency domain filter coefficients vector [zeros]
w : time domain filter coefficients vector [zeros]
x : overlap-save input vector [zeros]
y : filter output vector in time domain [zeros]
d : primary signal block [zeros]
e : error signal block [e = d + ys]
p : power estimate of x(n) in freq. domain
S : frequency domain secondary path [fft(s,NB)]
SE : frequency domain estimated secondary path [fft(se,NB)]
yF : output vector buffer [zeros]
feF : filtered error buffer [zeros]
|
| 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 NC = 8 ; % Length of each filter NL = NC; % Block length % Initialize FDADJLMS algorithm with a controller of NC % coefficients and a block length NL. [NB,W,w,x,y,d,e,p,S,SE,yF,feF] = init_fdadjlms(NC,NL,sh,se); |
| Remarks |
|
| See Also |
| ASPTFDADJLMS, ANVC_ FDADJLMS, ASPTMCADJLMS, ASPTADJLMS, ASPTMCFDADJLMS. |