Designs for single-amplifier, twopole, low-pass, active filters with gain are relatively common in the literature, but little information is available for such filters with three poles. Determining the component values for a three-pole filter requires solving three simultaneous equations with three unknowns. These equations are rather messy, particularly for gains other than one. Therefore, the usual cookbook solutions for this filter have typically been done at a gain of one. However, with the advent of programs that iteratively solve such equations for their roots, it becomes relatively easy to derive a filter solution for any value of gain.

The general equation for a threepole low-pass filter is:

The filter characteristics are determined by the values for A0, A1, A2, and A3, and are shown in Table 1 for several common filter types. The values for the desired filter type are plugged into the transfer function equation of the threepole active filter circuit (Fig. 1), and then the equation is solved to derive the circuit component values.

The equations to solve for the circuit component values using Mathcad 5.0 are shown in Figure 2. The values at the top are the initial variable values, including the filter gain and frequency response, that the program uses to solve the equations. The program holds these values constant, except for those in the “Find” equation.

To determine the filter components, set the variables A1, A2, and A3 at the top equal to the designated values for the desired filter type from the table given. Because there are six component variables and only three independent equations, the usual procedure is to initially set the three resistor values equal to each other and solve for the capacitor values. The example shown is for a Butterworth filter with a gain of 3, a corner frequency of 1 kHz, and resistor values of 10 kΩ. The bottom “Find” equation generates the calculated capacitor values (in farads).

These calculated values then can be optimized to standard available component values, as is typically desired. To do this, substitute the standard capacitor values closest to the calculated values for the values of C1, C3, and C5 at the top. Then calculate the revised resistor values by replacing Find(C1, C3, C5) with Find(R2, R4, R6) at the bottom. The closest standard values to these calculated resistor values, as well as the standard capacitor values, will be used in the circuit. The nominal response now becomes generally as close to the desired frequency as can be obtained using standard component values.

A particular filter’s frequency response will, of course, vary with the actual component tolerance values, as well as the selected amplifier’s gainbandwidth. The circuit is somewhat sensitive to the actual value of gain (K), so its variation should be given particular attention. An easy way to determine the circuit response is with a Spice-type circuit simulator program, such as Pspice, ICAP, or Electronic Workbench. Doing a Monte Carlo analysis with these programs can give the response variation for a random selection of component tolerances.

Note: If Mathcad has a problem finding a solution, try substituting different values for the “Find” unknowns at the top in Figure 2. Mathcad uses these values as guesses for its initial calculations. The closer these guesses are to the correct value, the more likely the program will converge to a solution.