#include <gri_iir.h>
Collaboration diagram for gri_iir< i_type, o_type, tap_type >:

Public Member Functions | |
| gri_iir (const std::vector< tap_type > &fftaps, const std::vector< tap_type > &fbtaps) throw (std::invalid_argument) | |
| Construct an IIR with the given taps. | |
| gri_iir () | |
| ~gri_iir () | |
| 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 () const |
| void | set_taps (const std::vector< tap_type > &fftaps, const std::vector< tap_type > &fbtaps) throw (std::invalid_argument) |
| install new taps. | |
Protected Attributes | |
| std::vector< tap_type > | d_fftaps |
| std::vector< tap_type > | d_fbtaps |
| int | d_latest |
| std::vector< tap_type > | d_prev_output |
| std::vector< i_type > | d_prev_input |
|
||||||||||||||||
|
Construct an IIR with the given taps.
This filter uses the Direct Form I implementation, where
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. |
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||
|
compute a single output value.
|
|
||||||||||||||||||||
|
compute an array of N output values.
|
|
|||||||||
|
|
|
||||||||||||||||
|
install new taps.
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
1.4.1