Loading...
Searching...
No Matches
juce::dsp::IIR::Coefficients< NumericType > Struct Template Reference

## Detailed Description

template<typename NumericType>
struct juce::dsp::IIR::Coefficients< NumericType >

A set of coefficients for use in an Filter object.

See also
  IIR::Filter

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

- juce_dsp/processors/juce_IIRFilter.h

Inheritance diagram for juce::dsp::IIR::Coefficients< NumericType >:

## Public Types

using | Ptr = ReferenceCountedObjectPtr<Coefficients>
| The Coefficients structure is ref-counted, so this is a handy type that can be used as a pointer to one.
Public Types inherited from juce::dsp::ProcessorState
using | Ptr = ReferenceCountedObjectPtr<ProcessorState>
| The ProcessorState structure is ref-counted, so this is a handy type that can be used as a pointer to one.

## Public Member Functions

| Coefficients ()
| Creates a null set of coefficients (which will produce silence).
| Coefficients (NumericType b0, NumericType b1, NumericType a0, NumericType a1)
| Directly constructs an object from the raw coefficients.
| Coefficients (NumericType b0, NumericType b1, NumericType b2, NumericType a0, NumericType a1, NumericType a2)
| Coefficients (NumericType b0, NumericType b1, NumericType b2, NumericType b3, NumericType a0, NumericType a1, NumericType a2, NumericType a3)
| Coefficients (const Coefficients &)=default
| Coefficients (Coefficients &&)=default
Coefficients & | operator= (const Coefficients &)=default
Coefficients & | operator= (Coefficients &&)=default
template<size_t Num>
| Coefficients (const std::array< NumericType, Num > &values)
| Constructs from an array.
template<size_t Num>
Coefficients & | operator= (const std::array< NumericType, Num > &values)
| Assigns contents from an array.
size_t | getFilterOrder () const noexcept
| Returns the filter order associated with the coefficients.
double | getMagnitudeForFrequency (double frequency, double sampleRate) const noexcept
| Returns the magnitude frequency response of the filter for a given frequency and sample rate.
void | getMagnitudeForFrequencyArray (const double *frequencies, double *magnitudes, size_t numSamples, double sampleRate) const noexcept
| Returns the magnitude frequency response of the filter for a given frequency array and sample rate.
double | getPhaseForFrequency (double frequency, double sampleRate) const noexcept
| Returns the phase frequency response of the filter for a given frequency and sample rate.
void | getPhaseForFrequencyArray (double *frequencies, double *phases, size_t numSamples, double sampleRate) const noexcept
| Returns the phase frequency response of the filter for a given frequency array and sample rate.
NumericType * | getRawCoefficients () noexcept
| Returns a raw data pointer to the coefficients.
const NumericType * | getRawCoefficients () const noexcept
| Returns a raw data pointer to the coefficients.
Public Member Functions inherited from juce::ReferenceCountedObject
void | incReferenceCount () noexcept
| Increments the object's reference count.
void | decReferenceCount () noexcept
| Decreases the object's reference count.
bool | decReferenceCountWithoutDeleting () noexcept
| Decreases the object's reference count.
int | getReferenceCount () const noexcept
| Returns the object's current reference count.

## Static Public Member Functions

static Ptr | makeFirstOrderLowPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a first order low-pass filter.
static Ptr | makeFirstOrderHighPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a first order high-pass filter.
static Ptr | makeFirstOrderAllPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a first order all-pass filter.
static Ptr | makeLowPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a low-pass filter.
static Ptr | makeLowPass (double sampleRate, NumericType frequency, NumericType Q)
| Returns the coefficients for a low-pass filter with variable Q.
static Ptr | makeHighPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a high-pass filter.
static Ptr | makeHighPass (double sampleRate, NumericType frequency, NumericType Q)
| Returns the coefficients for a high-pass filter with variable Q.
static Ptr | makeBandPass (double sampleRate, NumericType frequency)
| Returns the coefficients for a band-pass filter.
static Ptr | makeBandPass (double sampleRate, NumericType frequency, NumericType Q)
| Returns the coefficients for a band-pass filter with variable Q.
static Ptr | makeNotch (double sampleRate, NumericType frequency)
| Returns the coefficients for a notch filter.
static Ptr | makeNotch (double sampleRate, NumericType frequency, NumericType Q)
| Returns the coefficients for a notch filter with variable Q.
static Ptr | makeAllPass (double sampleRate, NumericType frequency)
| Returns the coefficients for an all-pass filter.
static Ptr | makeAllPass (double sampleRate, NumericType frequency, NumericType Q)
| Returns the coefficients for an all-pass filter with variable Q.
static Ptr | makeLowShelf (double sampleRate, NumericType cutOffFrequency, NumericType Q, NumericType gainFactor)
| Returns the coefficients for a low-pass shelf filter with variable Q and gain.
static Ptr | makeHighShelf (double sampleRate, NumericType cutOffFrequency, NumericType Q, NumericType gainFactor)
| Returns the coefficients for a high-pass shelf filter with variable Q and gain.
static Ptr | 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.

## Public Attributes

Array< NumericType > | coefficients
| The raw coefficients.

## Additional Inherited Members

Protected Member Functions inherited from juce::ReferenceCountedObject
| ReferenceCountedObject ()=default
| Creates the reference-counted object (with an initial ref count of zero).
| ReferenceCountedObject (const ReferenceCountedObject &) noexcept
| Copying from another object does not affect this one's reference-count.
| ReferenceCountedObject (ReferenceCountedObject &&) noexcept
| Copying from another object does not affect this one's reference-count.
ReferenceCountedObject & | operator= (const ReferenceCountedObject &) noexcept
| Copying from another object does not affect this one's reference-count.
ReferenceCountedObject & | operator= (ReferenceCountedObject &&) noexcept
| Copying from another object does not affect this one's reference-count.
virtual | ~ReferenceCountedObject ()
| Destructor.
void | resetReferenceCount () noexcept
| Resets the reference count to zero without deleting the object.

## Member Typedef Documentation

## Ptr

template<typename NumericType>

using juce::dsp::IIR::Coefficients< NumericType >::Ptr = ReferenceCountedObjectPtr<Coefficients>

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

## Constructors and Destructors

## Coefficients() [1/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( |  | ) |

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

Referenced by Coefficients(), Coefficients(), operator=(), operator=(), and operator=().

## Coefficients() [2/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | NumericType | b0,
|  | NumericType | b1,
|  | NumericType | a0,
|  | NumericType | a1 )

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!

## Coefficients() [3/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | NumericType | b0,
|  | NumericType | b1,
|  | NumericType | b2,
|  | NumericType | a0,
|  | NumericType | a1,
|  | NumericType | a2 )

## Coefficients() [4/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | NumericType | b0,
|  | NumericType | b1,
|  | NumericType | b2,
|  | NumericType | b3,
|  | NumericType | a0,
|  | NumericType | a1,
|  | NumericType | a2,
|  | NumericType | a3 )

## Coefficients() [5/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | const Coefficients< NumericType > & |  | ) |

default

References Coefficients().

## Coefficients() [6/7]

template<typename NumericType>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | Coefficients< NumericType > && |  | ) |

default

References Coefficients().

## Coefficients() [7/7]

template<typename NumericType>
template<size_t Num>

juce::dsp::IIR::Coefficients< NumericType >::Coefficients | ( | const std::array< NumericType, Num > & | values | ) |

inline explicit

Constructs from an array.

## Member Functions

## operator=() [1/3]

template<typename NumericType>

Coefficients & juce::dsp::IIR::Coefficients< NumericType >::operator= | ( | const Coefficients< NumericType > & |  | ) |

default

References Coefficients().

## operator=() [2/3]

template<typename NumericType>

Coefficients & juce::dsp::IIR::Coefficients< NumericType >::operator= | ( | Coefficients< NumericType > && |  | ) |

default

References Coefficients().

## operator=() [3/3]

template<typename NumericType>
template<size_t Num>

Coefficients & juce::dsp::IIR::Coefficients< NumericType >::operator= | ( | const std::array< NumericType, Num > & | values | ) |

inline

Assigns contents from an array.

References Coefficients().

## makeFirstOrderLowPass()

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeFirstOrderLowPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

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

## makeFirstOrderHighPass()

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeFirstOrderHighPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

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

## makeFirstOrderAllPass()

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeFirstOrderAllPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

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

## makeLowPass() [1/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeLowPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

Returns the coefficients for a low-pass filter.

## makeLowPass() [2/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeHighPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

Returns the coefficients for a high-pass filter.

## makeHighPass() [2/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeBandPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

Returns the coefficients for a band-pass filter.

## makeBandPass() [2/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeNotch | ( | double | sampleRate,
|  | NumericType | frequency )

static

Returns the coefficients for a notch filter.

## makeNotch() [2/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeAllPass | ( | double | sampleRate,
|  | NumericType | frequency )

static

Returns the coefficients for an all-pass filter.

## makeAllPass() [2/2]

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< NumericType >::makeAllPass | ( | double | sampleRate,
|  | NumericType | frequency,
|  | NumericType | Q )

static

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

## makeLowShelf()

template<typename NumericType>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< 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>

Ptr juce::dsp::IIR::Coefficients< 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.

## getFilterOrder()

template<typename NumericType>

size_t juce::dsp::IIR::Coefficients< NumericType >::getFilterOrder | ( |  | ) | const

noexcept

Returns the filter order associated with the coefficients.

## getMagnitudeForFrequency()

template<typename NumericType>

double juce::dsp::IIR::Coefficients< NumericType >::getMagnitudeForFrequency | ( | double | frequency,
|  | double | sampleRate ) const

noexcept

Returns the magnitude frequency response of the filter for a given frequency and sample rate.

References getMagnitudeForFrequency().

Referenced by getMagnitudeForFrequency().

## getMagnitudeForFrequencyArray()

template<typename NumericType>

void juce::dsp::IIR::Coefficients< NumericType >::getMagnitudeForFrequencyArray | ( | const double * | frequencies,
|  | double * | magnitudes,
|  | size_t | numSamples,
|  | double | sampleRate ) const

noexcept

Returns the magnitude frequency response of the filter for a given frequency array and sample rate.

References getMagnitudeForFrequencyArray().

Referenced by getMagnitudeForFrequencyArray().

## getPhaseForFrequency()

template<typename NumericType>

double juce::dsp::IIR::Coefficients< NumericType >::getPhaseForFrequency | ( | double | frequency,
|  | double | sampleRate ) const

noexcept

Returns the phase frequency response of the filter for a given frequency and sample rate.

References getPhaseForFrequency().

Referenced by getPhaseForFrequency().

## getPhaseForFrequencyArray()

template<typename NumericType>

void juce::dsp::IIR::Coefficients< NumericType >::getPhaseForFrequencyArray | ( | double * | frequencies,
|  | double * | phases,
|  | size_t | numSamples,
|  | double | sampleRate ) const

noexcept

Returns the phase frequency response of the filter for a given frequency array and sample rate.

References getPhaseForFrequencyArray().

Referenced by getPhaseForFrequencyArray().

## getRawCoefficients() [1/2]

template<typename NumericType>

NumericType * juce::dsp::IIR::Coefficients< NumericType >::getRawCoefficients | ( |  | ) |

inline noexcept

Returns a raw data pointer to the coefficients.

References coefficients, and getRawCoefficients().

Referenced by getRawCoefficients().

## getRawCoefficients() [2/2]

template<typename NumericType>

const NumericType * juce::dsp::IIR::Coefficients< NumericType >::getRawCoefficients | ( |  | ) | const

inline noexcept

Returns a raw data pointer to the coefficients.

References coefficients.

## Member Data Documentation

## coefficients

template<typename NumericType>

Array<NumericType> juce::dsp::IIR::Coefficients< NumericType >::coefficients

The raw coefficients.

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

Referenced by getRawCoefficients(), and getRawCoefficients().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited