[sdiy] Re: Cauer Filter Design

Magnus Danielson cfmd at bredband.net
Tue Jan 6 09:35:39 CET 2004


From: Robert Pietrusko <bobby at csounds.com>
Subject: Cauer Filter Design (was : new to the list...) 
Date: Mon, 5 Jan 2004 19:36:34 -0800 (PST)
Message-ID: <20040106033634.55869.qmail at web41306.mail.yahoo.com>

> Hi Mangus and everyone on the list,

Hi Bobby,

(BTW. It's Magnus and not Mangus... )

> Now then, the Elliptic Filter and its related frustration. 

As a side-note, as I looked through the SSM 2040 datasheet earlier I saw a
4-pole Cauer setup. It's in Figure 8 on page 3 of the 4-page datasheet that I
have. You could naturally make a 10th order variant if you really wish.

> During my hiatus I did some Matlab simulations and
> such and created a *.pdf with the transfer functions
> for each of the second order sections, I also included
> the plots of their magnitude vs. frequency.  It seemed
> like a good way for us to reference it. 
> anyway, it is at
> http://www.enfason.com/10thOrderCauer.pdf 

A, straight normalized transfer functions as I like them! ;O)

> Agreed. That's why I went looking for a circuit that
> could do high pass notch responses,  such as the
> Boctor circuit.  Sallen-Key seems better suited for
> Butterworth designs and the like.  Before this design
> it was my "go to."  

I see.

> Looking at the figures for the different stages'
> magnitudes, the first stage is the only one without
> additional gain at the cutoff frequency,  likewise it
> is the only transfer function that doesn't break the
> Gioffi equations, so I am going to assume that's where
> the problem is-- that the boctor circuit can't give me
> this peak.  

Most topologies have limits beyond that of the stability (i.e. all poles please
keep to the left half-plane... PLEASE!).

> I agree with your idea that I should have a toolbox
> (of sorts) of filter layouts to use as needed, and I
> think the Boctor works good for this first stage.

You have also discoved that you not only need to have formulas for
dimensioning, but you need formulas to check if a topology might be used at
all.

Once you know that a topology is a candidate topology (i.e. first you do a
selection of all your "known" topologies of which can actually satisfy a
problem) you also need to make a few calculations in order to evaluate how
"well" it handles a particular problem. One measure which you should study is
the sensitivity to component values, and those can be expressed in the
parameters you have and with a few dimensioning components usually.

> >I would however consider doing a ortonormal leapfrog
> >ladder. It is really a
> >good choice since you both have a low sensitivity to
> >individual components and
> >good dynamic properties. When doing a 10th order
> >filter I think you should pay
> >attention to those details.
> 
> From my small knowledge of leapfrog ladders, I know
> that they are used for resonant circuits, which seems
> consistent with the gain around the center frequency. 

They are not limited to that. They can do extremely well in maximum flat
responses as well.

> The only thing that worries me about this idea however is the number op-amps
> needed per section.  A single Op-amp (per section) solution is ideal but I
> understand that it might not be possible.  It's not a cost concern but a
> space concern as this is a 10th order filter and the design calls for two of
> them.

SMD? ;O)

> If you had any luck digging up that paper though, I'd love to take a look at
> it. 

Well, I'd love to read it again, so I'll let you know when I find it.

> Now, with the universal filter (SVF) I know I can get a couple of stages of
> those on a single IC, from some place like Maxim and that helps with the
> space requirements. Unfortunately, I've had no experience designing for these
> and I'm wondering if now, after seeing the response of the stages (highpass
> notch with a resonance), do you think SVFs will do the trick for the
> remaining 4 stages.

YES! (You will soon see why I am so confident, as I will do the math up-front!)

> If so, I've got a ton information on designing them but I'd like to avoid
> spending a lot of time on them only to find out in 2 weeks that I won't be
> able to get this response. :)

Experience talking, eh? ;O)

> I guess that is the big question now -  is the SVF the layout for me? and if
> so, would cascading a number of those maxim universal filter ICs do the
> trick?  (something like the max266).

I haven't looked at the MAX266 until now, but just looking at the datasheet I
can spot a suitable transfer-function easilly. I would however not use those
chips, but that is another thing.

If we make a state-variable filter core by using a summation-step, and two
inverting integration steps where the input and output of the two
integration steps feed into the summation step, we get these formulas:

V2 = V1 + g1V3 + g2V4

         1
V3 = - ----- V2
       sR1C1

         1
V4 = - ----- V3
       sR2C2

we toss these together and come up with

            g1           g2
V2 = V1 - ----- V2 + ---------- V2
          sR1C1      s²R1R2C1C2

         g1        g2
V2(1 + ----- - ----------) = V1
       sR1C1   s²R1R2C1C2

V2           1                        R1R2C1C2s²
-- = ---------------------- = -------------------------
V1         g1        g2       R1R2C1C2s² + g1R2C2s - g2
     1 + ----- - ----------
         sR1C1   s²R1R2C1C2

V3               R2C2s
-- = -  -------------------------
V1      R1R2C1C2s² + g1R2C2s - g2

V4               1
-- = -------------------------
V1   R1R2C1C2s² + g1R2C2s - g2

Now, these outputs represent three independent outputs of different polynomial
degree for the zero-polynomials and they are also independent from g1 and g2
so we may choose the pole polynomial arbitrary by choosing the feedback terms
g1 and g2. Also, the filter frequency parameters is uniquely determined by
R1, R2, C1 and C2.

                    g1         g2
s² + as + b = s² + ---- s - --------
                   R1C1     R1R2C1C2

identifies

     g1
a = ----
    R1C1

         g2
b = - --------
      R1R2C1C2

giving

g1 = aR1C1

g2 = - bR1R2C1C2

By letting g1 be a positive feedback and g2 a negative feedback into the
input summer we're on.

An output summer is needed to mix V2, V3 and V4 into becomming a suitable
zero polynomial. This can be acheived in this case by identifying that

         V2      V4
s² + c = -- + g3 --
         V1      V1

thus

c = g3

or if you like

g3 = c

Setting up the two summers using inverting summers is trivial (be carefull
with the changed signs thought).

Also, when you do a long series like in this case, the output summer and the
input summer of the next stage allows for integration. In this case there is
5 sections so 4 output mixers can be bumped of, and that even by maintaining
the total sign. This would use up 4*3+4 = 16 op-amps for all 5 sections, or
just 4 TL-074s.

So, can it be done with a series of SVFs? Yes, and the basic dimensioning
formulas is there.

> Thanks for the input on this; your suggestions have very helpful.  

Goodie. Now I hope you've gotten still a little further...

Cheers,
Magnus - zapping of into continous-time space



More information about the Synth-diy mailing list