[sdiy] S-plane visualization software

Magnus Danielson cfmd at swipnet.se
Sun Feb 24 03:34:37 CET 2002


From: "Oren B. Leavitt" <oleavitt at ix.netcom.com>
Subject: Re: [sdiy] S-plane visualization software
Date: Sat, 23 Feb 2002 17:40:11 -0800

> Hello,

Hi Gren,

> As a programmer by trade, I have been trying to think of ways to put that lazy
> PC to work in a synth-DIY-useful way, too.
> 
> I like the idea of an interactive filter designer - I just might write an app if
> I find some spare time.
> 
> Where can I get some backgrounders on the math and theory involved?

Well, why not on the Synth-DIY? ;O)

> I will need examples, equations, and graphs, etc... to get an idea.

Plenty of those around...

> I am not up to snuff on s-plane filter math...I think I mis-Laplaced my
> head...;-)

Tip: Do not place your poles on the right half-plane if you want
stability ;O)

OK.

If you have a transfer function H(s) then we talk about its amplitude
responce to be |H(s)| and we usually let s = jw for stable
frequencies, thus the amplitude responce becomes |H(jw)|.

The phase responce is arg(H(jw)|.

Since H(s) is really built up of a number of poles and zeroes we can
write it

                                     ---
          (s-z )(s-z )...(s-z )      | | s-z
              1     2        m        i     i
H(s) = H  --------------------- = H  ---------
        0 (s-p )(s-p )...(s-p )    0 ---
              1     2        n       | | s-p
                                      i     i

Using this the amplitude responce becomes

                                           ---
             |jw-z ||jw-z |...|jw-z |      | | |jw-p |
                  1      2         m        i       i
|H(jw)| = H  ------------------------ = H  -----------
           0 |jw-p ||jw-p |...|jw-p |    0 ---
                  1      2         n       | | |jw-p |
                                            i       i

since
             _______________
          2 / 2           2 |
|jw-p | = \/ a  + (w - b )
     i        i         i

and similarly for z's we get by assuming:

z  = g  + id
 i    i     i

p  = a  + ib
 i    i     i
                   __________________
                  / ---  2         2 |
                 /  | | g  + (w-d )
                /    i   i       i
|H(jw)| = H \  /    ----------------
           0 \/     ---  2         2
                    | | a  + (w-b )
                     i   i       i

where as the phase responce becomes

         ---        d - w    ---         b - w
         \           i       \            i
phi(w) =  >  arctan ----- -   >   arctan -----
         /            g      /             a
         ---           i     ---            i
          i                   i

The phase delay is given as

            phi(w)
tau (w) = - ------
   p          w

and the group delay is given as

         d phi(w)
D(w) = - --------
            dw

that is, the derivate of phase.

Don't forget that w is allways 2*pi*f and pi is about 3.14159 ;O)

Do you need much more math works?

You migth need a few examples... right. Butterworth filters have all
their poles evenly spread out on a circle with the center at the origo
and naturally no poles on the right side half. For an odd number of
poles one lies on the real axis. Let me know if you don't work that
math out on yourself...

Cheers,
Magnus - happy to revisit the land of linear filtering ;O)



More information about the Synth-diy mailing list