Recently, people in various publications have been pointing out that using an ordinary op amp in a Sallen-Key filter can cause problems. A typical op-amp circuit, as shown in Figure 1, can have a frequency response that rolls off nicely above 1 kHz, at 12 dB per octave, down to ?40 or ?50 dB. Then the response may roll back up or stay flat at higher frequencies.
If you choose a fast op amp with high Ib, you might choose low values for R1 and R2 to minimize error due to Ib × R. This might lead you to use large capacitors, which are more expensive.
The real problem is that at high frequencies, the input signal couples through R1 and C1 and forces current (potentially, several mA) into the op amp's output. Real op amps usually have very low ZOUT at dc. But at high frequencies, their ac ZOUT isn't characterized. Yet if you ask any op amp to put out current at higher frequencies, and the gain keeps rolling off at 6 dB per octave, that indicates that the ZOUT is going to roll up with frequency like an inductor.
It's not hopeless. There are several things you can do.
First, select an op amp with higher input impedance and lower Ib, maybe a CMOS op amp with Ib less than 1 pA. This will let you pick higher values for R1 and R2. In turn, this lets you use smaller (cheaper and/or higher-quality) capacitors for C1 and C2.
So if R1 was a low value (1k) and fed a lot of current into the output at high frequencies, first, increase the R values by a factor of 10. This improves things tenfold. If you have a 1-kHz rolloff frequency, for example, the capacitors could decrease from 160 nF to 16.
Now, do it again! Go to 100 kΩ and 1.6 nF. The theory of the filter works just fine when each resistor is increased by a factor of n, and the caps are likewise shrunken by n—not rocket science. Now the rolloff goes down a lot further, and the capacitors are smaller and cheaper.
I don't have any 1600-pF capacitors in my lab. That's a mongrel value. So again, we add in another scaling factor of 1.59. We can now use 1000-pF capacitors and 158k resistors. Those are easy to find. Thus, you can arbitrarily scale the capacitors and resistors, up or down, and maintain the same response. I usually avoid capacitors smaller than 200 pF.
Don't just take R1 as a fixed entity: Break R1 into pieces. If you had 159k, you could break it into 9k (5%) and 150k (1%). Then from that juncture, throw in C3 = 0.01 or 0.0047 µf to ground. This now makes a three-pole rolloff. That will further roll off the frequency response of the filter, and it will further decrease the amount of current fed into the output via R1 and C1. This added R-C will add even further to the rolloff and high-frequency attenuation, if you want a lot of that.
If you're using LM324s because they're cheap and because you have 1/4 LM324 just sitting around, consider that the LM324, because of its class-B output stage, is one of the worst op amps for a Sallen-Key filter. That's because its output impedance is potentially soft.
To minimize this problem, connect a suitable pull-down on the output to one of the rails, perhaps 15k to ?VS (or in some cases to +VS). This can cut down on the amount of "feedthrough" by making VOUT stiffer. We have many other amplifiers, and all of them work better than the LM324.
Which op amps have inherently lower ZOUT, and thus tolerate current fed in through R1 and C1? The NSC Webench site at http://webench.national.com/appinfo/webench/filters/design_requirements.cgi does a surprisingly good job of predicting how much the ZOUT will hurt, so it's worth a try.
However, it won't let you substitute in different values for the Rs and Cs, and it won't let you break up R1 into two pieces or add C3. You'll have to model that in Spice (which I don't recommend) or make a breadboard (which I do recommend).
Comments invited! [email protected] —or: Mail Stop D2597A, National Semiconductor P.O. Box 58090, Santa Clara, CA 95052-8090