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)