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

Second-order IIR filter in Direct Form I. Maintains separate input and output histories (x and y delay lines). Requires more memory than DF2 but is less susceptible to quantization issues with fixed-point arithmetic. More...

#include <Filter.h>

Inheritance diagram for BiQuadDF1< T >:
Filter< T > BandPassFilterDF1< T > HighPassFilterDF1< T > HighShelfFilterDF1< T > LowPassFilterDF1< T > LowShelfFilterDF1< T > NotchFilterDF1< T >

Public Member Functions

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

Protected Member Functions

 BiQuadDF1 ()=default
 

Protected Attributes

a_1 = 0
 
a_2 = 0
 
b_0 = 0
 
b_1 = 0
 
b_2 = 0
 
x_0 = 0
 
x_1 = 0
 
y_1 = 0
 
y_2 = 0
 

Detailed Description

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

Second-order IIR filter in Direct Form I. Maintains separate input and output histories (x and y delay lines). Requires more memory than DF2 but is less susceptible to quantization issues with fixed-point arithmetic.

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

Constructor & Destructor Documentation

◆ BiQuadDF1() [1/5]

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

◆ BiQuadDF1() [2/5]

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

◆ BiQuadDF1() [3/5]

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

◆ BiQuadDF1() [4/5]

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

◆ BiQuadDF1() [5/5]

template<typename T = float>
BiQuadDF1 ( )
protecteddefault

Member Function Documentation

◆ process()

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

Processes the input value and returns the filtered output value.

Implements Filter< T >.

◆ reset()

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

Member Data Documentation

◆ a_1

template<typename T = float>
T a_1 = 0
protected

◆ a_2

template<typename T = float>
T a_2 = 0
protected

◆ b_0

template<typename T = float>
T b_0 = 0
protected

◆ b_1

template<typename T = float>
T b_1 = 0
protected

◆ b_2

template<typename T = float>
T b_2 = 0
protected

◆ x_0

template<typename T = float>
T x_0 = 0
protected

◆ x_1

template<typename T = float>
T x_1 = 0
protected

◆ y_1

template<typename T = float>
T y_1 = 0
protected

◆ y_2

template<typename T = float>
T y_2 = 0
protected

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