This filter uses the Direct Form I implementation, where fftaps
contains the feed-forward taps, and fbtaps
the feedback ones.
More...
#include <gr_iir_filter_ffd.h>
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) |
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
with the corresponding rational system function
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.
gr_iir_filter_ffd::~gr_iir_filter_ffd | ( | ) |
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.
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] |