Filter Design Toolbox    
adaptfilt.pbufdaf

Construct a partitioned block unconstrained frequency-domain (PBUFDAF) FIR adaptive filter with binned step size normalization

Syntax

Description

ha = adaptfilt.pbufdaf(l,step,leakage,delta,lambda,blocklen,...
offset,coeffs,states)
constructs a partitioned block unconstrained frequency-domain FIR adaptive filter ha with bin step size normalization.

Input Arguments

Entries in the following table describe the input arguments for adaptfilt.pbufdaf.

Input Argument
Description
l
Adaptive filter length (the number of coefficients or taps) and it must be a positive integer. L defaults to 10.
step
Step size of the adaptive filter. This is a scalar and should lie in the range (0,1]. step defaults to 1.
leakage
Leakage parameter of the adaptive filter. When you set this argument to a value between zero and one, a leaky version of the PBFDAF algorithm is implemented. leakage defaults to 1-- no leakage.
delta
Initial common value of all of the FFT input signal powers. Its initial value should be positive. delta defaults to 1.
lambda
Averaging factor used to compute the exponentially windowed FFT input signal powers for the coefficient updates. lambda should lie in the range (0,1]. lambda defaults to 0.9.
blocklen
Block length for the coefficient updates. This must be a positive integer such that (l/blocklen) is also an integer. For faster execution, blocklen should be a power of two. blocklen defaults to two.
offset
Offset for the normalization terms in the coefficient updates. This can be useful to avoid divide by zeros conditions, or dividing by very small numbers, if any of the FFT input signal powers become very small. offset defaults to zero.
coeffs
Initial time-domain coefficients of the adaptive filter. It should be a vector of length l. The PBFDAF algorithm uses these coefficients to compute the initial frequency-domain filter coefficient matrix via FFTs.
states
Specifies the filter initial conditions. states defaults to a zero vector of length l.

adaptfilt.pbufdaf Object Properties

Since your adaptfilt.pbufdaf filter is an object, it has properties that define its behavior in operation. Note that many of the properties are also input arguments for creating adaptfilt.pbufdaf objects. To show you the properties that apply, this table lists and describes each property for the filter object.

Name
Range
Description
Algorithm
None
Defines the adaptive filter algorithm the object uses during adaptation
FilterLength
Any positive integer
Reports the length of the filter, the number of coefficients or taps
StepSize
1
Step size of the adaptive filter. This is a scalar and should lie in the range (0,1]. step defaults to 1.
Leakage
1
Leakage parameter of the adaptive filter. When you set this argument to a value between zero and one, a leaky version of the PBFDAF algorithm is implemented. leakage defaults to 1-- no leakage.
Power
2*l element vector
A vector of 2*l elements, each initialized with the value delta from the unput arguments. As you filter data, Power gets updated by the filter process.
AvgFactor

Averaging factor used to compute the exponentially windowed FFT input signal powers for the coefficient updates. AvgFactor should lie in the range (0,1]. AvgFactor defaults to 0.9. Called lambda as an input argument.
BlockLength

Block length for the coefficient updates. This must be a positive integer such that (l/blocklen) is also an integer. For faster execution, blocklen should be a power of two. blocklen defaults to two.
Offset

Offset for the normalization terms in the coefficient updates. This can be useful to avoid divide by zeros conditions, or dividing by very small numbers, if any of the FFT input signal powers become very small. offset defaults to zero.
FFTCoefficients

Stores the discrete Fourier transform of the filter coefficients in coeffs.
FFTStates


ResetBeforeFiltering
off or on
Determine whether the filter states get restored to their starting values for each filtering operation. The starting values are the values in place when you create the filter. ResetBeforeFiltering returns to zero any state that the filter changes during processing. States that the filter does not change are not affected. Defaults to 'on'.
NumSamplesProcessed
Any integer
Returns the number of samples processed during filtering. As a check, the number of samples reported processed plus the number of nonprocessed samples should be the total number of input samples. Defaults to zero.

Examples

Demonstrating Quadrature Phase Shift Keying (QPSK) adaptive equalization using a 32-coefficient FIR filter. To perform the equalization, this example runs for 1000 iterations.

See Also

adaptfilt.ufdaf, adaptfilt.pbfdaf, adaptfilt.sbaf, adaptfilt.blmsfft

References

J.S. So and K.K. Pang, "Multidelay Block Frequency Domain Adaptive Filter," IEEE Trans. Acoustics, Speech, and Signal Processing, vol. 38, no. 2, pp. 373-376, February 1990

J.M. Paez Borrallo and M.G. Otero, "On The Implementation of a Partitioned Block Frequency Domain Adaptive Filter (PBFDAF) for Long Acoustic Echo Cancellation," Signal Processing, vol. 27, no. 3, pp. 301-315, June 1992


  adaptfilt.pbfdaf adaptfilt.qrdlsl 

Learn more about the latest releases of MathWorks products:

 © 1994-2009 The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS