[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:
>
>> 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

```