GNU Radio 3.6.5 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:
gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter gr::filter::iir_filter_ffd_impl

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)

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.

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}

Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback taps.


Member Typedef Documentation


Member Function Documentation

static sptr gr::filter::iir_filter_ffd::make ( const std::vector< double > &  fftaps,
const std::vector< double > &  fbtaps 
) [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: