iirdecim_crcf
Variants: iirdecim_cccf, iirdecim_crcf, iirdecim_rrrf
Infinite impulse response (IIR) decimator
Public Functions
iirdecim_crcf | iirdecim_crcf_create( |
iirdecim_crcf | iirdecim_crcf_create_default( |
iirdecim_crcf | iirdecim_crcf_create_prototype( |
iirdecim_crcf | iirdecim_crcf_copy( |
int | iirdecim_crcf_destroy( |
int | iirdecim_crcf_print( |
int | iirdecim_crcf_reset( |
int | iirdecim_crcf_execute( |
int | iirdecim_crcf_execute_block( |
float | iirdecim_crcf_groupdelay( |
Interfaces
iirdecim_crcf iirdecim_crcf_create(
Create infinite impulse response decimator 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 : decimation 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
iirdecim_crcf iirdecim_crcf_create_default(
Create decimator object with default Butterworth prototype
- _M : decimation factor, 2 <= _M
- _order : filter order, 0 < _order
iirdecim_crcf iirdecim_crcf_create_prototype(
Create IIR decimator from prototype
- _M : decimation 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
iirdecim_crcf iirdecim_crcf_copy(
Copy object including all internal objects and state
int iirdecim_crcf_destroy(
Destroy decimator object and free internal memory
int iirdecim_crcf_print(
Print decimator object internals
int iirdecim_crcf_reset(
Reset decimator object
int iirdecim_crcf_execute(
Execute decimator on _M input samples
- _q : decimator object
- _x : input samples, shape: (_M, 1)
- _y : output sample pointer
int iirdecim_crcf_execute_block(
Execute decimator on block of _n*_M input samples
- _q : decimator object
- _x : input array, shape: (_n*_M, 1)
- _n : number of _output_ samples
- _y : output array, [_sze: _n x 1]
float iirdecim_crcf_groupdelay(
Compute and return group delay of object
- _q : filter object
- _fc : frequency to evaluate