#include <Filters/IIRFilter.hpp>
Generic Infinite Impulse Response filter class.
Uses the NormalizingIIRFilter implementation for floating point types, and NonNormalizingIIRFilter for all other types.
Implements the following difference equation using the Direct-Form 1 implementation:
\[ y[n] = \frac{1}{a_0} \left(\sum_{i=0}^{N_b-1} b_i \cdot x[n-i] - \sum_{i=1}^{N_a-1} a_i \cdot y[n-i] \right) \]
Definition at line 236 of file IIRFilter.hpp.
Public Member Functions | |
IIRFilter (const AH::Array< T, NB > &b_coefficients, const AH::Array< T, NA > &a_coefficients) | |
Construct a new IIR Filter object. More... | |
IIRFilter (const TransferFunction< NB, NA, T > &tf) | |
T | operator() (T input) |
Update the internal state with the new input \( x[n] \) and return the new output \( y[n] \). More... | |
|
inline |
Construct a new IIR Filter object.
The coefficients \( b \) and \( a \) can be derived from the transfer function:
\[ H(z) = \frac{b_0 + b_1 z^{-1} + \ldots + b_{N_b} z ^{-N_b}} {a_0 + a_1 z^{-1} + \ldots + a_{N_b} z ^{-N_a}} \]
b_coefficients | The coefficients of the transfer function numerator. |
a_coefficients | The coefficients of the transfer function denominator. |
Definition at line 254 of file IIRFilter.hpp.
|
inline |
Definition at line 258 of file IIRFilter.hpp.
|
inline |
Update the internal state with the new input \( x[n] \) and return the new output \( y[n] \).
input | The new input \( x[n] \). |
Definition at line 269 of file IIRFilter.hpp.