Maker Pro
Maker Pro

Brushing up on theory: Butterworth LCR filter design?

R

Richard Rasker

Jan 1, 1970
0
Hi all,

I want to design a passive 3rd or 5th order lowpass filter with an fc of
500Hz or 1kHz, preferably a Butterworth configuration for a flat bandpass
response. So I dusted off ye 'ole filter design theory, set out to
calculate polynomials ... and realized that I somehow miss the connecting
step to real-world components -- at least, as far as the LCLR ladder
configuration is concerned:

L1 L2 L3
.--mmm---mmm---mmm--.
| | | |
Ri| | C1=== C2=== | | Ro
| | | | | |
| | | |
`-------------------'

I know how to calculate active filters in a Sallen-Key configuration, and I
looked up things like http://en.wikipedia.org/wiki/Butterworth_filter ,
but I somehow fail to make the connection between the transfer function H(s)
and the first schematic shown, with actual component placements and values.

Can anyone enlighten me in this respect? For active filters, there are some
quite good step-by-step explanations out there (e.g.
http://www.maxim-ic.com/appnotes.cfm/an_pk/1795) but so far I found nothing
for the humble LCR stuff. And I'm afraid step-by-step is what I need here,
as I seem to have all necessary information without knowing what to do with
it ...

Thanks already,

Richard Rasker
 
J

Joe G \(Home\)

Jan 1, 1970
0
Richard Rasker said:
Hi all,

I want to design a passive 3rd or 5th order lowpass filter with an fc of
500Hz or 1kHz, preferably a Butterworth configuration for a flat bandpass
response. So I dusted off ye 'ole filter design theory, set out to
calculate polynomials ... and realized that I somehow miss the connecting
step to real-world components -- at least, as far as the LCLR ladder
configuration is concerned:

L1 L2 L3
.--mmm---mmm---mmm--.
| | | |
Ri| | C1=== C2=== | | Ro
| | | | | |
| | | |
`-------------------'

I know how to calculate active filters in a Sallen-Key configuration, and
I
looked up things like http://en.wikipedia.org/wiki/Butterworth_filter ,
but I somehow fail to make the connection between the transfer function
H(s)
and the first schematic shown, with actual component placements and
values.

Can anyone enlighten me in this respect? For active filters, there are
some
quite good step-by-step explanations out there (e.g.
http://www.maxim-ic.com/appnotes.cfm/an_pk/1795) but so far I found
nothing
for the humble LCR stuff. And I'm afraid step-by-step is what I need here,
as I seem to have all necessary information without knowing what to do
with
it ...

Thanks already,

Richard Rasker

If you like software simulations then you can download LTSpice form
LinearTech web site... and build your own filters and simulated them.

Joe
 
Normally one looks up a prototype filter in tables in a book (Williams
and Taylor is excellent) and normalizes it for impedance and
frequency. Chapter 1 of Williams discusses filter synthesis; it can
get "laborious."

John

I'm with you here. I have a copy of Huelsman and Allen with the
tables, as well as Zverev.
 
R

Richard Rasker

Jan 1, 1970
0
Charles said:

It's certainly interesting, and it may certainly help me to regain a grip on
the theory -- as it combines a real-world calculator function with some
explanation of the underlying math. But I'm still looking for an example
which actually shows the step-by-step number crunching required to come up
with the values in the third step.

But now I at least partially see where my problem is, in comparison to the
less complicated active filters: the input/output impedance. I intended to
use this filter to block severe intereference caused by very powerful PWM
inverters (600V@8kHz) from entering A/D converter inputs. I prefer a
passive solution, because that could simply be inserted into the existing
signal path, without the need for yet another box with supply and the
likes. But at the desired frequency, I see that the component values aren't
exactly practical -- either the inductors must be around 1H, or the
capacitors range in the dozens of microfarads.
So perhaps it's back to the old Sallen-Key filter after all -- but I still
want to get a better grip on the theory :)

Anyway, thanks for your reply.

Richard Rasker
 
R

Richard Rasker

Jan 1, 1970
0
Joel said:
It's actually not at all a trivial "connection" -- you sit down and figure
out the transfer function of your circuit, and then equate the component
values with the coefficients in your transfer function... which is also
not completely trivial due to the "mixing" of component values within each
coefficient. However, there are some simplifications/generalizations
available due to the regular "ladder" structure of the circuit.

This difficulty is why the vast majority of people designing LC filters
start with 1Hz prototypes and component values taken from a table (e.g.,
http://www.crbond.com/papers/btf2.pdf or
http://www.engr.uky.edu/~gedney/courses/ee521/notes/Set5_LadderFilterAndPuff.pdf)

These are very good, thanks for pointing out!
and then transform them to the frequency and response they need. :)
(There is software out there that will directly synthesize a circuit from
an arbitrary transfer function, although there's no guarantee that this
can be done with only L's and C's and a source/termination R in the
general case... hence even if you have a somewhat oddball transfer
function, many people still start with a table-based design that's
somewhat close and then just let an optimizer mess around with component
values to tweak the design as needed.)


If you want to delve into the theory behind where the "magic numbers" in
the tables came from, most of the "hard core" filter synthesis books have
a
section on it. I took a quick look at "Design of Analog Filters" by
Schaumann and Van Valkenburg and it does (chapter 13, "LC Ladder
Filters").

It sort of feels like I grasp two domains: the math domain with the
imaginary plane, poles and polynomials on the one hand, and the practical
topology (but without values) required for a particular function on the
other hand. It's the number crunching in between which eluded me -- and
which isn't all that easy, I know. There's a good reason why people rely on
tables and design software to come up with practical solutions.

Anyway, thanks once again; I think I can find my own way from here :)

Richard Rasker
 
R

Richard Rasker

Jan 1, 1970
0
John said:
The butterworthiness is in the geometry of the filter and the
component ratios, which become reflected in the ratios of the
coefficients of the transfer function.

The transfer function can be derived by analyzing Vo/Vi for the
circuit. As the text indicates, this is done by substituting L*s for
inductors and 1/(C*s) for the capacitors, and writing and solving the
circuit equations. Then the magnitude at any frequency is found by
plugging in j*2pi*f in place of s. I can show you how to get the
transfer function from the circuit, if you want. Going back the other
way is another thing.

Anyway, if you look at the caption for the first schematic, it shows
a set of component values for wc = 1 rad / sec, or 0.159 Hz. Both
inductance and capacitance get smaller for the same impedance as
frequency increases, so if you want a filter with fc = 1 kHz, divide
the indicated values by (2pi * 1 kHz) = 6283. Then you will have C2 =
212 uF, L1 = 238.5 uH, L2 = 79.5 uH, the values for a 1 kHz filter.

I already found that at 1kHz, either the capacitors or the inductors end up
having rather unwieldy values ... so I'm afraid the actual filter will be
active after all. But thanks for the explanation all the same (also to all
the others I didn't personally thank); I will certainly dig deeper into
this, until I (hope)fully understand!

Richard Rasker
 
We bought the Nuhertz passive-filter design software, and it's
amazing. It will design gorgeous filters using finite-Q,
standard-value parts. Trying to do that by normalizing textbook
filters can drive you crazy.

The guy who does this is very smart and very, very crabby.

John

To be accurate here, I've only used those tables for SCF leapfrog
designs. Since you can get phase inversion pretty easily in SCF, the
leapfrog design works well. Designing them is really a great exercise
in signal flow graph theory, especially if the filter has transmission
zeros. Daniel Senderowich was consulting at Exar at the time, which is
where I learned the techniques.

One of the funnier lines Dan used was "it is hard to move a ladder."
The translation is ladder filters are very insensitive to component
tolerance. The line he would use is "As I told you once before...".
And yes, he did tell you once before, but I probably didn't get it at
the time.
 
"One of the funnier lines Dan used was "it is hard to move a ladder."
The translation is ladder filters are very insensitive to component
tolerance."

Yeah, but they're also challenging to debug if they're of high order, since
everything is all coupled together... one of the things Gabor Temes always
told us was, "Don't use a leapfrog topology for your first post-graduation
filter design assignment in industry."

Of course, he was thinking of the kind you built out of discrete op-amps and
R's and C's like he had done back working for the telephone industry in the
'60s/'70s; these days if it works in SPICE the fab will guarantee it'll work
on-chip, rgiht? :)

There isn't much SCF being done these days, but Switcap was what we
used.Spice doesn't conserve charge.

I really don't see the logic in Temes statement. In SCF, it was an
opamp per pole regardless of topology. If you can design a ladder, so
much the better. The "localized Qs", a term I never liked, are lower
with a ladder. That is, the response at individual nodes is less
peaked in a ladder. This kept the component spread (cap ratio) low. We
also used filtor (sic) out of University of Toronto.

What you were selling in the day was a very tightly controlled filter
shape. The customer put up with THD and clock feedthrough. You had to
have some selling advantage, and repeatability was what you sold.

One of the more annoying things was in the dark ages when Bell 212
filters were being sold for $25 a pop in NMOS technology, the THD plus
noise was more significant than what came through the filter. However,
for marketing purposes, you had to deliver the Bell 212 pole/zeros,
even if you could do better. When we finally integrated the entire
modem, i.e. nobody could see what the filters looked like, I yanked at
least a third of the filters out. It was truly a waste of silicon. The
lower Q meant less group delay compensation, so fewer allpass stages.

Often less is more if you look at the big picture.
 
B

boB

Jan 1, 1970
0
On my bookshelf... if I can remember where ;-)

...Jim Thompson


Yep, me too. even have the TTL cookbook around.
Don's a fine man.. He's got a few crazy and twisted ideas,
but he's OK in my book (shelf). It wouldn't be quite as CooL of an
electronics industry without him.

boB
 
That's a startling concept. Can you elaborate?

John

Well crap, it is generally accepted that spice doesn't conserve
charge, but this is an area of electronics where I have to plead
ignorance on details. But you can set up examples and show errors in
charge conservation. Charge a cap, slap it against another cap with an
ideal switch, and watch the voltage settle. Spice cranks until
tolerance parameters are met, so you never reach the ideal value. That
is, charge transfer will always be lossy.

There is a blurb in Jim Williams book about this:
http://tinyurl.com/9zyr7a

Switcap was designed using cutsets on the capacitive network, much
like you create by hand when deriving network equations, then
computing the ideal value after charge has transferred.

This is an area where my knowledge is just cursory. That is, I don't
know much about circuit simulators beyond using them. Circuit
simulators are a discipline all to themselves, as is device modeling.
It is good to know the gotchas, but I'm not sure a designer has to
know what is under the hood.

Another bug in spice is charge injection of mosfets. Apparently charge
injection isn't modeled perfectly This has been the subject of many
pappers. They either use new models that match reality better, or
subcircuits that augment basic mosfets. Papers on cyclic converters
often were obsessive about charge injection modeling error.
 
Didn't we address this years ago, USING MATH?  

IIRC it is ALWAYS lossy...

Do the math, with a real Rsw, then let Rsw -> 0.






Yep ;-)



                                        ...Jim Thompson
--
| James E.Thompson, P.E.                           |    mens     |
| Analog Innovations, Inc.                         |     et      |
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    |
| Phoenix, Arizona  85048    Skype: Contacts Only  |             |
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
| E-mail Icon athttp://www.analog-innovations.com|    1962     |

 I love to cook with wine     Sometimes I even put it in the food

At least I admit my limitations.
 
Hard-paralleling different-voltage caps is a classic circuit puzzler.
Most newbies get it wrong, so it's sort of fitting that Spice gets it
wrong, too. The problem is trying to conserve both charge and energy.

John

The point is there are simulators that do conserve charge, but of
source have other limitations. Spice is a tool with limitations. All
software is riddled with bugs, but as long as you know what the bugs
are, you can use the programs appropriately. For instance, the spice
time step isn't really the time step unless you use the extra
parameter on the .tran line. If you don't force a time step, spice
lets events pick the time step for simulation, but then interpolates
the the "display" time step. This often screws up THD analysis.

Oh, all chips have bugs too.
 
A circuit with just ideal caps and switches is physically impossible,
since closing a switch between different-voltage caps creates a
singularity. Spice should throw an error and quit simulating, as it
does for some other conditions.

I suspect that adding a little series resistance will make Spice come
out awfully close.

John

OK, but the channel charge of the mosfet isn't modeled well.

Like I said, you need to be specialized in simulators to know the
nitty gritty. My point is it is accepted that spice doesn't conserve
charge.
 
Maybe it's some models that don't conserve charge, perhaps as they
switch regions of piecewise nonlinearities or some such, trying to
emulate device behavior. I sort of doubt that the core simulation
engine doesn't conserve charge, at least if you set the time steps to
something reasonable.

John

But you only converge to the reltol limits. There is always some
finite error in such a scheme. OK, maybe it should be stated that
spice doesn't perfectly converse charge, but my assumption is if you
conserve charge, it is by definition assumed to be perfect.
 
N

Nobody

Jan 1, 1970
0
But you only converge to the reltol limits. There is always some
finite error in such a scheme. OK, maybe it should be stated that
spice doesn't perfectly converse charge, but my assumption is if you
conserve charge, it is by definition assumed to be perfect.

IOW, you are saying that Spice doesn't explicitly ensure conservation of
charge over the course of the simulation, so any tolerance error in
individual steps will accumulate?

Similar to the way that a naive numerical simulation of d²x/dt² = -kx
typically won't conserve amplitude?
 
J

JosephKK

Jan 1, 1970
0
OK, but the channel charge of the mosfet isn't modeled well.

Like I said, you need to be specialized in simulators to know the
nitty gritty. My point is it is accepted that spice doesn't conserve
charge.

IME the problem is more that the model (used in the simulation) is
very poor rather then any lacking in the way spice computes things
(asserting refinements in spice all along the way). I has been this
way for 20 years at least. Of course the model capability is an ever
finer approximation of the real thing (If and when updated). YMMV
 
J

JosephKK

Jan 1, 1970
0
I think Berkeley spice started conserving charge in one of the later
versions. I think Spectrum Software's Microcap VIII conserves charge also.

LTspice seems to conserve charge. Here is part of a post from msg 24309:

Files -> Temp -> varicap -> varicap.* shows that LTSpice variable
capacitances DO conserve charge as the capacitance is changed. This
is a rather important subtlety.

http://tech.groups.yahoo.com/group/LTspice/message/24309

This might be worth investigating to confirm it is true. But in this day
and age, I would be surprised if LTspice doesn't conserve charge. Mike is a
very competent engineer.

Mike

Actually since very early on (I think v. 2a) spice conserved charge.
Both the early Ebers-Moll and later Gummel-Poon bipolar transistor
models were based on conserving charge. And these were over 20 years
ago.
 
J

JosephKK

Jan 1, 1970
0
But you only converge to the reltol limits. There is always some
finite error in such a scheme. OK, maybe it should be stated that
spice doesn't perfectly converse charge, but my assumption is if you
conserve charge, it is by definition assumed to be perfect.

Then your definition is non physical, as perfect charge conservation
is not possible. So wise up and cope.
 
Top