msresamp_cccf
Variants: msresamp_cccf, msresamp_crcf, msresamp_rrrf
Multi-stage half-band resampler, implemented as cascaded dyadic (half-band) polyphase filter banks followed by an arbitrary rate resampler for interpolation and decimation.
Public Functions
msresamp_cccf | msresamp_cccf_create( |
msresamp_cccf | msresamp_cccf_copy( |
int | msresamp_cccf_destroy( |
int | msresamp_cccf_print( |
int | msresamp_cccf_reset( |
float | msresamp_cccf_get_delay( |
float | msresamp_cccf_get_rate( |
unsigned int | msresamp_cccf_get_num_output( |
int | msresamp_cccf_execute( |
Interfaces
msresamp_cccf msresamp_cccf_create(
Create multi-stage arbitrary resampler
- _r : resampling rate (output/input), 0 < _r
- _as : stop-band attenuation [dB], 0 < _as
msresamp_cccf msresamp_cccf_copy(
Copy object including all internal objects and state
int msresamp_cccf_destroy(
Destroy multi-stage arbitrary resampler
int msresamp_cccf_print(
Print msresamp object internals to stdout
int msresamp_cccf_reset(
Reset msresamp object internal state
float msresamp_cccf_get_delay(
Get filter delay (output samples)
float msresamp_cccf_get_rate(
get overall resampling rate
unsigned int msresamp_cccf_get_num_output(
Get the number of output samples given current state and input buffer size.
- _q : resampling object
- _num_input : number of input samples
int msresamp_cccf_execute(
Execute multi-stage resampler on one or more input samples. The number of output samples depends upon the resampling rate and the number of input samples. In general it is good practice to allocate at least \( \lceil{ 1 + 2 r n_x \rceil} \) samples in the output array to avoid overflows.
- _q : msresamp object
- _x : input sample array, shape: (_nx, 1)
- _nx : input sample array size
- _y : pointer to output array for storing result
- _ny : number of samples written to _y