Static Public Member Functions | List of all members
dsp::IIR::ArrayCoefficients< NumericType > Struct Template Reference

A set of coefficients for use in an Filter object. More...

Static Public Member Functions

static std::array< NumericType, 4 > makeFirstOrderLowPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a first order low-pass filter. More...
 
static std::array< NumericType, 4 > makeFirstOrderHighPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a first order high-pass filter. More...
 
static std::array< NumericType, 4 > makeFirstOrderAllPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a first order all-pass filter. More...
 
static std::array< NumericType, 6 > makeLowPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a low-pass filter. More...
 
static std::array< NumericType, 6 > makeLowPass (double sampleRate, NumericType frequency, NumericType Q)
 Returns the coefficients for a low-pass filter with variable Q. More...
 
static std::array< NumericType, 6 > makeHighPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a high-pass filter. More...
 
static std::array< NumericType, 6 > makeHighPass (double sampleRate, NumericType frequency, NumericType Q)
 Returns the coefficients for a high-pass filter with variable Q. More...
 
static std::array< NumericType, 6 > makeBandPass (double sampleRate, NumericType frequency)
 Returns the coefficients for a band-pass filter. More...
 
static std::array< NumericType, 6 > makeBandPass (double sampleRate, NumericType frequency, NumericType Q)
 Returns the coefficients for a band-pass filter with variable Q. More...
 
static std::array< NumericType, 6 > makeNotch (double sampleRate, NumericType frequency)
 Returns the coefficients for a notch filter. More...
 
static std::array< NumericType, 6 > makeNotch (double sampleRate, NumericType frequency, NumericType Q)
 Returns the coefficients for a notch filter with variable Q. More...
 
static std::array< NumericType, 6 > makeAllPass (double sampleRate, NumericType frequency)
 Returns the coefficients for an all-pass filter. More...
 
static std::array< NumericType, 6 > makeAllPass (double sampleRate, NumericType frequency, NumericType Q)
 Returns the coefficients for an all-pass filter with variable Q. More...
 
static std::array< NumericType, 6 > makeLowShelf (double sampleRate, NumericType cutOffFrequency, NumericType Q, NumericType gainFactor)
 Returns the coefficients for a low-pass shelf filter with variable Q and gain. More...
 
static std::array< NumericType, 6 > makeHighShelf (double sampleRate, NumericType cutOffFrequency, NumericType Q, NumericType gainFactor)
 Returns the coefficients for a high-pass shelf filter with variable Q and gain. More...
 
static std::array< NumericType, 6 > makePeakFilter (double sampleRate, NumericType centreFrequency, NumericType Q, NumericType gainFactor)
 Returns the coefficients for a peak filter centred around a given frequency, with a variable Q and gain. More...
 

Detailed Description

template<typename NumericType>
struct dsp::IIR::ArrayCoefficients< NumericType >

A set of coefficients for use in an Filter object.

Member Function Documentation

◆ makeFirstOrderLowPass()

template<typename NumericType >
static std::array<NumericType, 4> dsp::IIR::ArrayCoefficients< NumericType >::makeFirstOrderLowPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a first order low-pass filter.

◆ makeFirstOrderHighPass()

template<typename NumericType >
static std::array<NumericType, 4> dsp::IIR::ArrayCoefficients< NumericType >::makeFirstOrderHighPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a first order high-pass filter.

◆ makeFirstOrderAllPass()

template<typename NumericType >
static std::array<NumericType, 4> dsp::IIR::ArrayCoefficients< NumericType >::makeFirstOrderAllPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a first order all-pass filter.

◆ makeLowPass() [1/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeLowPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a low-pass filter.

◆ makeLowPass() [2/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeLowPass ( double  sampleRate,
NumericType  frequency,
NumericType  Q 
)
static

Returns the coefficients for a low-pass filter with variable Q.

◆ makeHighPass() [1/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeHighPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a high-pass filter.

◆ makeHighPass() [2/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeHighPass ( double  sampleRate,
NumericType  frequency,
NumericType  Q 
)
static

Returns the coefficients for a high-pass filter with variable Q.

◆ makeBandPass() [1/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeBandPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a band-pass filter.

◆ makeBandPass() [2/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeBandPass ( double  sampleRate,
NumericType  frequency,
NumericType  Q 
)
static

Returns the coefficients for a band-pass filter with variable Q.

◆ makeNotch() [1/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeNotch ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for a notch filter.

◆ makeNotch() [2/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeNotch ( double  sampleRate,
NumericType  frequency,
NumericType  Q 
)
static

Returns the coefficients for a notch filter with variable Q.

◆ makeAllPass() [1/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeAllPass ( double  sampleRate,
NumericType  frequency 
)
static

Returns the coefficients for an all-pass filter.

◆ makeAllPass() [2/2]

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeAllPass ( double  sampleRate,
NumericType  frequency,
NumericType  Q 
)
static

Returns the coefficients for an all-pass filter with variable Q.

◆ makeLowShelf()

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeLowShelf ( double  sampleRate,
NumericType  cutOffFrequency,
NumericType  Q,
NumericType  gainFactor 
)
static

Returns the coefficients for a low-pass shelf filter with variable Q and gain.

The gain is a scale factor that the low frequencies are multiplied by, so values greater than 1.0 will boost the low frequencies, values less than 1.0 will attenuate them.

◆ makeHighShelf()

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makeHighShelf ( double  sampleRate,
NumericType  cutOffFrequency,
NumericType  Q,
NumericType  gainFactor 
)
static

Returns the coefficients for a high-pass shelf filter with variable Q and gain.

The gain is a scale factor that the high frequencies are multiplied by, so values greater than 1.0 will boost the high frequencies, values less than 1.0 will attenuate them.

◆ makePeakFilter()

template<typename NumericType >
static std::array<NumericType, 6> dsp::IIR::ArrayCoefficients< NumericType >::makePeakFilter ( double  sampleRate,
NumericType  centreFrequency,
NumericType  Q,
NumericType  gainFactor 
)
static

Returns the coefficients for a peak filter centred around a given frequency, with a variable Q and gain.

The gain is a scale factor that the centre frequencies are multiplied by, so values greater than 1.0 will boost the centre frequencies, values less than 1.0 will attenuate them.


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