arduino-audio-tools
Loading...
Searching...
No Matches
FIR< T > Class Template Referenceabstract

Finite Impulse Response (FIR) filter. Performs convolution of the input signal with a set of feedforward coefficients b[]. For integer types, an optional scaling factor is applied to preserve precision. You can use https://www.arc.id.au/FilterDesign.html to design the coefficients. More...

#include <CodecOpusOgg.h>

Inheritance diagram for FIR< T >:
Filter< float > Filter< float >

Public Member Functions

 factor (factor)
 factor (factor)
 needs_divide (factor !=T(1))
 needs_divide (factor !=T(1))
virtual float process (float in)=0
 Processes the input value and returns the filtered output value.
T process (T value) override
T process (T value) override
void reset () override
void reset () override
template<size_t B>
void setValues (const T(&b)[B])
template<size_t B>
void setValues (const T(&b)[B])

Public Attributes

template<size_t B>
 : lenB(B)

Detailed Description

template<typename T = float>
class audio_tools::audio_tools::FIR< T >

Finite Impulse Response (FIR) filter. Performs convolution of the input signal with a set of feedforward coefficients b[]. For integer types, an optional scaling factor is applied to preserve precision. You can use https://www.arc.id.au/FilterDesign.html to design the coefficients.

Author
Pieter P tttapa / pschatzmann
Template Parameters
Tsample type (float, double, or integer types with a scaling factor)

Member Function Documentation

◆ factor() [1/2]

template<typename T = float>
factor ( factor )

◆ factor() [2/2]

template<typename T = float>
factor ( factor )

◆ needs_divide() [1/2]

template<typename T = float>
needs_divide ( factor ! = T(1))
inline

◆ needs_divide() [2/2]

template<typename T = float>
needs_divide ( factor ! = T(1))
inline

◆ process() [1/3]

virtual float process ( float in)
pure virtualinherited

Processes the input value and returns the filtered output value.

Implemented in BiQuadDF1< float >, and BiQuadDF2< float >.

◆ process() [2/3]

template<typename T = float>
T process ( T value)
inlineoverride

◆ process() [3/3]

template<typename T = float>
T process ( T value)
inlineoverride

◆ reset() [1/2]

template<typename T = float>
void reset ( )
inlineoverridevirtual

Clears the internal state (delay lines) without changing the coefficients. Call after reconfiguring filter parameters via begin() to avoid transients from stale state.

Reimplemented from Filter< float >.

◆ reset() [2/2]

template<typename T = float>
void reset ( )
inlineoverridevirtual

Clears the internal state (delay lines) without changing the coefficients. Call after reconfiguring filter parameters via begin() to avoid transients from stale state.

Reimplemented from Filter< float >.

◆ setValues() [1/2]

template<typename T = float>
template<size_t B>
void setValues ( const T(&) b[B])
inline

◆ setValues() [2/2]

template<typename T = float>
template<size_t B>
void setValues ( const T(&) b[B])
inline

Member Data Documentation

◆ __pad0__

template<typename T = float>
template<size_t B>
__pad0__

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