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

Public Member Functions

 IIRCoefficients () noexcept
 Creates a null set of coefficients (which will produce silence). More...
 
 IIRCoefficients (double c1, double c2, double c3, double c4, double c5, double c6) noexcept
 Directly constructs an object from the raw coefficients. More...
 
 IIRCoefficients (const IIRCoefficients &) noexcept
 Creates a copy of another filter. More...
 
IIRCoefficientsoperator= (const IIRCoefficients &) noexcept
 Creates a copy of another filter. More...
 
 ~IIRCoefficients () noexcept
 Destructor. More...
 

Static Public Member Functions

static IIRCoefficients makeLowPass (double sampleRate, double frequency) noexcept
 Returns the coefficients for a low-pass filter. More...
 
static IIRCoefficients makeLowPass (double sampleRate, double frequency, double Q) noexcept
 Returns the coefficients for a low-pass filter with variable Q. More...
 
static IIRCoefficients makeHighPass (double sampleRate, double frequency) noexcept
 Returns the coefficients for a high-pass filter. More...
 
static IIRCoefficients makeHighPass (double sampleRate, double frequency, double Q) noexcept
 Returns the coefficients for a high-pass filter with variable Q. More...
 
static IIRCoefficients makeBandPass (double sampleRate, double frequency) noexcept
 Returns the coefficients for a band-pass filter. More...
 
static IIRCoefficients makeBandPass (double sampleRate, double frequency, double Q) noexcept
 Returns the coefficients for a band-pass filter with variable Q. More...
 
static IIRCoefficients makeNotchFilter (double sampleRate, double frequency) noexcept
 Returns the coefficients for a notch filter. More...
 
static IIRCoefficients makeNotchFilter (double sampleRate, double frequency, double Q) noexcept
 Returns the coefficients for a notch filter with variable Q. More...
 
static IIRCoefficients makeAllPass (double sampleRate, double frequency) noexcept
 Returns the coefficients for an all-pass filter. More...
 
static IIRCoefficients makeAllPass (double sampleRate, double frequency, double Q) noexcept
 Returns the coefficients for an all-pass filter with variable Q. More...
 
static IIRCoefficients makeLowShelf (double sampleRate, double cutOffFrequency, double Q, float gainFactor) noexcept
 Returns the coefficients for a low-pass shelf filter with variable Q and gain. More...
 
static IIRCoefficients makeHighShelf (double sampleRate, double cutOffFrequency, double Q, float gainFactor) noexcept
 Returns the coefficients for a high-pass shelf filter with variable Q and gain. More...
 
static IIRCoefficients makePeakFilter (double sampleRate, double centreFrequency, double Q, float gainFactor) noexcept
 Returns the coefficients for a peak filter centred around a given frequency, with a variable Q and gain. More...
 

Public Attributes

float coefficients [5]
 The raw coefficients. More...
 

Detailed Description

A set of coefficients for use in an IIRFilter object.

See also
IIRFilter

Constructor & Destructor Documentation

◆ IIRCoefficients() [1/3]

IIRCoefficients::IIRCoefficients ( )
noexcept

Creates a null set of coefficients (which will produce silence).

◆ IIRCoefficients() [2/3]

IIRCoefficients::IIRCoefficients ( double  c1,
double  c2,
double  c3,
double  c4,
double  c5,
double  c6 
)
noexcept

Directly constructs an object from the raw coefficients.

Most people will want to use the static methods instead of this, but the constructor is public to allow tinkerers to create their own custom filters!

◆ IIRCoefficients() [3/3]

IIRCoefficients::IIRCoefficients ( const IIRCoefficients )
noexcept

Creates a copy of another filter.

◆ ~IIRCoefficients()

IIRCoefficients::~IIRCoefficients ( )
noexcept

Destructor.

Member Function Documentation

◆ operator=()

IIRCoefficients& IIRCoefficients::operator= ( const IIRCoefficients )
noexcept

Creates a copy of another filter.

◆ makeLowPass() [1/2]

static IIRCoefficients IIRCoefficients::makeLowPass ( double  sampleRate,
double  frequency 
)
staticnoexcept

Returns the coefficients for a low-pass filter.

◆ makeLowPass() [2/2]

static IIRCoefficients IIRCoefficients::makeLowPass ( double  sampleRate,
double  frequency,
double  Q 
)
staticnoexcept

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

◆ makeHighPass() [1/2]

static IIRCoefficients IIRCoefficients::makeHighPass ( double  sampleRate,
double  frequency 
)
staticnoexcept

Returns the coefficients for a high-pass filter.

◆ makeHighPass() [2/2]

static IIRCoefficients IIRCoefficients::makeHighPass ( double  sampleRate,
double  frequency,
double  Q 
)
staticnoexcept

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

◆ makeBandPass() [1/2]

static IIRCoefficients IIRCoefficients::makeBandPass ( double  sampleRate,
double  frequency 
)
staticnoexcept

Returns the coefficients for a band-pass filter.

◆ makeBandPass() [2/2]

static IIRCoefficients IIRCoefficients::makeBandPass ( double  sampleRate,
double  frequency,
double  Q 
)
staticnoexcept

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

◆ makeNotchFilter() [1/2]

static IIRCoefficients IIRCoefficients::makeNotchFilter ( double  sampleRate,
double  frequency 
)
staticnoexcept

Returns the coefficients for a notch filter.

◆ makeNotchFilter() [2/2]

static IIRCoefficients IIRCoefficients::makeNotchFilter ( double  sampleRate,
double  frequency,
double  Q 
)
staticnoexcept

Returns the coefficients for a notch filter with variable Q.

◆ makeAllPass() [1/2]

static IIRCoefficients IIRCoefficients::makeAllPass ( double  sampleRate,
double  frequency 
)
staticnoexcept

Returns the coefficients for an all-pass filter.

◆ makeAllPass() [2/2]

static IIRCoefficients IIRCoefficients::makeAllPass ( double  sampleRate,
double  frequency,
double  Q 
)
staticnoexcept

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

◆ makeLowShelf()

static IIRCoefficients IIRCoefficients::makeLowShelf ( double  sampleRate,
double  cutOffFrequency,
double  Q,
float  gainFactor 
)
staticnoexcept

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()

static IIRCoefficients IIRCoefficients::makeHighShelf ( double  sampleRate,
double  cutOffFrequency,
double  Q,
float  gainFactor 
)
staticnoexcept

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()

static IIRCoefficients IIRCoefficients::makePeakFilter ( double  sampleRate,
double  centreFrequency,
double  Q,
float  gainFactor 
)
staticnoexcept

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.

Member Data Documentation

◆ coefficients

float IIRCoefficients::coefficients[5]

The raw coefficients.

You should leave these numbers alone unless you really know what you're doing.


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