arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BiQuadDF2< T > Class Template Reference

Second-order IIR filter in Direct Form II. Uses a single delay line, requiring less memory than DF1. This is the base class for the ready-to-use filter types (LowPassFilter, HighPassFilter, BandPassFilter, NotchFilter, LowShelfFilter, HighShelfFilter) which compute their coefficients from frequency, sample rate and Q/gain parameters. More...

#include <Filter.h>

Inheritance diagram for BiQuadDF2< T >:
Filter< T > LowPassFilter< float > BandPassFilter< T > HighPassFilter< T > HighShelfFilter< T > LowPassFilter< T > LowShelfFilter< T > NotchFilter< T >

Public Member Functions

 BiQuadDF2 (const T(&b)[3], const T(&a)[2])
 
 BiQuadDF2 (const T(&b)[3], const T(&a)[2], T gain)
 
 BiQuadDF2 (const T(&b)[3], const T(&a)[3])
 
 BiQuadDF2 (const T(&b)[3], const T(&a)[3], T gain)
 
T process (T value) override
 Processes the input value and returns the filtered output value.
 
void reset () override
 

Protected Member Functions

 BiQuadDF2 ()=default
 

Protected Attributes

T a_1 = 0
 
T a_2 = 0
 
T b_0 = 0
 
T b_1 = 0
 
T b_2 = 0
 
T w_0 = 0
 
T w_1 = 0
 

Detailed Description

template<typename T>
class audio_tools::BiQuadDF2< T >

Second-order IIR filter in Direct Form II. Uses a single delay line, requiring less memory than DF1. This is the base class for the ready-to-use filter types (LowPassFilter, HighPassFilter, BandPassFilter, NotchFilter, LowShelfFilter, HighShelfFilter) which compute their coefficients from frequency, sample rate and Q/gain parameters.

Author
Pieter P tttapa / pschatzmann
Template Parameters
Tsample type (use float or double, not integer types)

Constructor & Destructor Documentation

◆ BiQuadDF2() [1/5]

template<typename T >
BiQuadDF2 ( const T(&)  b[3],
const T(&)  a[3] 
)
inline

◆ BiQuadDF2() [2/5]

template<typename T >
BiQuadDF2 ( const T(&)  b[3],
const T(&)  a[2] 
)
inline

◆ BiQuadDF2() [3/5]

template<typename T >
BiQuadDF2 ( const T(&)  b[3],
const T(&)  a[2],
T  gain 
)
inline

◆ BiQuadDF2() [4/5]

template<typename T >
BiQuadDF2 ( const T(&)  b[3],
const T(&)  a[3],
T  gain 
)
inline

◆ BiQuadDF2() [5/5]

template<typename T >
BiQuadDF2 ( )
protecteddefault

Member Function Documentation

◆ process()

template<typename T >
T process ( T  in)
inlineoverridevirtual

Processes the input value and returns the filtered output value.

Implements Filter< T >.

◆ reset()

template<typename T >
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< T >.

Member Data Documentation

◆ a_1

template<typename T >
T a_1 = 0
protected

◆ a_2

template<typename T >
T a_2 = 0
protected

◆ b_0

template<typename T >
T b_0 = 0
protected

◆ b_1

template<typename T >
T b_1 = 0
protected

◆ b_2

template<typename T >
T b_2 = 0
protected

◆ w_0

template<typename T >
T w_0 = 0
protected

◆ w_1

template<typename T >
T w_1 = 0
protected

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