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

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to