arduino-audio-tools
Loading...
Searching...
No Matches
IIR< T > Class Template Referenceabstract

Infinite Impulse Response (IIR) filter. Uses both feedforward (b[]) and feedback (a[]) coefficients. The a[0] coefficient is used to normalize all other coefficients. For integer types, an optional scaling factor is applied to preserve precision. More...

#include <CodecOpusOgg.h>

Inheritance diagram for IIR< T >:
Filter< float > Filter< float >

Public Member Functions

template<size_t B, size_t A>
 IIR (const T(&b)[B], const T(&_a)[A], T factor=1.0)
template<size_t B, size_t A>
 IIR (const T(&b)[B], const T(&_a)[A], T factor=1.0)
virtual float process (float in)=0
 Processes the input value and returns the filtered output value.
T process (T value) override
T process (T value) override
void reset () override
void reset () override

Detailed Description

template<typename T = float>
class audio_tools::audio_tools::IIR< T >

Infinite Impulse Response (IIR) filter. Uses both feedforward (b[]) and feedback (a[]) coefficients. The a[0] coefficient is used to normalize all other coefficients. For integer types, an optional scaling factor is applied to preserve precision.

Author
Pieter P tttapa / pschatzmann
Template Parameters
Tsample type (float, double, or integer types with a scaling factor)

Constructor & Destructor Documentation

◆ IIR() [1/2]

template<typename T = float>
template<size_t B, size_t A>
IIR ( const T(&) b[B],
const T(&) _a[A],
T factor = 1.0 )
inline

◆ IIR() [2/2]

template<typename T = float>
template<size_t B, size_t A>
IIR ( const T(&) b[B],
const T(&) _a[A],
T factor = 1.0 )
inline

Member Function Documentation

◆ process() [1/3]

virtual float process ( float in)
pure virtualinherited

Processes the input value and returns the filtered output value.

Implemented in BiQuadDF1< float >, and BiQuadDF2< float >.

◆ process() [2/3]

template<typename T = float>
T process ( T value)
inlineoverride

◆ process() [3/3]

template<typename T = float>
T process ( T value)
inlineoverride

◆ reset() [1/2]

template<typename T = float>
void reset ( )
inlineoverridevirtual

Clears the internal state (delay lines) without changing the coefficients. Call after reconfiguring filter parameters via begin() to avoid transients from stale state.

Reimplemented from Filter< float >.

◆ reset() [2/2]

template<typename T = float>
void reset ( )
inlineoverridevirtual

Clears the internal state (delay lines) without changing the coefficients. Call after reconfiguring filter parameters via begin() to avoid transients from stale state.

Reimplemented from Filter< float >.


The documentation for this class was generated from the following files: