Public Types | Public Member Functions | Public Attributes | List of all members
dsp::FIR::Coefficients< NumericType > Struct Template Reference

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

Inheritance diagram for dsp::FIR::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. More...
 
- Public Types inherited from 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. More...
 

Public Member Functions

 Coefficients ()
 Creates a null set of coefficients (which will produce silence). More...
 
 Coefficients (size_t size)
 Creates a null set of coefficients of a given size. More...
 
 Coefficients (const NumericType *samples, size_t numSamples)
 Creates a set of coefficients from an array of samples. More...
 
 Coefficients (const Coefficients &)=default
 
 Coefficients (Coefficients &&)=default
 
Coefficientsoperator= (const Coefficients &)=default
 
Coefficientsoperator= (Coefficients &&)=default
 
size_t getFilterOrder () const noexcept
 Returns the filter order associated with the coefficients. More...
 
double getMagnitudeForFrequency (double frequency, double sampleRate) const noexcept
 Returns the magnitude frequency response of the filter for a given frequency and sample rate. More...
 
void getMagnitudeForFrequencyArray (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. More...
 
double getPhaseForFrequency (double frequency, double sampleRate) const noexcept
 Returns the phase frequency response of the filter for a given frequency and sample rate. More...
 
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. More...
 
NumericType * getRawCoefficients () noexcept
 Returns a raw data pointer to the coefficients. More...
 
const NumericType * getRawCoefficients () const noexcept
 Returns a raw data pointer to the coefficients. More...
 
void normalise () noexcept
 Scales the values of the FIR filter with the sum of the squared coefficients. More...
 
- Public Member Functions inherited from ReferenceCountedObject
void incReferenceCount () noexcept
 Increments the object's reference count. More...
 
void decReferenceCount () noexcept
 Decreases the object's reference count. More...
 
bool decReferenceCountWithoutDeleting () noexcept
 Decreases the object's reference count. More...
 
int getReferenceCount () const noexcept
 Returns the object's current reference count. More...
 

Public Attributes

Array< NumericType > coefficients
 The raw coefficients. More...
 

Additional Inherited Members

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

Detailed Description

template<typename NumericType>
struct dsp::FIR::Coefficients< NumericType >

A set of coefficients for use in an FIRFilter object.

See also
FIRFilter

Member Typedef Documentation

◆ Ptr

template<typename NumericType>
using dsp::FIR::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.

Constructor & Destructor Documentation

◆ Coefficients() [1/5]

template<typename NumericType>
dsp::FIR::Coefficients< NumericType >::Coefficients ( )

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

◆ Coefficients() [2/5]

template<typename NumericType>
dsp::FIR::Coefficients< NumericType >::Coefficients ( size_t  size)

◆ Coefficients() [3/5]

template<typename NumericType>
dsp::FIR::Coefficients< NumericType >::Coefficients ( const NumericType *  samples,
size_t  numSamples 
)

Creates a set of coefficients from an array of samples.

◆ Coefficients() [4/5]

template<typename NumericType>
dsp::FIR::Coefficients< NumericType >::Coefficients ( const Coefficients< NumericType > &  )
default

◆ Coefficients() [5/5]

template<typename NumericType>
dsp::FIR::Coefficients< NumericType >::Coefficients ( Coefficients< NumericType > &&  )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename NumericType>
Coefficients& dsp::FIR::Coefficients< NumericType >::operator= ( const Coefficients< NumericType > &  )
default

◆ operator=() [2/2]

template<typename NumericType>
Coefficients& dsp::FIR::Coefficients< NumericType >::operator= ( Coefficients< NumericType > &&  )
default

◆ getFilterOrder()

template<typename NumericType>
size_t dsp::FIR::Coefficients< NumericType >::getFilterOrder ( ) const
noexcept

◆ getMagnitudeForFrequency()

template<typename NumericType>
double dsp::FIR::Coefficients< NumericType >::getMagnitudeForFrequency ( double  frequency,
double  sampleRate 
) const
noexcept

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

◆ getMagnitudeForFrequencyArray()

template<typename NumericType>
void dsp::FIR::Coefficients< NumericType >::getMagnitudeForFrequencyArray ( 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.

◆ getPhaseForFrequency()

template<typename NumericType>
double dsp::FIR::Coefficients< NumericType >::getPhaseForFrequency ( double  frequency,
double  sampleRate 
) const
noexcept

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

◆ getPhaseForFrequencyArray()

template<typename NumericType>
void dsp::FIR::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.

◆ getRawCoefficients() [1/2]

template<typename NumericType>
NumericType* dsp::FIR::Coefficients< NumericType >::getRawCoefficients ( )
noexcept

◆ getRawCoefficients() [2/2]

template<typename NumericType>
const NumericType* dsp::FIR::Coefficients< NumericType >::getRawCoefficients ( ) const
noexcept

◆ normalise()

template<typename NumericType>
void dsp::FIR::Coefficients< NumericType >::normalise ( )
noexcept

Scales the values of the FIR filter with the sum of the squared coefficients.

Member Data Documentation

◆ coefficients

template<typename NumericType>
Array<NumericType> dsp::FIR::Coefficients< NumericType >::coefficients

The raw coefficients.

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

Referenced by dsp::FIR::Coefficients< NumericType >::Coefficients(), dsp::FIR::Coefficients< NumericType >::getFilterOrder(), and dsp::FIR::Coefficients< NumericType >::getRawCoefficients().


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