firpfb_crcf
Variants: firpfb_cccf, firpfb_crcf, firpfb_rrrf
Finite impulse response (FIR) polyphase filter bank (PFB)
Public Functions
firpfb_crcf | firpfb_crcf_create( |
firpfb_crcf | firpfb_crcf_create_default( |
firpfb_crcf | firpfb_crcf_create_kaiser( |
firpfb_crcf | firpfb_crcf_create_rnyquist( |
firpfb_crcf | firpfb_crcf_create_drnyquist( |
firpfb_crcf | firpfb_crcf_recreate( |
firpfb_crcf | firpfb_crcf_copy( |
int | firpfb_crcf_destroy( |
int | firpfb_crcf_print( |
int | firpfb_crcf_set_scale( |
int | firpfb_crcf_get_scale( |
int | firpfb_crcf_reset( |
int | firpfb_crcf_push( |
int | firpfb_crcf_write( |
int | firpfb_crcf_execute( |
int | firpfb_crcf_execute_block( |
Interfaces
firpfb_crcf firpfb_crcf_create(
multiple of _num_filters), _h_len >= _num_filters
- _num_filters :
- _h :
- _h_len :
firpfb_crcf firpfb_crcf_create_default(
Create firpfb object using Kaiser-Bessel windowed sinc filter design method, using default values for cut-off frequency and stop-band attenuation. This is equivalent to: FIRPFB(_create_kaiser)(_M, _m, 0.5, 60.0) which creates a Nyquist filter at the appropriate cut-off frequency.
- _num_filters : number of filters in the bank, 1 < _num_filters
- _m : filter semi-length [samples], 0 < _m
firpfb_crcf firpfb_crcf_create_kaiser(
Create firpfb object using Kaiser-Bessel windowed sinc filter design method
- _num_filters : number of filters in the bank, 1 < _num_filters
- _m : filter semi-length [samples], 0 < _m
- _fc : filter normalized cut-off frequency, 0 < _fc < 0.5
- _as : filter stop-band suppression [dB], 0 < _as
firpfb_crcf firpfb_crcf_create_rnyquist(
Create firpfb from square-root Nyquist prototype
- _type : filter type (e.g. LIQUID_FIRFILT_RRC)
- _num_filters : number of filters in the bank, 1 < _num_filters
- _k : nominal samples/symbol, 1 < _k
- _m : filter delay [symbols], 0 < _m
- _beta : rolloff factor, 0 < _beta <= 1
firpfb_crcf firpfb_crcf_create_drnyquist(
Create from square-root derivative Nyquist prototype
- _type : filter type (e.g. LIQUID_FIRFILT_RRC)
- _num_filters : number of filters in the bank, 1 < _num_filters
- _k : nominal samples/symbol, 1 < _k
- _m : filter delay [symbols], 0 < _m
- _beta : rolloff factor, 0 < _beta <= 1
firpfb_crcf firpfb_crcf_recreate(
multiple of _num_filters), _h_len >= _num_filters
- _q :
- _num_filters :
- _h :
- _h_len :
firpfb_crcf firpfb_crcf_copy(
Copy object including all internal objects and state
int firpfb_crcf_destroy(
Destroy firpfb object, freeing all internal memory and destroying all internal objects
int firpfb_crcf_print(
Print firpfb object's parameters to stdout
int firpfb_crcf_set_scale(
Set output scaling for filter
- _q : filter object
- _scale : scaling factor to apply to each output sample
int firpfb_crcf_get_scale(
Get output scaling for filter
- _q : filter object
- _scale : scaling factor applied to each output sample
int firpfb_crcf_reset(
Reset firpfb object's internal buffer
int firpfb_crcf_push(
Push sample into filter object's internal buffer
- _q : filter object
- _x : single input sample
int firpfb_crcf_write(
Write a block of samples into object's internal buffer
- _q : filter object
- _x : single input sample
- _n :
int firpfb_crcf_execute(
Execute vector dot product on the filter's internal buffer and coefficients using the coefficients from sub-filter at index _i
- _q : firpfb object
- _i : index of filter to use
- _y : pointer to output sample
int firpfb_crcf_execute_block(
Execute the filter on a block of input samples, all using index _i. In-place operation is permitted (_x and _y may point to the same place in memory)
- _q : firpfb object
- _i : index of filter to use
- _x : pointer to input array, shape: (_n, 1)
- _n : number of input, output samples
- _y : pointer to output array, shape: (_n, 1)