OpenWareLaboratory
AbstractStateVariableFilter Class Reference

State Variable Filter based on Andy Simper's code and analysis: http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf This is a so-called Zero Delay Feedback, trapezoidal integration filter and is suited to audio rate modulation of filter coefficients. More...

Inheritance diagram for AbstractStateVariableFilter:

Public Member Functions

 AbstractStateVariableFilter (float sr)
 
void setAllPass (float fc, float q)
 
void setBandPass (float fc, float q)
 
void setBell (float fc, float q, float gain)
 
void setCutoff (float fc, float q)
 
void setHighPass (float fc, float q)
 
void setHighShelf (float fc, float q, float gain)
 
void setLowPass (float fc, float q)
 
void setLowShelf (float fc, float q, float gain)
 
void setNotch (float fc, float q)
 
void setPeak (float fc, float q)
 

Protected Member Functions

float kvalue (float fc, float q)
 

Protected Attributes

float a1 = 0.0f
 
float a2 = 0.0f
 
float a3 = 0.0f
 
float m0 = 0.0f
 
float m1 = 0.0f
 
float m2 = 0.0f
 
const float pioversr
 

Detailed Description

State Variable Filter based on Andy Simper's code and analysis: http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf This is a so-called Zero Delay Feedback, trapezoidal integration filter and is suited to audio rate modulation of filter coefficients.

Andy provides two versions of the algorithm: bounded form, and with unbounded 'g' term. Define SVF_COMPUTE_BOUNDED to use the bounded form (default).

Definition at line 18 of file StateVariableFilter.h.

Constructor & Destructor Documentation

◆ AbstractStateVariableFilter()

AbstractStateVariableFilter::AbstractStateVariableFilter ( float  sr)
inline

Definition at line 33 of file StateVariableFilter.h.

Member Function Documentation

◆ kvalue()

float AbstractStateVariableFilter::kvalue ( float  fc,
float  q 
)
inlineprotected

◆ setAllPass()

void AbstractStateVariableFilter::setAllPass ( float  fc,
float  q 
)
inline

Definition at line 98 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

◆ setBandPass()

void AbstractStateVariableFilter::setBandPass ( float  fc,
float  q 
)
inline

Definition at line 53 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

Referenced by StateVariableFilter::processBandPass().

◆ setBell()

void AbstractStateVariableFilter::setBell ( float  fc,
float  q,
float  gain 
)
inline

Definition at line 74 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

◆ setCutoff()

void AbstractStateVariableFilter::setCutoff ( float  fc,
float  q 
)
inline

Definition at line 35 of file StateVariableFilter.h.

References kvalue(), and m0.

Referenced by StateVariableFilter::processLowBandHighPass().

◆ setHighPass()

void AbstractStateVariableFilter::setHighPass ( float  fc,
float  q 
)
inline

Definition at line 47 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

Referenced by StateVariableFilter::processHighPass().

◆ setHighShelf()

void AbstractStateVariableFilter::setHighShelf ( float  fc,
float  q,
float  gain 
)
inline

Definition at line 90 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

◆ setLowPass()

void AbstractStateVariableFilter::setLowPass ( float  fc,
float  q 
)
inline

Definition at line 40 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

Referenced by StateVariableFilter::processLowPass().

◆ setLowShelf()

void AbstractStateVariableFilter::setLowShelf ( float  fc,
float  q,
float  gain 
)
inline

Definition at line 82 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

◆ setNotch()

void AbstractStateVariableFilter::setNotch ( float  fc,
float  q 
)
inline

Definition at line 60 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

◆ setPeak()

void AbstractStateVariableFilter::setPeak ( float  fc,
float  q 
)
inline

Definition at line 67 of file StateVariableFilter.h.

References kvalue(), m0, m1, and m2.

Field Documentation

◆ a1

float AbstractStateVariableFilter::a1 = 0.0f
protected

◆ a2

float AbstractStateVariableFilter::a2 = 0.0f
protected

◆ a3

float AbstractStateVariableFilter::a3 = 0.0f
protected

◆ m0

◆ m1

◆ m2

◆ pioversr

const float AbstractStateVariableFilter::pioversr
protected

Definition at line 105 of file StateVariableFilter.h.

Referenced by kvalue().


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