fftfilt_crcf

Variants: fftfilt_cccf, fftfilt_crcf, fftfilt_rrrf

Fast Fourier transform (FFT) finite impulse response filter

Public Functions

fftfilt_crcf fftfilt_crcf_create(float * _h, unsigned int _h_len, unsigned int _n)
fftfilt_crcf fftfilt_crcf_copy(fftfilt_crcf _q)
int fftfilt_crcf_destroy(fftfilt_crcf _q)
int fftfilt_crcf_reset(fftfilt_crcf _q)
int fftfilt_crcf_print(fftfilt_crcf _q)
int fftfilt_crcf_set_scale(fftfilt_crcf _q, float _scale)
int fftfilt_crcf_get_scale(fftfilt_crcf _q, float * _scale)
int fftfilt_crcf_execute(fftfilt_crcf _q, float complex * _x, float complex * _y)
unsigned int fftfilt_crcf_get_length(fftfilt_crcf _q)

Interfaces

fftfilt_crcf fftfilt_crcf_create(float * _h, unsigned int _h_len, unsigned int _n)

Create FFT-based FIR filter using external coefficients

  • _h : filter coefficients, shape: (_h_len, 1)
  • _h_len : filter length, 0 < _h_len
  • _n : block size = nfft/2, _h_len-1 <= _n

fftfilt_crcf fftfilt_crcf_copy(fftfilt_crcf _q)

Copy object including all internal objects and state

int fftfilt_crcf_destroy(fftfilt_crcf _q)

Destroy filter object and free all internal memory

int fftfilt_crcf_reset(fftfilt_crcf _q)

Reset filter object's internal buffer

int fftfilt_crcf_print(fftfilt_crcf _q)

Print filter object information to stdout

int fftfilt_crcf_set_scale(fftfilt_crcf _q, float _scale)

Set output scaling for filter

  • _q :
  • _scale :

int fftfilt_crcf_get_scale(fftfilt_crcf _q, float * _scale)

Get output scaling for filter

  • _q :
  • _scale :

int fftfilt_crcf_execute(fftfilt_crcf _q, float complex * _x, float complex * _y)

Execute the filter on internal buffer and coefficients given 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 data array, shape: (_n, 1)
  • _y : pointer to output data array, shape: (_n, 1)

unsigned int fftfilt_crcf_get_length(fftfilt_crcf _q)

Get length of filter object's internal coefficients