msresamp2_crcf

Multi-stage half-band resampler, implemented as cascaded dyadic (half-band) polyphase filter banks for interpolation and decimation.

Variants: msresamp2_cccf, msresamp2_crcf, msresamp2_rrrf

Public Functions

msresamp2_crcf msresamp2_crcf_create(int _type, unsigned int _num_stages, float _fc, float _f0, float _as)
msresamp2_crcf msresamp2_crcf_copy(msresamp2_crcf _q)
int msresamp2_crcf_destroy(msresamp2_crcf _q)
int msresamp2_crcf_print(msresamp2_crcf _q)
int msresamp2_crcf_reset(msresamp2_crcf _q)
float msresamp2_crcf_get_rate(msresamp2_crcf _q)
unsigned int msresamp2_crcf_get_num_stages(msresamp2_crcf _q)
int msresamp2_crcf_get_type(msresamp2_crcf _q)
float msresamp2_crcf_get_delay(msresamp2_crcf _q)
int msresamp2_crcf_execute(msresamp2_crcf _q, float complex * _x, float complex * _y)

Interfaces

msresamp2_crcf msresamp2_crcf_create(int _type, unsigned int _num_stages, float _fc, float _f0, float _as)

Create multi-stage half-band resampler as either decimator or interpolator.

  • _type : resampler type (e.g. LIQUID_RESAMP_DECIM)
  • _num_stages : number of resampling stages, _num_stages <= 16
  • _fc : filter cut-off frequency, 0 < _fc < 0.5
  • _f0 : filter center frequency (set to zero)
  • _as : stop-band attenuation [dB], 0 < _as

msresamp2_crcf msresamp2_crcf_copy(msresamp2_crcf _q)

Copy object including all internal objects and state

int msresamp2_crcf_destroy(msresamp2_crcf _q)

Destroy multi-stage half-band resampler, freeing all internal memory

int msresamp2_crcf_print(msresamp2_crcf _q)

Print msresamp object internals to stdout

int msresamp2_crcf_reset(msresamp2_crcf _q)

Reset msresamp object internal state

float msresamp2_crcf_get_rate(msresamp2_crcf _q)

Get multi-stage half-band resampling rate

unsigned int msresamp2_crcf_get_num_stages(msresamp2_crcf _q)

Get number of half-band resampling stages in object

int msresamp2_crcf_get_type(msresamp2_crcf _q)

Get resampling type (LIQUID_RESAMP_DECIM, LIQUID_RESAMP_INTERP)

float msresamp2_crcf_get_delay(msresamp2_crcf _q)

Get group delay (number of output samples)

int msresamp2_crcf_execute(msresamp2_crcf _q, float complex * _x, float complex * _y)

Execute multi-stage resampler, M = 2^num_stages LIQUID_RESAMP_INTERP: input: 1, output: M LIQUID_RESAMP_DECIM: input: M, output: 1

  • _q : msresamp object
  • _x : input sample array
  • _y : output sample array