[PD] dsp help for tonestack

Frank Barknecht fbar at footils.org
Tue Mar 9 11:54:22 CET 2010


Hallo,
Dan Wilcox hat gesagt: // Dan Wilcox wrote:

> Can anyone give me a pointer on how to implement this function using rpole~,
> rzero~, etc:? y = 2 * (a * (x - x[-2]) + c * y[-1] - b * y[-2])  It's the
> transposed Direct Form II digital filter from dsp/TDFII.h

This is a biquad filter, so you could use [biquad~] (or one of it's
signal-inlet equivalents like the [e_beequad] in RjDj's "rj" library).
Translating the formula to a biquad~-friendly format would be:

        y = 2 * (a * (x - x[-2]) + c * y[-1] - b * y[-2])
==> 0.5*y = a * (x - x[-2]) + c * y[-1] - b * y[-2]
          = a*x + 0*x[-1] - a*x[-2] + c*y[-1] - b*y[-2]

The last version lets you directly read the required [biquad~] coefficents as:

 [c -b a 0 -a(
 |
 [biquad~]
 |
 [*~ 2]

Replace c, b and a with real numbers. I hope, I got the signs right ...

Ciao
-- 
Frank




More information about the Pd-list mailing list