Electronic Pages  Die Homepage der Familie Beis

Design and Dimensioning of Active Filters

I prepared these utiliies written in Javascript to help you to quickly design and dimension your active Sallen-Key or Multiple Feedback topology low-pass or high-pass filter. Simulation can be done by exporting automatically generated Spice-netlists to an external simulator and running the simulation there.

This page is not intended to teach the basics of filter design. Look at the TI-website for an in-depth article. Links to more filter design software can be found on the New Wave Instruments company website. Also you may have a look at my homepage. You likely won't be able to understand it - it's German.

No responsibility for any kind of errors or bugs is taken from anybody. This page has been tested with MSIE 6 and Netscape 6.2.

Low-Pass Filters

In this utility great importance is attached to the possibility of automatical selection of capacitors out of the E6- or E12-series. Because dimensioning has to start with a resistor value that can be used throughout all stages, all capacitor values become odd, which is quite impractical. Here you enter the approximate resistor values you wish and the utility now proposes different resistor values, so that the capacitor values will become standard values.

Proceed to Active Low-Pass Filter Design and Dimensioning

New: Dimensioning of Active 3-Pole Single Stage Low Pass Filters - quite unique!

High-Pass Filters

High-pass filters are easier to dimension, as you start with a single capacitor value that can be used for all capacitors throughout all stages. The resistor-values anyway become odd.

Proceed to Active High-Pass Filter Design and Dimensioning

(Samples above: 5-pole Butterwoth and 3 dB Chebychev low- and high-passes simulated by SIMetrix Intro)

Hints on Filters, Component Selection and Simulation

Filter Topology

The most common filter topologies are Sallen-Key and Multiple Feedback filters. The major differences are:


Multiple Feedback

Non-inverting Inverting

Very precise DC-gain of 1
Any gain is dependent on the resistor precision
Less components for gain = 1 Less components for gain > 1 or < 1
Op-amp input capacitance must possibly be taken into account Op-amp input capacitance has almost no effect
Resistive load for sources even in high-pass filters Capacitive loads can become very high for sources in high-pass filters

In an active filter design for each stage you may select any topology of filter.

Stage Order

The stage order may be arbitrarily mixed. The stage order shown on the design pages is better suitable for high signal levels, a reversed stage order is better for low-noise purposes.

CA and CB Selection in Low-Pass Filters

Sallen-Key filter: In the table on the low-pass filter design pages CA and CB are calculated first for the desired RX (= RA = RB) values. In the "CX selection and resulting RX" columns the closest E6 or E12 series values for CX are selected and the corresponding values for RA and RB are calculated. You may manually enter different CA and CB, but CB must always be a minimum multiple of CA (you will get a warning if this requrement is not met). It is recommended to keep CB / CA as close as possible to this minimum mulitple so that RA and RB will be as close as possible, too. In this case the individual values of RA and RB are far less important than the correct sum of both. This might make it easier to find final values for the resistors.

Multpile Feedback filter: Basically the same, but "RB" must be replaced by "RC" and "RA" must be replaced by "RA parallel to RB".

CX Selection in High-Pass Filters

In high-pass filters you select a capacitor value CX that can be used for all capacitors in all stages. The resistor-values will be calculated correspondingly.

Part Value Tolerances

Deviations from nominal values of the passive components of course have influence on the frequency response of the filter. These deviations may be caused by component tolerances or due to the fact, that under normal circumstances the ideal values are not available. As a rough estimation it is possible to say: The lower the stage order is, the lower the influence of deviations on the frequency response is. Higher stage orders have a higher quality factor Q and deviations of R and C impinge on the resulting frequency response roughly proportional to the Q-factor.

If you want to find out more about the effects of varying values, generate the netlist of your choice and simulate it using the Monte-Carlo option.

Op-Amp Selection

As they are not ideal, op-amps falsify the ideal frequency response, too. The most important influence is caused by the finite gain-bandwidth product of the op-amps. In the tables above you find the GBW that is actually used in low-pass filters the corresponding stage. In high-pass filters it is the GBW used at the cutoff-frequency.

The GBW of the op-amp shall be much higher than the GBW in the tables above. It is a good approximation to say: If the op-amp GBW is 100 x Q times higher than the GBW of the corresponding stage, the amplitude error will be approx. 1 / 100 = 1%. If you want to know it more exactly, have a look in the TI-article already mentioned above.

Example 1: For an 8-pole Chebychev 3 db 100 Hz filter the highest Q is 23 and GBW is 2.4 kHz. 100 x Q x GBW = 5.5 MHz. The simulation with TL071 shows a gain error of close to 1%.

Example 2: For an 3-pole Butterworth 20 kHz filter the highest Q is 1 and GBW is 40 kHz. 100 x Q x GBW = 4 MHz. The simulation with TL071 again shows a gain error of close to 1%.

In the table below you find some op-amps and their most important characteristics:

Basic Type Derivate GBW
Noise (typ.)
TL061 TL062, TL064 1 42 Low power (200 uA), FET
TL071 TL072, TL074 4 18 Standard type for audio, FET
OPA134 OPA2134, OPA4134 8 8 Low noise, high gain (--> very low distortion), FET
NE5532   10 5 Dual, low noise, high GBW, not too expensive, nice for audio, bipolar
LT1115   40 0,9 Ultra low noise, high GBW, very expensive, bipolar
AD797   110 0.9 Ultra low noise, very high GBW, very expensive, bipolar

Do not use LM324 or LM358 for audio circuits as their unbiased output stages create lots of cross-over distortions when the output current changes direction.

Netlist Generator for Simulation

Unfortunately a simulation of the filter is not possible on this website. Instead, you may get a netlist output for the configured filter in order to simulate it on your PC. When you start to generate a netlist you may:

- For low-pass filters use component values for the desired RX or for the selection for capacitors out of the E-series
- Generate the netlist either for the Sallen-Key or the Multiple Feedback topology
- Get time-domain (step-response) analysis and/or frequency-domain (frequency response) analysis
- Initiate Monte-Carlo settings with multiple plots, where all passive elements are randomly inaccurate as you request
- Get a netlist with ideal amplifiers or with real op-amps or with two filters of both types of amplifiers, supplied by one source

You may edit the netlists if you desire other options not provided here.

In order to simulate the netlist, execute following steps:

- Click into the netlist
- Press Ctrl-A and Ctrl-C (or Ctrl-Insert) to to select and copy the whole netlist to clipboard
- Open an ASCII text-file i. e. with the Editor or click into a previously opened one
- Press Ctrl-A and Ctrl-V (or Shift-Insert) to replace previous text by the whole netlist from clipboard
- Save the text-file (for obvious reasons into the directory and with the file-extension your simulator expects, i. e. MyFilter.NET)
- Start your simulator and select "Run Simulation from File".

Experiments have been made using SIMetrix Intro. This evaluation version allows to simulate the filter(s) above for up to 4 stages (less with more complex op-amps or more with ideal amplifiers). Plot control is provided in the netlists for SIMetrix Intro. The Windows path for the netlist file is likely to be C:\Program Files\SIMetrix4Intro\Work\mynetlist.net.

I strongly recommend to make simulations to make own experiences i. e. which deviation of which value will result in which final frequency or step response.

Trying to simulate an NE5532 I had trouble to get a correct Spice model for it. The only model I found was on the TI webpage for an NE5534 and is quite faulty: It has an unlimited bandwidth as the internal compensation capacitor is missing. For an NE5534 (uncompensated single version of NE5532, min. gain = 3) a capacitor of 3.5 pF must be added between nodes 6 and 7, and for an NE5532 (min. gain = 1) it takes 23.5 pF. For an NE5534 a new symbol with additional connections for external compensation must be created, for the NE5532 this is not the case. I prepared both models, you may download them here. Look for help in your simulator how to integrate the models - it takes some steps.

A few Words from the Author

It was not the first time I wanted to dimension a low pass filter. The book that used to be so helpfull in these cases had vanished (by the way: has anybody seen it?) and I had three dissatisfying choices: Take the other book and find out how to obtain R and C values out of the ai and bi coefficients, or use that evaluation version of a highly professional filter design tool where the display of all R-values is suppressed so that they must be guessed, or spend an unpredictable amount of time to search for something better in the internet. Well, I took the third choice, and after that unpredictable amount of time I gave up. Ok, I admit, I'm not a brilliant track hound. Back to choice 1, I started to automate the calculations by a a small Basic program (DOS Basic! I'm not a professional software writer either), and as nice results were early, I thought about all the other desperate filter designers like me without my first book, without the fully licensed filter software and without something like my little Basic program, roaming in vain through the internet... And I thought it might be a nice idea to place my solution on Rod's website (and in the future probably on mine as well). A DOS Basic program? *g*

What about Javascript? I've got no clue about it, I just knew something like this existed. (Yes, I'm not even a skilled website author). So I started to learn it. Of course it should look better and be more flexible than my Basic program, but if I had known before how much time I would spend on it, I swear, I would never have started it! As all the formulas looked so complete and ready-to-use in my book, I could not imagine how much of mathematical homework still laid in front of me (Yes, yes - another hole in my spectrum of capabilities). I wondered how and why something so different from Basic might work, I learned about the differences of Netscape and MSIE, and I always had a never ending list of features I wanted to add.

What you see here is just meant to be a beginning - I hope so, at least. If I get plenty of feedback (boy, that would be fine), I would like to add functions people really need. But they should be feasible with HTML and Javascript. Meanwhile my intention to make a similar page about active high pass filters (who needs that? I never did!) became true but the other one about passive filters not. The latter looks so simple, but, for example, I did not even find an answer yet if even ordered passive chebychev lowpass filters exist. I've gotta buy a smart book.

Meanwhile I forgot the reason I wanted that filter for, but I found some more tools and information in the internet. Have a look at the link collection of the New Wave Instruments company, for example.

If you found this page helpful, if you have suggestions, particularly if you found bugs please let me know. A sufficiently prepayed letter with any amount of cash is accepted, but in deep emergency a simple e-mail will do (Attention: Parts of this statement was meant to be humorous!).

My name is Uwe Beis and I am nothing but a poor electronics engineer. (There must be something I'm good for at least - mustn't it?.) Did you have a look at my hompage? You likely won't be able to understand it - it's German.

Last update: October 13th, 2015 Questions? Suggestions? Email Me! Uwe Beis