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

Second-order high-shelf filter (BiQuad DF2). Boosts or cuts frequencies above the shelf frequency by the specified gain (in dB) while leaving lower frequencies unchanged. Commonly used in tone controls and equalization. Coefficients are derived from the Audio EQ Cookbook. More...

#include <Filter.h>

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

Public Member Functions

 HighShelfFilter ()=default
 
 HighShelfFilter (float frequency, float sampleRate, float gain, float slope=1.0f)
 
void begin (float frequency, float sampleRate, float gain, float slope=1.0f)
 
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::HighShelfFilter< T >

Second-order high-shelf filter (BiQuad DF2). Boosts or cuts frequencies above the shelf frequency by the specified gain (in dB) while leaving lower frequencies unchanged. Commonly used in tone controls and equalization. Coefficients are derived from the Audio EQ Cookbook.

Parameters
frequencyshelf transition frequency in Hz
sampleRatesample rate in Hz
gainboost/cut in dB (positive = boost, negative = cut)
slopeshelf slope (default 1.0; values < 1.0 give a gentler slope)
Author
pschatzmann
Template Parameters
Tsample type (use float or double)

Constructor & Destructor Documentation

◆ HighShelfFilter() [1/2]

template<typename T >
HighShelfFilter ( )
default

◆ HighShelfFilter() [2/2]

template<typename T >
HighShelfFilter ( float  frequency,
float  sampleRate,
float  gain,
float  slope = 1.0f 
)
inline

Member Function Documentation

◆ begin()

template<typename T >
void begin ( float  frequency,
float  sampleRate,
float  gain,
float  slope = 1.0f 
)
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: