Aviate Audio Multiverse Library
|
A single-precision floating-point biquad using CMSIS-DSP hardware instructions. More...
#include <LibBasicFunctions.h>
Public Member Functions | |
IirBiQuadFilterFloat (unsigned maxNumStages, const float *coeffs) | |
Construct a Biquad filter with specified number of stages and coefficients. More... | |
virtual | ~IirBiQuadFilterFloat () |
Destructor. | |
void | changeFilterCoeffs (unsigned numStages, const float *coeffs) |
Reconfigure the filter coefficients. More... | |
bool | process (float *output, float *input, size_t numSamples) |
Process the data using the configured IIR filter. More... | |
A single-precision floating-point biquad using CMSIS-DSP hardware instructions.
Use this when IirBiQuadFilterHQ is insufficient, since that version is still faster with 64-bit fixed-point arithmetic.
Aviate::IirBiQuadFilterFloat::IirBiQuadFilterFloat | ( | unsigned | maxNumStages, |
const float * | coeffs | ||
) |
Construct a Biquad filter with specified number of stages and coefficients.
See CMSIS-DSP documentation for more details
maxNumStages | number of biquad stages. Each stage has 5 coefficients. |
coeffs | pointer to an array of single-precision floating-point coefficients |
void Aviate::IirBiQuadFilterFloat::changeFilterCoeffs | ( | unsigned | numStages, |
const float * | coeffs | ||
) |
Reconfigure the filter coefficients.
See CMSIS-DSP documentation for more details
numStages | number of biquad stages. Each stage has 5 coefficients. |
coeffs | pointer to an array of single-precision floating-point coefficients |
bool Aviate::IirBiQuadFilterFloat::process | ( | float * | output, |
float * | input, | ||
size_t | numSamples | ||
) |
Process the data using the configured IIR filter.
output and input can be the same pointer if in-place modification is desired
output | pointer to where the output results will be written |
input | pointer to where the input data will be read from |
numSamples | number of samples to process |