fftfilt_rrrf

Fast Fourier transform (FFT) finite impulse response filter

Variants: fftfilt_cccf, fftfilt_crcf, fftfilt_rrrf

Public Functions

fftfilt_rrrf fftfilt_rrrf_create(float * _h, unsigned int _h_len, unsigned int _n)
fftfilt_rrrf fftfilt_rrrf_copy(fftfilt_rrrf _q)
int fftfilt_rrrf_destroy(fftfilt_rrrf _q)
int fftfilt_rrrf_reset(fftfilt_rrrf _q)
int fftfilt_rrrf_print(fftfilt_rrrf _q)
int fftfilt_rrrf_set_scale(fftfilt_rrrf _q, float _scale)
int fftfilt_rrrf_get_scale(fftfilt_rrrf _q, float * _scale)
int fftfilt_rrrf_execute(fftfilt_rrrf _q, float * _x, float * _y)
unsigned int fftfilt_rrrf_get_length(fftfilt_rrrf _q)

Interfaces

fftfilt_rrrf fftfilt_rrrf_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_rrrf fftfilt_rrrf_copy(fftfilt_rrrf _q)

Copy object including all internal objects and state

int fftfilt_rrrf_destroy(fftfilt_rrrf _q)

Destroy filter object and free all internal memory

int fftfilt_rrrf_reset(fftfilt_rrrf _q)

Reset filter object's internal buffer

int fftfilt_rrrf_print(fftfilt_rrrf _q)

Print filter object information to stdout

int fftfilt_rrrf_set_scale(fftfilt_rrrf _q, float _scale)

Set output scaling for filter

  • _q :
  • _scale :

int fftfilt_rrrf_get_scale(fftfilt_rrrf _q, float * _scale)

Get output scaling for filter

  • _q :
  • _scale :

int fftfilt_rrrf_execute(fftfilt_rrrf _q, float * _x, float * _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_rrrf_get_length(fftfilt_rrrf _q)

Get length of filter object's internal coefficients