Arduino Filters master
Filter library for Arduino
Classes | Typedefs | Functions
IIRFilter.hpp File Reference
#include <AH/Containers/Array.hpp>
#include <AH/STL/type_traits>
#include <Filters/TransferFunction.hpp>
+ Include dependency graph for IIRFilter.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...
 

Typedef Documentation

◆ IIRImplementation

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.