|
| | iir_filter (const std::vector< tap_type > &fftaps, const std::vector< tap_type > &fbtaps) throw (std::invalid_argument) |
| | Construct an IIR with the given taps. More...
|
| |
| | iir_filter () |
| |
| | ~iir_filter () |
| |
| o_type | filter (const i_type input) |
| | compute a single output value. More...
|
| |
| void | filter_n (o_type output[], const i_type input[], long n) |
| | compute an array of N output values. input must have N valid entries. More...
|
| |
| unsigned | ntaps_ff () const |
| |
| unsigned | ntaps_fb () const |
| |
| void | set_taps (const std::vector< tap_type > &fftaps, const std::vector< tap_type > &fbtaps) throw (std::invalid_argument) |
| | install new taps. More...
|
| |
template<class i_type, class o_type, class tap_type>
class gr::filter::kernel::iir_filter< i_type, o_type, tap_type >
base class template for Infinite Impulse Response filter (IIR)
template<class i_type, class o_type, class tap_type>
Construct an IIR with the given 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
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.