#include <AH/Containers/Array.hpp>
#include <AH/STL/type_traits>
#include <Filters/TransferFunction.hpp>
Go to the source code of this file.
Classes | |
class | NonNormalizingIIRFilter< NB, NA, T > |
Infinite Impulse Response filter implementation that does not normalize the coefficients upon initialization, the division by \( a_0 \) is carried out on each filter iteration. More... | |
class | NormalizingIIRFilter< NB, NA, T > |
Infinite Impulse Response filter implementation that normalizes the coefficients upon initialization. More... | |
class | IIRFilter< NB, NA, T > |
Generic Infinite Impulse Response filter class. More... | |
Typedefs | |
template<uint8_t NB, uint8_t NA, class T > | |
using | IIRImplementation = typename std::conditional< std::is_floating_point< T >::value, NormalizingIIRFilter< NB, NA, T >, NonNormalizingIIRFilter< NB, NA, T > >::type |
Select the NormalizingIIRFilter implementation if T is a floating point type, NonNormalizingIIRFilter otherwise. More... | |
Functions | |
template<size_t NB, size_t NA, class T = float> | |
IIRFilter< NB, NA, T > | makeIIRFilter (const TransferFunction< NB, NA, T > &tf) |
Create an IIRFilter from the given transfer function. More... | |
template<size_t NB, size_t NA, class T = float> | |
IIRFilter< NB, NA, T > | makeIIRFilter (const AH::Array< T, NB > &b_coefficients, const AH::Array< T, NA > &a_coefficients) |
Create an IIRFilter from the given transfer function coefficients. More... | |
using IIRImplementation = typename std::conditional<std::is_floating_point<T>::value, NormalizingIIRFilter<NB, NA, T>, NonNormalizingIIRFilter<NB, NA, T> >::type |
Select the NormalizingIIRFilter implementation if T
is a floating point type, NonNormalizingIIRFilter otherwise.
Definition at line 213 of file IIRFilter.hpp.