| 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
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 |
|
| See Also |
| ASPTBFDAF, ECHO_ BFDAF. |