Loading...
Searching...
No Matches
biquad.h File Reference

Second order Infinite Impulse Response filter. More...

Go to the source code of this file.

## Functions

uint_t | aubio_filter_set_biquad (aubio_filter_t *f, lsmp_t b0, lsmp_t b1, lsmp_t b2, lsmp_t a1, lsmp_t a2)
| set coefficients of a biquad filter
aubio_filter_t * | new_aubio_filter_biquad (lsmp_t b0, lsmp_t b1, lsmp_t b2, lsmp_t a1, lsmp_t a2)
| create biquad filter with b0, b1, b2, a1, a2 coeffs

## Detailed Description

Second order Infinite Impulse Response filter.

This file implements a normalised biquad filter (second order IIR):

\( y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] - a_1 y[n-1] - a_2 y[n-2] \)

The filtfilt version runs the filter twice, forward and backward, to compensate the phase shifting of the forward operation.

See also Digital biquad filter on wikipedia.

Definition in file biquad.h.

## Function Documentation

## aubio_filter_set_biquad()

uint_t aubio_filter_set_biquad | ( | aubio_filter_t * | f,
|  | lsmp_t | b0,
|  | lsmp_t | b1,
|  | lsmp_t | b2,
|  | lsmp_t | a1,
|  | lsmp_t | a2 )

set coefficients of a biquad filter

Parameters

  f | filter object as returned by new_aubio_filter()
  b0 | forward filter coefficient
  b1 | forward filter coefficient
  b2 | forward filter coefficient
  a1 | feedback filter coefficient
  a2 | feedback filter coefficient

## new_aubio_filter_biquad()

aubio_filter_t * new_aubio_filter_biquad | ( | lsmp_t | b0,
|  | lsmp_t | b1,
|  | lsmp_t | b2,
|  | lsmp_t | a1,
|  | lsmp_t | a2 )

create biquad filter with b0, b1, b2, a1, a2 coeffs

Parameters

  b0 | forward filter coefficient
  b1 | forward filter coefficient
  b2 | forward filter coefficient
  a1 | feedback filter coefficient
  a2 | feedback filter coefficient

Examples
  temporal/test-biquad.c.