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