by John-Paul Bedinger
Of the various
topologies you can select for making active filters, the Sallen-Key uses the
least number of filter components. Furthermore, a 3-pole response (18 dB/oct)
is possible using only 1 op-amp. Below is a brief mathematical description on
how to compute the component values for a Chebyshev Type I (equiripple in passband) 3-pole lowpass filter with
selectable output gain.
Diagram 1: A 3-pole Sallen-Key lowpass filter with
output gain.
Circuit Analysis:
Looking at node 3b (where v3 = v3a = v3b) , the node voltage equation can be re-written to be:
(Eq.
1)
Let:
Then:
(Eq.
2)
The rest of the node voltages can be written:
When solved for the filter transfer function H(s) = Vout/Vin, we get: H(s)=
(Eq.
6)
Note that the general form of a 3-pole lowpass filter
at cutoff frequency 1 rad/sec is:
H(s) =
(Eq.
7a)
The form of a 3-pole prototype Chebyshev Type I Filter
for a 1 rad/sec cutoff frequency (at magnitude of gain less ripple) and
unity gain is:
H(s) =
(Eq. 7b)
where rdB is the permissible
ripple in the passband. The coefficients a2, a1, and a0 of Eq. 7a are
calculated by first solving for the 3 roots in the denominator of Eq.
7b that have negative real parts. These 3 roots(p1,
p2, and p3) are then re-factored back together and expanded to give the final
transfer function:
1/H(s) = (s-p1)(s-p2)(s-p3) =
(Eq. 7c)
To help simplify programming, you may wish to use the
following table for a0,a1,a2 at different values
of permissible ripple:
rdB |
a2 |
a1 |
a0 |
0.1dB |
1.9388 |
2.6295 |
1.6380 |
0.2dB |
1.6293 |
2.0773 |
1.1516 |
0.5dB |
1.2530 |
1.5349 |
0.7157 |
1dB |
0.9883 |
1.2384 |
0.4913 |
2dB |
0.7378 |
1.0222 |
0.3269 |
Table 1: Prototype Chebyshev filter coefficients vs. permissible passband ripple. fc = 1 rad/sec.
Next, equating like terms in Equation Eq. 6 and
Eq. 7c gives the solve block:
where Kac = M.
The traditional half-power(gain-3dB) filter cutoff(ωc) is a function
of both the order of the filter and of the ripple(rdB),
and is found in the 3-pole case by solving for the positive real root of:
(Eq. 12)
The following table tabulates
various solutions of Eq. 12 for a 3-pole prototype Chebyshev:
rdB |
ωc |
0.1 dB |
1.3890 |
0.2 dB |
1.2835 |
0.5 dB |
1.1675 |
1 dB |
1.0949 |
2 dB |
1.0327 |
3 dB |
1.000 |
To begin the prototype filter design
we choose our output gain and permissible ripple:
Kac = 3 (9.5 dB), rdB = 0.2dB
Also, we choose values for components: C1=3000
uF, C2=1000uF, C3=1000uF,
R5=20 k-ohms
Using Table 1 for a2...a0 and solving the
solve block for R1, R2, R3,and R4 gives:
R1=801.11 ohms, R2=508.6 ohms, R3=710.28 ohms, R4=20k
ohms
Rounding R1-R4 to standard EIA 1% tolerance decade
values gives:
R1=806 ohms, R2=511 ohms, R3=715 ohms, R4=20k ohms
Diagram 2: A 3-pole Sallen-Key Cheybshev
lowpass filter with cutoff(gain-ripple) at 1 rad/sec and a gain of 3.
Practical Notes:
·
For different
gain and passband ripple values you can refer to my table below, or
resolve the solve block with different values of rdB of
Kac. Use solutions only with all real positive roots. If you have Mathcad(TM),
you can download this MathCAD worksheet
to help you.
·
R1, R2, and R3
from the table can be scaled together by a factor x, which
should be done so that R1 is much greater than the source impedance at Vin.
This will set the cutoff to 1/x rad/sec.
·
C1, C2, and C3
from the table can be scaled together by a factor y, which
will set the cutoff frequency(at magnitude of gain
less ripple) to 1/(x*y) rad/sec, or:
Fc(gain-ripple) = 1/(2*3.1416*x*y) Hz (Eq. 13)
·
For the
traditional half-power cutoff frequency (at magnitude of gain less 3dB), you
must modify this formula to:
Fc(gain-3dB) = Wc/(2*3.1416*x*y) Hz (Eq. 14)
where Wc = ωc is found from Table 2.
rdB=0.1dB |
0dB |
6dB |
12dB |
18dB |
24dB |
30dB |
36dB |
R1 |
1032 |
13331 |
1500.3 |
3581.3 |
2745.7 |
1397.1 |
2747.3 |
R2 |
55228 |
16826 |
3610.3 |
1547.7 |
1889.1 |
13280 |
6185.7 |
R3 |
1071.2 |
2721.7 |
11270 |
11014 |
1177 |
32904 |
35924 |
R4 |
0 |
10000 |
30000 |
70000 |
15000 |
31000 |
63000 |
R5 |
infinite |
10000 |
10000 |
10000 |
1000 |
1000 |
1000 |
C1 |
1.00E-03 |
1.00E-04 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
C2 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-05 |
1.00E-05 |
C3 |
1.00E-05 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
|
|||||||
rdB=0.2dB |
0dB |
6dB |
12dB |
18dB |
24dB |
30dB |
36dB |
R1 |
1499.4 |
15267 |
1751 |
4078 |
3142.6 |
1646.5 |
3153.9 |
R2 |
2162.2 |
20528 |
4073 |
1745.5 |
2129.8 |
14695 |
6910.7 |
R3 |
26786 |
2770.7 |
12176 |
12200 |
1297.4 |
35890 |
39841 |
R4 |
0 |
10000 |
30000 |
70000 |
15000 |
31000 |
63000 |
R5 |
infinite |
10000 |
10000 |
10000 |
1000 |
1000 |
1000 |
C1 |
1.00E-03 |
1.00E-04 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
C2 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-05 |
1.00E-05 |
C3 |
1.00E-05 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
|
|||||||
rdB=0.5dB |
0dB |
6dB |
12dB |
18dB |
24dB |
30dB |
36dB |
R1 |
1842 |
18766 |
2214.4 |
4967.2 |
3861.2 |
2112.3 |
3900 |
R2 |
2981.9 |
27777 |
4761 |
2037.8 |
2484.7 |
16652 |
7933.4 |
R3 |
25438 |
26810 |
13253 |
13804 |
1456.4 |
39728 |
45166 |
R4 |
0 |
10000 |
30000 |
70000 |
15000 |
31000 |
63000 |
R5 |
infinite |
10000 |
10000 |
10000 |
1000 |
1000 |
1000 |
C1 |
1.00E-03 |
1.00E-04 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
C2 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-05 |
1.00E-05 |
C3 |
1.00E-05 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
|
|||||||
rdB=1dB |
0dB |
6dB |
12dB |
18dB |
24dB |
30dB |
36dB |
R1 |
2231.8 |
22752 |
2746.3 |
5977.4 |
4681 |
2649.8 |
4760.5 |
R2 |
4031.7 |
36444 |
5331.9 |
2276.6 |
2774.3 |
18136 |
8719.1 |
R3 |
22620 |
2454.9 |
13900 |
14959 |
1567.3 |
42355 |
49049 |
R4 |
0 |
10000 |
30000 |
70000 |
15000 |
31000 |
63000 |
R5 |
infinite |
10000 |
10000 |
10000 |
1000 |
1000 |
1000 |
C1 |
1.00E-03 |
1.00E-04 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
1.00E-03 |
C2 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-05 |
1.00E-05 |
C3 |
1.00E-05 |
1.00E-04 |
1.00E-04 |
1.00E-04 |
1.00E-03 |
1.00E-04 |
1.00E-04 |
Table 3: Prototype component values for
a Chebyshev filter response at 1 rad/sec.
Example:
We want Fc(gain-3dB) = 1000 Hz, C1 = 0.1uF,
C2= 0.1uF, and C3= 0.1uF, a passband ripple of 0.2
dB, and a gain of 6 dB. The source resistance is 10 ohms.
Find y for the correct
capacitor range: The scale factor y is 0.1uF/100uF,
or y = 0.001.
Find x using Eq. 7 and
Table 2: 1000 Hz = 1.2835/(2*3.1416*x*0.001). Solving
for x gives: x = 0.2043
Use Table 3 for 6dB gain and rdB=
0.2dB prototype values: Scaling R1, R2, R3, and R4 by x gives:
R1= 3118.7 ohms, R2= 4193.4 ohms, R3=
565.99 ohms, R4= 10k ohms, R5=10k ohms
Finally, round R1-R4 to standard EIA 1% tolerance
decade values:
R1= 3.09k ohms, R2= 4.22k ohms, R3= 562
ohms, R4= 10k ohms, R5= 10k ohms
Since 3.09k ohms >> 10 ohms source
resistance, the value for R1 should work well.
Diagram 3: A 3-pole Sallen-Key Chebyshev Type I
lowpass filter with cutoff(gain-3dB) at 1000 Hz, passband ripple of 0.2dB, and
a gain of 6dB.
Change Log:
v.1.14. Removed some legal
rambling at the bottom of this change log – that’s all in the About This Site
and General Disclaimer now. Reordered change Log, clarified Wc
= ωc,
fixed spellings, added more equation references, and put back in some missing equations and pictures.
v.1.13 Made MathCad file a
zip file. Note some equations are still missing.
v1.12 Some equations and
diagrams may have been lost during the move. I will fix these as I get time.
v1.11 Corrected HTML
title, misplacement of 'k's in example. Fixed various small text formatting
issues. Corrected H0..H3 to H0...H2 in MathCad
worksheet.
v.1.1 Added traditional
half-power frequency equation for Fc, and changed example to use it. Corrected
capacitor value C3 in Table 2 for rdB=0.2dB,
gain = 0dB to 1E-5. was 1E-4
v.1.0 Initial release.
Table values not verified by simulation.