iirfiltsos_rrrf

Infinite impulse respone filter primitive using second-order sections

Variants: iirfiltsos_cccf, iirfiltsos_crcf, iirfiltsos_rrrf

Public Functions

iirfiltsos_rrrf iirfiltsos_rrrf_create(float * _b, float * _a)
iirfiltsos_rrrf iirfiltsos_rrrf_copy(iirfiltsos_rrrf _q)
int iirfiltsos_rrrf_set_coefficients(iirfiltsos_rrrf _q, float * _b, float * _a)
int iirfiltsos_rrrf_destroy(iirfiltsos_rrrf _q)
int iirfiltsos_rrrf_print(iirfiltsos_rrrf _q)
int iirfiltsos_rrrf_reset(iirfiltsos_rrrf _q)
int iirfiltsos_rrrf_execute(iirfiltsos_rrrf _q, float _x, float * _y)
int iirfiltsos_rrrf_execute_df1(iirfiltsos_rrrf _q, float _x, float * _y)
int iirfiltsos_rrrf_execute_df2(iirfiltsos_rrrf _q, float _x, float * _y)
float iirfiltsos_rrrf_groupdelay(iirfiltsos_rrrf _q, float _fc)

Interfaces

iirfiltsos_rrrf iirfiltsos_rrrf_create(float * _b, float * _a)

create 2nd-order infinite impulse reponse filter

  • _b : feed-forward coefficients, shape: (3, 1)
  • _a : feed-back coefficients, shape: (3, 1)

iirfiltsos_rrrf iirfiltsos_rrrf_copy(iirfiltsos_rrrf _q)

Copy object including all internal objects and state

int iirfiltsos_rrrf_set_coefficients(iirfiltsos_rrrf _q, float * _b, float * _a)

explicitly set 2nd-order IIR filter coefficients

  • _q : iirfiltsos object
  • _b : feed-forward coefficients, shape: (3, 1)
  • _a : feed-back coefficients, shape: (3, 1)

int iirfiltsos_rrrf_destroy(iirfiltsos_rrrf _q)

destroy iirfiltsos object, freeing all internal memory

int iirfiltsos_rrrf_print(iirfiltsos_rrrf _q)

print iirfiltsos object properties to stdout

int iirfiltsos_rrrf_reset(iirfiltsos_rrrf _q)

clear/reset iirfiltsos object internals

int iirfiltsos_rrrf_execute(iirfiltsos_rrrf _q, float _x, float * _y)

compute filter output

  • _q : iirfiltsos object
  • _x : input sample
  • _y : output sample pointer

int iirfiltsos_rrrf_execute_df1(iirfiltsos_rrrf _q, float _x, float * _y)

compute filter output, direct-form I method

  • _q : iirfiltsos object
  • _x : input sample
  • _y : output sample pointer

int iirfiltsos_rrrf_execute_df2(iirfiltsos_rrrf _q, float _x, float * _y)

compute filter output, direct-form II method

  • _q : iirfiltsos object
  • _x : input sample
  • _y : output sample pointer

float iirfiltsos_rrrf_groupdelay(iirfiltsos_rrrf _q, float _fc)

compute and return group delay of filter object

  • _q : filter object
  • _fc : frequency to evaluate