next up previous contents
Next: 23 init_ blms Up: 4 Transversal and Linear Previous: 21 init_ arlmsnewt   Contents


22 init_ bfdaf

Purpose
Creates and initializes the variables required for the Block Frequency Domain Adaptive Filter (BFDAF) algorithm.

Syntax
[W,x,d,e,y,Px,w]=init_bfdaf(L,M)
[W,x,d,e,y,Px,w]=init_bfdaf(L,M,W0,x0,d0)



Description
The variables of the BFDAF are summarized below (see Fig. 4.2). The FFT length B is internally calculated using the equation $B= 2 ^{nextpow2(L+M-1)}$.
  L  : new samples per block (block length)
  M  : filter length in time domain
  W0 : initial frequency domain filter coef. vector [B x 1]
  x0 : initial overlap-save input vector [B x 1]
  d0 : initial desired response vector [L x 1]

Output parameters [default]::
  W  : initialized freq. domain filter coef. vector [zeros]
  x  : initialized input vector [zeros]
  d  : initialized desired response vector [white noise]
  e  : initialized error vector 
  y  : initialized filter output 
  Px : initialized estimate of the power of x
  w  : initialized time domain coefficients vector (optional)


Example
L  = 128;                % Block length
M  = 128;                % Filter Length 
B  = 2^nextpow2(L+M-1);  % FFT length
w0 = zeros(B,1);         % initial filter coef. 
x0 = rand(M,1);          % initial input buffer
d0 = rand(L,1);          % desired block

% Create and initialize a BFDAF FIR filter
[W,x,d,e,y,Px,w]=init_bfdaf(L,M,w0,x0,d0);

Remarks
  • Supports both real and complex signals and filters.
  • Use input parameters 3 through 5 to initialize the algorithm 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
ASPTBFDAF, ECHO_ BFDAF.


next up previous contents
Next: 23 init_ blms Up: 4 Transversal and Linear Previous: 21 init_ arlmsnewt   Contents