JUCE
Public Types | Public Member Functions | Public Attributes | List of all members
dsp::StateVariableFilter::Parameters< NumericType > Struct Template Reference

Structure used for the state variable filter parameters. More...

Public Types

enum  Type { Type::lowPass, Type::bandPass, Type::highPass }
 
using Ptr = ReferenceCountedObjectPtr< Parameters >
 The Coefficients structure is ref-counted, so this is a handy type that can be used as a pointer to one. More...
 

Public Member Functions

void setCutOffFrequency (double sampleRate, NumericType frequency, NumericType resonance=static_cast< NumericType >(1.0/MathConstants< double >::sqrt2)) noexcept
 Sets the cutoff frequency and resonance of the IIR filter. More...
 
 Parameters ()=default
 
 Parameters (const Parameters &o)
 
Parametersoperator= (const Parameters &o) noexcept
 

Public Attributes

Type type = Type::lowPass
 The type of the IIR filter. More...
 
NumericType g = static_cast<NumericType> (std::tan (MathConstants<double>::pi * 200.0 / 44100.0))
 
NumericType R2 = static_cast<NumericType> (MathConstants<double>::sqrt2)
 
NumericType h = static_cast<NumericType> (1.0 / (1.0 + R2 * g + g * g))
 

Detailed Description

template<typename NumericType>
struct dsp::StateVariableFilter::Parameters< NumericType >

Structure used for the state variable filter parameters.

Member Typedef Documentation

◆ Ptr

template<typename NumericType >
using dsp::StateVariableFilter::Parameters< NumericType >::Ptr = ReferenceCountedObjectPtr<Parameters>

The Coefficients structure is ref-counted, so this is a handy type that can be used as a pointer to one.

Member Enumeration Documentation

◆ Type

template<typename NumericType >
enum dsp::StateVariableFilter::Parameters::Type
strong
Enumerator
lowPass 
bandPass 
highPass 

Constructor & Destructor Documentation

◆ Parameters() [1/2]

template<typename NumericType >
dsp::StateVariableFilter::Parameters< NumericType >::Parameters ( )
default

◆ Parameters() [2/2]

template<typename NumericType >
dsp::StateVariableFilter::Parameters< NumericType >::Parameters ( const Parameters< NumericType > &  o)

Member Function Documentation

◆ setCutOffFrequency()

template<typename NumericType >
void dsp::StateVariableFilter::Parameters< NumericType >::setCutOffFrequency ( double  sampleRate,
NumericType  frequency,
NumericType  resonance = static_cast<NumericType> (1.0 / MathConstants<double>::sqrt2) 
)
noexcept

Sets the cutoff frequency and resonance of the IIR filter.

Note: The bandwidth of the resonance increases with the value of the parameter. To have a standard 12 dB/octave filter, the value must be set at 1 / sqrt(2).

References dsp::StateVariableFilter::Parameters< NumericType >::g, dsp::StateVariableFilter::Parameters< NumericType >::h, jassert, and dsp::StateVariableFilter::Parameters< NumericType >::R2.

◆ operator=()

template<typename NumericType >
Parameters& dsp::StateVariableFilter::Parameters< NumericType >::operator= ( const Parameters< NumericType > &  o)
noexcept

Member Data Documentation

◆ type

template<typename NumericType >
Type dsp::StateVariableFilter::Parameters< NumericType >::type = Type::lowPass

The type of the IIR filter.

◆ g

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::g = static_cast<NumericType> (std::tan (MathConstants<double>::pi * 200.0 / 44100.0))

◆ R2

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::R2 = static_cast<NumericType> (MathConstants<double>::sqrt2)

◆ h

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::h = static_cast<NumericType> (1.0 / (1.0 + R2 * g + g * g))

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