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

Second-order notch (band-reject) filter (BiQuad DF2). Rejects frequencies near the center frequency and passes those further away. Useful for removing a specific unwanted frequency (e.g. mains hum at 50/60 Hz). Coefficients are derived from the Audio EQ Cookbook. More...

#include <Filter.h>

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

Public Member Functions

 NotchFilter ()=default
 
 NotchFilter (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::NotchFilter< T >

Second-order notch (band-reject) filter (BiQuad DF2). Rejects frequencies near the center frequency and passes those further away. Useful for removing a specific unwanted frequency (e.g. mains hum at 50/60 Hz). Coefficients are derived from the Audio EQ Cookbook.

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

Constructor & Destructor Documentation

◆ NotchFilter() [1/2]

template<typename T >
NotchFilter ( )
default

◆ NotchFilter() [2/2]

template<typename T >
NotchFilter ( 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: