Products & Services Solutions Academia Support User Community Company

Learn more about Signal Processing Toolbox   

dfilt.fftfir - Discrete-time, overlap-add, FIR filter

Syntax

Hd = dfilt.fftfir(b,len)
Hd = dfilt.fftfir(b)
Hd = dfilt.fftfir

Description

This object uses the overlap-add method of block FIR filtering, which is very efficient for streaming data.

Hd = dfilt.fftfir(b,len) returns a discrete-time, FFT, FIR filter, Hd, with numerator coefficients, b and block length, len. The block length is the number of input points to use for each overlap-add computation.

Hd = dfilt.fftfir(b) returns a discrete-time, FFT, FIR filter, Hd, with numerator coefficients, b and block length, len=100.

Hd = dfilt.fftfir returns a default, discrete-time, FFT, FIR filter, Hd, with the numerator b=1 and block length, len=100. This filter passes the input through to the output unchanged.

The fftfir uses an overlap-add block processing algorithm, which is represented as follows,

where len is the block length and M is the length of the numerator-1, (length(b)-1), which is also the number of states. The output of each convolution is a block that is longer than the input block by a tail of (length(b)-1) samples. These tails overlap the next block and are added to it. The states reported by dfilt.fftfir are the tails of the final convolution.

Examples

Create an FFT FIR discrete-time filter with coefficients from a 30th order lowpass equiripple design:

b = firpm(30,[0 .1 .2 .5]*2,[1 1 0 0]);
Hd = dfilt.fftfir(b)
Hd =
        FilterStructure: 'Overlap-Add FIR'
              Numerator: [1x31 double]
            BlockLength: 100
    NonProcessedSamples: []
       PersistentMemory: false

To view the frequency domain coefficients used in the filtering, use the following command.

fftcoeffs(Hd)

See Also

dfilt, dfilt.dffir, dfilt.dfasymfir, dfilt.dffirt, dfilt.dfsymfir

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

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