Biquad filters in C++ using KFR

Digital biquad filters and biquad filter design functions are implemented in the KFR framework starting from the first version.

Biquad algorithm uses the Transposed Direct Form II which reduces the quantization errors in the floating point calculations.

All frequency arguments have to be in range 0.00.5 where 0.5 is the Nyquist frequency.

Appropriate header must be #included using <kfr/dsp/biquad.hpp>

Example 1

The following filter design functions are implemented:
biquad_allpass, biquad_bandpass, biquad_highpass, biquad_highshelf,
biquad_lowpass, biquad_lowshelf, biquad_notch, biquad_peak (All pass, Band pass, High pass,
High shelf, Low pass, Low shelf, Notch and Peak filter, respectively).

This code snippet can be used to show impulse and frequency response of
the constructed biquad filter
(python 2.7 and the dspplot module is required to be installed and python must be in the PATH)

Example 2

Biquad performance benchmark

Benchmark source code

Leave a Reply

Your email address will not be published. Required fields are marked *