Signalsmith Audio's DSP Library  1.6.0
Useful C++ classes/templates for audio effects
Files | Classes | Enums
Basic filters

Description

Classes for some common filter types.

Files

file  filters.h
 

Classes

class  signalsmith::filters::BiquadStatic< Sample, cookbookBandwidth >
 A standard biquad. More...
 

Enums

enum class  signalsmith::filters::BiquadDesign { bilinear , cookbook , oneSided , vicanek }
 Filter design methods. More...
 

Enum Details

◆ BiquadDesign

Filter design methods.

These differ mostly in how they handle frequency-warping near Nyquist:

Enumerator
bilinear 

Bilinear transform, adjusting for centre frequency but not bandwidth.

cookbook 

RBJ's "Audio EQ Cookbook". Based on bilinear, adjusting bandwidth (for peak/notch/bandpass) to preserve the ratio between upper/lower boundaries. This performs oddly near Nyquist.

oneSided 

Based on bilinear, adjusting bandwidth to preserve the lower boundary (leaving the upper one loose).

vicanek 

From Martin Vicanek's Matched Second Order Digital Filters. Falls back to oneSided for shelf and allpass filters. This takes the poles from the impulse-invariant approach, and then picks the zeros to create a better match. This means that Nyquist is not 0dB for peak/notch (or -Inf for lowpass), but it is a decent match to the analogue prototype.