[PD] biquad~ with elementary filters [was: Re: dinosaurs ...]

Claude Heiland-Allen claudiusmaximus at goto10.org
Mon Sep 15 11:45:39 CEST 2008

Claude Heiland-Allen wrote:
> Frank Barknecht wrote:
>> Hallo,
>> martin brinkmann hat gesagt: // martin brinkmann wrote:
>>> Claude Heiland-Allen wrote:
>>>> cpole~ czero~ rpole~ rzero~ have signal inlets for filter control, so i 
>>>> assume sufficiently smooth changes will not cause clicks
>>> that is true, but it looks like no one has made a (usual lp,hp,etc.)
>>> filter with these objects until now.
>> Except Miller. [1]
>> Though I agree that some more of these would be handy. I tried to make
>> a biquad~ clone with the elementary filters, but failed so far. I
>> assume from [2] that the transfer function of two rzero~ and two
>> rpole~ in series should be the same as a biquad~,
> You need two cpole~ and two czero~ here, admittedly in complex-conjugate 
> pairs.

(oops) : either conjugate pairs, or both on the real line.

>> however I don't know
>> how to convert the ff1, ff2, ff3, fb1 and fb2 coefficients of biquad~
>> into the coefficients to use at the second inlets of the elemetary
>> filters. Can anyone help?
> http://ccrma.stanford.edu/~jos/filters/BiQuad_Section.html
> you need to munge the biquad coefficients from the form expected by Pd's 
> biquad~ to the form of the difference equation at the bottom - should 
> just be some scaling and sign stuff.
> then you can factorize the transfer function's numerator and denominator 
> to get the locations of the (complex) zeroes and poles (using the 
> quadratic formula would do the trick)
> then feed them to [czero~] [cpole~], and an additional [*~] for the 
> global gain.
>> [1] http://crca.ucsd.edu/~msp/techniques/latest/book-html/node160.html
>> [2] http://crca.ucsd.edu/~msp/techniques/latest/book-html/node136.html 
>> Ciao
> Claude

More information about the Pd-list mailing list