Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

gr_iir_filter_ffd Class Reference
[Filters]

#include <gr_iir_filter_ffd.h>

Inheritance diagram for gr_iir_filter_ffd:

Inheritance graph
[legend]
Collaboration diagram for gr_iir_filter_ffd:

Collaboration graph
[legend]
List of all members.

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.

fftaps and fbtaps must have equal numbers of taps

The input and output satisfy a difference equation of the form

\[ y[n] - \sum_{k=1}^{N} a_k y[n-k] = \sum_{k=0}^{M} b_k x[n-k] \]

with the corresponding rational system function

\[ H(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{1 - \sum_{k=1}^{N} a_k z^{-k}} \]

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.


Public Member Functions

 ~gr_iir_filter_ffd ()
void set_taps (const std::vector< double > &fftaps, const std::vector< double > &fbtaps) throw (std::invalid_argument)
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you

Friends

gr_iir_filter_ffd_sptr gr_make_iir_filter_ffd (const std::vector< double > &fftaps, const std::vector< double > &fbtaps) throw (std::invalid_argument)


Constructor & Destructor Documentation

gr_iir_filter_ffd::~gr_iir_filter_ffd  ) 
 


Member Function Documentation

void gr_iir_filter_ffd::set_taps const std::vector< double > &  fftaps,
const std::vector< double > &  fbtaps
throw (std::invalid_argument)
 

int gr_iir_filter_ffd::work int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items
[virtual]
 

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.


Friends And Related Function Documentation

gr_iir_filter_ffd_sptr gr_make_iir_filter_ffd const std::vector< double > &  fftaps,
const std::vector< double > &  fbtaps
throw (std::invalid_argument) [friend]
 


The documentation for this class was generated from the following files:
Generated on Sat Jul 8 17:12:54 2006 for GNU Radio 2.x by  doxygen 1.4.1