msresamp_crcf
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_crcf | msresamp_crcf_create( |
msresamp_crcf | msresamp_crcf_copy( |
int | msresamp_crcf_destroy( |
int | msresamp_crcf_print( |
int | msresamp_crcf_reset( |
float | msresamp_crcf_get_delay( |
float | msresamp_crcf_get_rate( |
unsigned int | msresamp_crcf_get_num_output( |
int | msresamp_crcf_execute( |
Interfaces
msresamp_crcf msresamp_crcf_create(
Create multi-stage arbitrary resampler
- _r : resampling rate (output/input), 0 < _r
- _as : stop-band attenuation [dB], 0 < _as
msresamp_crcf msresamp_crcf_copy(
Copy object including all internal objects and state
int msresamp_crcf_destroy(
Destroy multi-stage arbitrary resampler
int msresamp_crcf_print(
Print msresamp object internals to stdout
int msresamp_crcf_reset(
Reset msresamp object internal state
float msresamp_crcf_get_delay(
Get filter delay (output samples)
float msresamp_crcf_get_rate(
get overall resampling rate
unsigned int msresamp_crcf_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_crcf_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