GNU Radio 3.7.1 C++ API
gr::filter::iir_filter_ffd Class Reference

IIR filter with float input, float output and double taps. More...

#include <iir_filter_ffd.h>

Inheritance diagram for gr::filter::iir_filter_ffd:

List of all members.

Public Types

typedef boost::shared_ptr
< iir_filter_ffd
sptr

Public Member Functions

virtual void set_taps (const std::vector< double > &fftaps, const std::vector< double > &fbtaps)=0

Static Public Member Functions

static sptr make (const std::vector< double > &fftaps, const std::vector< double > &fbtaps, bool oldstyle=true)

Detailed Description

IIR filter with float input, float output and double taps.

This filter uses the Direct Form I implementation, where fftaps contains the feed-forward taps, and fbtaps the feedback ones.

oldstyle: The old style of the IIR filter uses feedback taps that are negative of what most definitions use (scipy and Matlab among them). This parameter keeps using the old GNU Radio style and is set to TRUE by default. When taps generated from scipy, Matlab, or gr_filter_design, use the new style by setting this to FALSE.

The input and output satisfy a difference equation of the form \f{ y[n] - \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k] \f}

with the corresponding rational system function \f{ H(z) = \ frac{\sum_{k=0}^{M} b_k z^{-k}}{1 - \sum_{k=1}^{N} a_k z^{-k}} \f}


Member Typedef Documentation


Member Function Documentation

static sptr gr::filter::iir_filter_ffd::make ( const std::vector< double > &  fftaps,
const std::vector< double > &  fbtaps,
bool  oldstyle = true 
) [static]
virtual void gr::filter::iir_filter_ffd::set_taps ( const std::vector< double > &  fftaps,
const std::vector< double > &  fbtaps 
) [pure virtual]

The documentation for this class was generated from the following file: