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

Second-order band-pass filter (BiQuad DF2). Passes frequencies near the center frequency and attenuates those further away. The bandwidth is controlled by the Q factor: higher Q produces a narrower passband. Coefficients are derived from the Audio EQ Cookbook. More...

#include <Filter.h>

Inheritance diagram for BandPassFilter< T >:
BiQuadDF2< T > Filter< T >

Public Member Functions

 BandPassFilter ()=default
 
 BandPassFilter (float frequency, float sampleRate, float q=1.0)
 
void begin (float frequency, float sampleRate, float q=1.0)
 
T process (T value) override
 Processes the input value and returns the filtered output value.
 
void reset () override
 

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::BandPassFilter< T >

Second-order band-pass filter (BiQuad DF2). Passes frequencies near the center frequency and attenuates those further away. The bandwidth is controlled by the Q factor: higher Q produces a narrower passband. Coefficients are derived from the Audio EQ Cookbook.

Parameters
frequencycenter frequency in Hz
sampleRatesample rate in Hz
qquality factor (default 1.0; higher values narrow the passband)
Author
pschatzmann
Template Parameters
Tsample type (use float or double)

Constructor & Destructor Documentation

◆ BandPassFilter() [1/2]

template<typename T >
BandPassFilter ( )
default

◆ BandPassFilter() [2/2]

template<typename T >
BandPassFilter ( float  frequency,
float  sampleRate,
float  q = 1.0 
)
inline

Member Function Documentation

◆ begin()

template<typename T >
void begin ( float  frequency,
float  sampleRate,
float  q = 1.0 
)
inline

◆ process()

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

Processes the input value and returns the filtered output value.

Implements Filter< T >.

◆ reset()

template<typename T >
void reset ( )
inlineoverridevirtualinherited

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
protectedinherited

◆ a_2

template<typename T >
T a_2 = 0
protectedinherited

◆ b_0

template<typename T >
T b_0 = 0
protectedinherited

◆ b_1

template<typename T >
T b_1 = 0
protectedinherited

◆ b_2

template<typename T >
T b_2 = 0
protectedinherited

◆ w_0

template<typename T >
T w_0 = 0
protectedinherited

◆ w_1

template<typename T >
T w_1 = 0
protectedinherited

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