iirinterp_rrrf
Variants: iirinterp_cccf, iirinterp_crcf, iirinterp_rrrf
Infinite impulse response (IIR) interpolator
Public Functions
iirinterp_rrrf | iirinterp_rrrf_create( |
iirinterp_rrrf | iirinterp_rrrf_create_default( |
iirinterp_rrrf | iirinterp_rrrf_create_prototype( |
iirinterp_rrrf | iirinterp_rrrf_copy( |
int | iirinterp_rrrf_destroy( |
int | iirinterp_rrrf_print( |
int | iirinterp_rrrf_reset( |
int | iirinterp_rrrf_execute( |
int | iirinterp_rrrf_execute_block( |
float | iirinterp_rrrf_groupdelay( |
Interfaces
iirinterp_rrrf iirinterp_rrrf_create(
Create infinite impulse response interpolator from external coefficients. Note that the number of feed-forward and feed-back coefficients do not need to be equal, but they do need to be non-zero. Furthermore, the first feed-back coefficient \(a_0\) cannot be equal to zero, otherwise the filter will be invalid as this value is factored out from all coefficients. For stability reasons the number of coefficients should reasonably not exceed about 8 for single-precision floating-point.
- _M : interpolation factor, 2 <= _M
- _b : feed-forward coefficients (numerator), shape: (_nb, 1)
- _nb : number of feed-forward coefficients, 0 < _nb
- _a : feed-back coefficients (denominator), shape: (_na, 1)
- _na : number of feed-back coefficients, 0 < _na
iirinterp_rrrf iirinterp_rrrf_create_default(
Create interpolator object with default Butterworth prototype
- _M : interpolation factor, 2 <= _M
- _order : filter order, 0 < _order
iirinterp_rrrf iirinterp_rrrf_create_prototype(
Create IIR interpolator from prototype
- _M : interpolation factor, 2 <= _M
- _ftype : filter type (e.g. LIQUID_IIRDES_BUTTER)
- _btype : band type (e.g. LIQUID_IIRDES_BANDPASS)
- _format : coefficients format (e.g. LIQUID_IIRDES_SOS)
- _order : filter order, 0 < _order
- _fc : low-pass prototype cut-off frequency, 0 <= _fc <= 0.5
- _f0 : center frequency (band-pass, band-stop), 0 <= _f0 <= 0.5
- _ap : pass-band ripple in dB, 0 < _ap
- _as : stop-band ripple in dB, 0 < _as
iirinterp_rrrf iirinterp_rrrf_copy(
Copy object including all internal objects and state
int iirinterp_rrrf_destroy(
Destroy interpolator object and free internal memory
int iirinterp_rrrf_print(
Print interpolator object internals to stdout
int iirinterp_rrrf_reset(
Reset interpolator object
int iirinterp_rrrf_execute(
Execute interpolation on single input sample and write \(M\) output samples (\(M\) is the interpolation factor)
- _q : iirinterp object
- _x : input sample
- _y : output sample array, shape: (_M, 1)
int iirinterp_rrrf_execute_block(
Execute interpolation on block of input samples
- _q : iirinterp object
- _x : input array, shape: (_n, 1)
- _n : size of input array
- _y : output sample array, shape: (_M*_n, 1)
float iirinterp_rrrf_groupdelay(
Compute and return group delay of object
- _q : filter object
- _fc : frequency to evaluate