Public Member Functions |
| iir_filter (const std::vector< tap_type > &fftaps, const std::vector< tap_type > &fbtaps, bool oldstyle=true) throw (std::invalid_argument) |
| Construct an IIR with the given taps.
|
| iir_filter () |
| ~iir_filter () |
o_type | filter (const i_type input) |
| compute a single output value.
|
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.
|
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.
|
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
\p fftaps contains the feed-forward taps, and \p fbtaps the feedback ones.
\p fftaps and \p fbtaps must have equal numbers of taps
\p 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
with the corresponding rational system function
References gr::filter::kernel::iir_filter< i_type, o_type, tap_type >::d_oldstyle, and gr::filter::kernel::iir_filter< i_type, o_type, tap_type >::set_taps().