fdelay_crcf

Variants: fdelay_crcf, fdelay_rrrf

Finite impulse response (FIR) filter

Public Functions

fdelay_crcf fdelay_crcf_create(unsigned int _nmax, unsigned int _m, unsigned int _npfb)
fdelay_crcf fdelay_crcf_create_default(unsigned int _nmax)
int fdelay_crcf_destroy(fdelay_crcf _q)
int fdelay_crcf_reset(fdelay_crcf _q)
int fdelay_crcf_print(fdelay_crcf _q)
float fdelay_crcf_get_delay(fdelay_crcf _q)
int fdelay_crcf_set_delay(fdelay_crcf _q, float _delay)
int fdelay_crcf_adjust_delay(fdelay_crcf _q, float _delta)
unsigned int fdelay_crcf_get_nmax(fdelay_crcf _q)
unsigned int fdelay_crcf_get_m(fdelay_crcf _q)
unsigned int fdelay_crcf_get_npfb(fdelay_crcf _q)
int fdelay_crcf_push(fdelay_crcf _q, float complex _x)
int fdelay_crcf_write(fdelay_crcf _q, float complex * _x, unsigned int _n)
int fdelay_crcf_execute(fdelay_crcf _q, float complex * _y)
int fdelay_crcf_execute_block(fdelay_crcf _q, float complex * _x, unsigned int _n, float complex * _y)

Interfaces

fdelay_crcf fdelay_crcf_create(unsigned int _nmax, unsigned int _m, unsigned int _npfb)∞

Create a delay object with a maximum offset and filter specification

  • _nmax : maximum integer sample offset
  • _m : polyphase filter-bank semi-length, 0 < _m
  • _npfb : number of filters in polyphase filter-bank, 0 < _npfb

fdelay_crcf fdelay_crcf_create_default(unsigned int _nmax)∞

Create a delay object with a maximum offset and default filter parameters (_m = 8, _npfb = 64)

  • _nmax : maximum integer sample offset

int fdelay_crcf_destroy(fdelay_crcf _q)∞

Destroy delay object and free all internal memory

int fdelay_crcf_reset(fdelay_crcf _q)∞

Reset delay object internals

int fdelay_crcf_print(fdelay_crcf _q)∞

Print delay object internals

float fdelay_crcf_get_delay(fdelay_crcf _q)∞

Get current delay (accounting for _m?)

int fdelay_crcf_set_delay(fdelay_crcf _q, float _delay)∞

  • _q :
  • _delay :

int fdelay_crcf_adjust_delay(fdelay_crcf _q, float _delta)∞

  • _q :
  • _delta :

unsigned int fdelay_crcf_get_nmax(fdelay_crcf _q)∞

unsigned int fdelay_crcf_get_m(fdelay_crcf _q)∞

unsigned int fdelay_crcf_get_npfb(fdelay_crcf _q)∞

int fdelay_crcf_push(fdelay_crcf _q, float complex _x)∞

Push sample into filter object's internal buffer

  • _q : filter object
  • _x : single input sample

int fdelay_crcf_write(fdelay_crcf _q, float complex * _x, unsigned int _n)∞

Write a block of samplex into filter object's internal buffer

  • _q : filter object
  • _x : buffer of input samples, shape: (_n, 1)
  • _n : number of input samples

int fdelay_crcf_execute(fdelay_crcf _q, float complex * _y)∞

Execute vector dot product on the filter's internal buffer and coefficients

  • _q : filter object
  • _y : pointer to single output sample

int fdelay_crcf_execute_block(fdelay_crcf _q, float complex * _x, unsigned int _n, float complex * _y)∞

Execute the filter on a block of input samples; in-place operation is permitted (_x and _y may point to the same place in memory)

  • _q : filter object
  • _x : pointer to input array, shape: (_n, 1)
  • _n : number of input, output samples
  • _y : pointer to output array, shape: (_n, 1)