Digital IIR filter processor.
More...
#include <filter.hpp>
|
T | b [B_ORDER] = {} |
| transfer function numerator coefficients: b_0, b_1, etc.
|
|
T | a [A_ORDER - 1] = {} |
| transfer function denominator coefficients: a_1, a_2, etc.
|
|
T | x [B_ORDER - 1] |
| input state x[0] = x_{n-1} x[1] = x_{n-2} etc.
|
|
T | y [A_ORDER - 1] |
| output state
|
|
template<int B_ORDER, int A_ORDER, typename T = float>
struct rack::dsp::IIRFilter< B_ORDER, A_ORDER, T >
Digital IIR filter processor.
https://en.wikipedia.org/wiki/Infinite_impulse_response
◆ IIRFilter()
template<int B_ORDER, int A_ORDER, typename T = float>
◆ reset()
template<int B_ORDER, int A_ORDER, typename T = float>
◆ setCoefficients()
template<int B_ORDER, int A_ORDER, typename T = float>
◆ process()
template<int B_ORDER, int A_ORDER, typename T = float>
◆ getTransferFunction()
template<int B_ORDER, int A_ORDER, typename T = float>
Computes the complex transfer function $H(s)$ at a particular frequency s: normalized angular frequency equal to $2 \pi f / f_{sr}$ ($\pi$ is the Nyquist frequency)
◆ getFrequencyResponse()
template<int B_ORDER, int A_ORDER, typename T = float>
◆ getFrequencyPhase()
template<int B_ORDER, int A_ORDER, typename T = float>
template<int B_ORDER, int A_ORDER, typename T = float>
transfer function numerator coefficients: b_0, b_1, etc.
template<int B_ORDER, int A_ORDER, typename T = float>
transfer function denominator coefficients: a_1, a_2, etc.
a_0 is fixed to 1 and omitted from the a
array, so its indices are shifted down by 1.
template<int B_ORDER, int A_ORDER, typename T = float>
input state x[0] = x_{n-1} x[1] = x_{n-2} etc.
template<int B_ORDER, int A_ORDER, typename T = float>
The documentation for this struct was generated from the following file:
- /home/vortico/src/vcv/Rack2/include/dsp/filter.hpp