| Purpose |
| Creates and initializes the variables required for the Frequency Domain Filtered-X Least Mean Squares (FDFXLMS) 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,fxF]=init_fdfxlms(NC,NL,s,se)
[NB,W,w,x,y,d,e,p,S,SE,yF,fxF]=init_fdfxlms(NC,NL,s,se,w0,xn0,d0)
|
| Description |
The FDFXLMS is a block processing algorithm which performs filtering and coefficient update
in the frequency domain.The variables of the FDFXLMS are shows in Fig. 7.19
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 : FIR model of the secondary path in time domain [M x 1]
se : estimate of secondary path in time domain [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 fx(f)
S : frequency domain secondary path [fft(s,NB)]
SE : frequency domain estimated s [fft(se,NB)]
yF : output vector buffer [zeros]
fxF : filtered-x 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 FDFXLMS algorithm with a controller of NC % coefficients and a block length NL. [NB,W,w,x,y,d,e,p,S,SE,yF,fxF] = init_fdfxlms(NC,NL,sh,se) |
| Remarks |
|
| See Also |
| ASPTFDFXLMS, ANVC_ FDFXLMS, ASPTMCFXLMS, ASPTFXLMS, ASPTMCFDFXLMS. |