msresamp_rrrf
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_rrrf | msresamp_rrrf_create( |
msresamp_rrrf | msresamp_rrrf_copy( |
int | msresamp_rrrf_destroy( |
int | msresamp_rrrf_print( |
int | msresamp_rrrf_reset( |
float | msresamp_rrrf_get_delay( |
float | msresamp_rrrf_get_rate( |
unsigned int | msresamp_rrrf_get_num_output( |
int | msresamp_rrrf_execute( |
Interfaces
msresamp_rrrf msresamp_rrrf_create(
Create multi-stage arbitrary resampler
- _r : resampling rate (output/input), 0 < _r
- _as : stop-band attenuation [dB], 0 < _as
msresamp_rrrf msresamp_rrrf_copy(
Copy object including all internal objects and state
int msresamp_rrrf_destroy(
Destroy multi-stage arbitrary resampler
int msresamp_rrrf_print(
Print msresamp object internals to stdout
int msresamp_rrrf_reset(
Reset msresamp object internal state
float msresamp_rrrf_get_delay(
Get filter delay (output samples)
float msresamp_rrrf_get_rate(
get overall resampling rate
unsigned int msresamp_rrrf_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_rrrf_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