[PD] Resonant filter using cpole~ czero~

Mathieu Bouchard matju at artengine.ca
Thu Feb 2 19:37:18 CET 2012

Le 2012-02-02 à 11:40:00, Mathieu Bouchard a écrit :

> So a real ax²+bx+c is something between a pair of [rpole~] and a pair of 
> [cpole~]. It's equivalent to a pair of [cpole~] in which you force two 
> numbers to be the same, and two other numbers to be negatives of each other.

Actually, [bp~] is pretty much a 2-pole resonant real filter, right ? The 
input parameters f (centre freq) and s (sampling rate) and Q are 
transformed like this :

ω = 2πf/s
r = 1-ω/Q
a = -r²
b = 2r*cos(ω)
c = 1 (an overall gain is applied separately, which is like scaling a,b,c 
all at once)

however, in this case, b²-4ac = 4r²*(1+cos²(ω)) is always positive, so it 
does not cover the unfactorisable cases, which have to be done using 
[cpole~] or [biquad~] (whichever is more efficient). It seems that [bp~] 
is a mere combination of a [lop~], a [hip~] and a [*~] (plus the 
calculation of their coefficients).

I'm still learning about this topic... so, again, I might be saying 
something wrong in there.

| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC

More information about the Pd-list mailing list