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

Claude Heiland-Allen claudiusmaximus at goto10.org
Sun Sep 21 15:56:54 CEST 2008


Damian Stewart wrote:
> Charles Henry wrote:
> 
>> There is no zero at z=0.  I'm not sure about this one--but it seems as
>> though it's impossible to have a zero at z=0?

a zero at z=0 is a delay of 1 sample, so in:

y = a x(0) + b x(-1) + c x(-2) + d y(-1) + e y(-2)

there is a zero at z=0 if a == 0,
   and two zeros at z=0 if a == 0 and b == 0

(iirc)

> [shrug] i don't even know what a 'zero' is. and that's after reading 
> several different webpages that attempted to explain biquad filtering to 
> me. i just don't understand it.

if you have a transfer function like:

          (z-a)(z-b)
H(z) = g ----------
          (z-c)(z-d)

then 'a' and 'b' are zeros and 'c' and 'd' are poles.

The gain+phase response at a given frequency f is given by:

H( exp(i w) ) = H( cos(w) + i sin (w) )

where w = 2 * pi * f / SR

Intuitively the closer the point exp(iw) is to a zero, the less the gain 
(and if it's equal to a zero the gain is zero), and the closer the point 
is to a pole, the greater the gain (and if it's equal to a pole, the 
gain is infinite - so keep pole radius strictly less than 1 !).


Claude
-- 
http://claudiusmaximus.goto10.org





More information about the Pd-list mailing list