How do you calculate the Sallen-Key cutoff frequency and Q?
For a unity-gain low-pass, f0 = 1 ÷ (2π√(R1R2C1C2)) and Q = √(R1R2C1C2) ÷ ((R1 + R2)C1); f0 is the −3 dB cutoff only for a Butterworth response. For a 1 kHz Butterworth (Q = 0.7071) with C1 = 10 nF and C2 = 33 nF, R1 = 4.19 kΩ and R2 = 18.3 kΩ; the nearest 1 % values 4.22 kΩ and 18.2 kΩ give 999.7 Hz. The feedback capacitor must be at least 4Q² times C1.
Sallen-Key filter formula and topology
A Sallen-Key stage is two RC sections with positive feedback from the op amp output into the middle node. The feedback raises Q above the 0.5 limit of a passive RC-RC network. With the op amp as a follower (K = 1), the passband gain is exactly 1.
f0 = 1 ÷ (2π√(R1 R2 C1 C2)) Q = √(R1 R2 C1 C2) ÷ ((R1 + R2) C1)
- R1, R2
- low-pass: R1 from the input, R2 into the + input
- C1
- low-pass: + input to ground
- C2
- low-pass: R1/R2 junction to the output (feedback)
- f0, Q
- natural frequency in Hz and quality factor
The high-pass swaps the parts: C1 and C2 in series with the signal, R1 from the + input to ground and R2 from the capacitor junction to the output. Its Q has the same form with the roles exchanged:
f0 = 1 ÷ (2π√(R1 R2 C1 C2)) Q = √(R1 R2 C1 C2) ÷ (R2 (C1 + C2))
For a Sallen-Key filter design, look up Q and the frequency scaling factor FSF for the response, then set the pole frequency to f0 = FSF × fc for a low-pass or fc ÷ FSF for a high-pass. With R1 = mR, R2 = R, C1 = C and C2 = nC (TI SLOA049, Appendix A.1.2), Q = √(mn) ÷ (m + 1), which needs n ≥ 4Q²:
m = [(n − 2Q²) − √(n² − 4nQ²)] ÷ 2Q² R = 1 ÷ (2π f0 C √(mn))
For the equal-capacitor high-pass, R1 = Q ÷ (π f0 C) and R2 = 1 ÷ (4π Q f0 C).
Sallen-Key filter design: worked examples
Example 1: 1 kHz Butterworth low-pass (TI SLOA049 Table 10-1)
Q = 0.7071 and FSF = 1, so f0 = 1 kHz. With C1 = 10 nF and C2 = 33 nF, n = 3.3 and m = 0.2288. R = 1 ÷ (2π × 1 kHz × 10 nF × √(mn)) = 18.3 kΩ, so R2 = 18.3 kΩ and R1 = m × R = 4.19 kΩ. Rounded to E96, 4.22 kΩ and 18.2 kΩ give f0 = 999.7 Hz and Q = 0.710. TI lists 4.22 kΩ and 18.4 kΩ for the same circuit.
Example 2: 20 Hz subsonic high-pass with 220 nF capacitors
For a Butterworth high-pass, f0 = fc = 20 Hz. R1 = 0.7071 ÷ (π × 20 × 220 nF) = 51.2 kΩ and R2 = 1 ÷ (4π × 0.7071 × 20 × 220 nF) = 25.6 kΩ, a 2:1 ratio. The E96 values 51.1 kΩ and 25.5 kΩ give 20.04 Hz. Film capacitors suit this: an X7R ceramic in the signal path loses capacitance with bias and adds distortion.
Example 3: what equal parts give (TI SLOA024B test circuit)
R1 = R2 = 1 kΩ and C1 = C2 = 1 nF: f0 = 1 ÷ (2π × 1 µs) = 159.2 kHz and Q = √(10⁻¹²) ÷ (2 × 10⁻⁶) = 0.50, matching the 159 kHz and Q = 1/2 TI quotes. Because Q is below 0.707, the −3 dB point is lower than f0, at 102.4 kHz.
Q, FSF and capacitor ratio for each response
Second-order values computed from the pole positions of each response. They match TI SLOA049 Tables 9-1 to 9-4 within 0.13 % (TI rounds the Bessel FSF to 1.2736 from rounded pole values) and Op Amps for Everyone Table 16-6 for the 0.5 dB Chebyshev. Gains are for a low-pass, relative to the DC gain.
| Response | Q | FSF (f0/fc) | Min C2/C1 | Peak | Gain at 2fc | Gain at 10fc |
|---|
| Butterworth | 0.7071 | 1.0000 | 2.000 | none | −12.3 dB | −40.0 dB |
| Bessel | 0.5774 | 1.2720 | 1.333 | none | −9.8 dB | −35.9 dB |
| Chebyshev 0.5 dB | 0.8637 | 1.2313 | 2.984 | +0.50 dB | −7.9 dB | −36.3 dB |
| Chebyshev 1 dB | 0.9565 | 1.0500 | 3.660 | +1.00 dB | −10.4 dB | −39.1 dB |
| Chebyshev 3 dB | 1.3047 | 0.8414 | 6.809 | +3.00 dB | −14.0 dB | −43.0 dB |
Sallen-Key Butterworth filter values for common low-pass cutoffs
Unity gain, C1 the E6 value nearest 1/(2π fc × 10 kΩ), C2 the smallest E12 value of at least 2 × C1, resistors rounded to E96. The last column is f0 with those rounded parts.
| fc | C1 | C2 | R1 | R2 | Actual f0 |
|---|
| 100 Hz | 150 nF | 330 nF | 5.23 kΩ | 9.76 kΩ | 100.1 Hz |
| 1 kHz | 15 nF | 33 nF | 5.23 kΩ | 9.76 kΩ | 1.001 kHz |
| 3.4 kHz | 4.7 nF | 10 nF | 5.36 kΩ | 8.87 kΩ | 3.367 kHz |
| 10 kHz | 1.5 nF | 3.3 nF | 5.23 kΩ | 9.76 kΩ | 10.01 kHz |
| 20 kHz | 680 pF | 1.5 nF | 5.76 kΩ | 10.7 kΩ | 20.07 kHz |
| 50 kHz | 330 pF | 680 pF | 5.62 kΩ | 8.06 kΩ | 49.92 kHz |
What goes wrong in real Sallen-Key filters
Use C0G/NP0 ceramic or film capacitors and 1 % resistors: Q depends on part ratios, and X7R capacitance moves with DC bias and temperature. TI SLOA049 suggests resistors from a few hundred ohms to a few kilohms and capacitors of at least 10 pF, so keep the capacitors well above the op amp’s input capacitance. A low-pass Sallen-Key does not keep attenuating forever: well above the cutoff the signal couples through C2 to the op amp output, whose output impedance rises with frequency, so the stopband floor is set by the amplifier (SLOA024B, section 3.5). A small RC after the output fixes it if you need deep high-frequency rejection. A high-pass is really a band-pass whose upper edge is the op amp’s bandwidth. The source impedance adds to R1 of a low-pass, so drive the filter from a low-impedance source or fold the source resistance into R1. Bessel tables differ in how they normalize: the FSF of 1.2720 used here puts the −3 dB point at fc, while tables normalized for unit group delay put the poles elsewhere, so check which one a reference uses before mixing values (a 1 kHz Bessel with C1 = 10 nF takes C2 = 15 nF here).
Glossary
- Natural frequency (f0)
- The frequency of the pole pair, 1 / (2π√(R1R2C1C2)). It equals the −3 dB cutoff only for a Butterworth response.
- Quality factor (Q)
- Sets the shape of the corner: 0.577 for Bessel, 0.707 for Butterworth, higher for Chebyshev, which peaks before it rolls off.
- FSF
- Frequency scaling factor in TI’s tables: the pole frequency divided by the cutoff for a low-pass stage.
- Butterworth
- The flattest possible passband; −3 dB at fc and 40 dB per decade for a second-order stage.
- Bessel
- Near-constant group delay, so a step passes with almost no overshoot, at the cost of a softer corner.
- Chebyshev
- Allows ripple in the passband in exchange for a steeper drop just past the cutoff.
- Unity gain
- The op amp is wired as a voltage follower, so the passband gain is exactly 1 (0 dB).
Frequently asked questions
What is the Sallen-Key topology?
Two RC sections around an op amp, with positive feedback from the output into the middle node. The feedback raises Q above the 0.5 limit of a passive RC-RC network, and with the op amp as a follower the passband gain is exactly 1.
What is the Sallen-Key filter formula for a low-pass?
For the unity-gain low-pass, f0 = 1 / (2π √(R1 R2 C1 C2)) and Q = √(R1 R2 C1 C2) / ((R1 + R2) C1), where C1 goes from the op-amp + input to ground and C2 is the feedback capacitor. For a Butterworth response f0 equals the −3 dB cutoff and Q = 0.7071.
What is the Sallen-Key Q factor with equal resistors and capacitors?
Q = 0.5 at unity gain, below a Bessel (0.577). The −3 dB point then sits at 0.644 × f0: with 1 kΩ and 1 nF, f0 = 159.2 kHz but the −3 dB point is 102.4 kHz. To get a sharper corner at unity gain, make the feedback capacitor C2 larger than C1.
Why does C2 have to be at least 4Q² times C1?
At unity gain the highest Q a low-pass can reach is √(C2/C1) / 2, which happens with equal resistors. A Butterworth (Q = 0.7071) needs C2/C1 ≥ 2, a Bessel ≥ 1.33 and a 3 dB Chebyshev ≥ 6.81. Leave C2 blank in the calculator and it picks the smallest E12 value that works.
How do I design a Sallen-Key high-pass filter?
Swap the resistors and capacitors. With two equal capacitors C, R1 (to ground) = Q / (π f0 C) and R2 (feedback) = 1 / (4π Q f0 C). For a 20 Hz Butterworth with 220 nF that is 51.2 kΩ and 25.6 kΩ. For Bessel and Chebyshev the pole frequency is fc divided by the same FSF the low-pass multiplies by.
Sallen-Key or multiple feedback (MFB): which should I use?
TI SLOA049 sums it up: the unity-gain Sallen-Key filter has the best gain accuracy because its gain does not depend on component values, while the MFB is less sensitive to component variation and keeps attenuating better at high frequency. Sallen-Key is non-inverting; MFB inverts.
What op amp bandwidth does a Sallen-Key filter need?
TI’s rule of thumb (Op Amps for Everyone, section 16.8.4) for about 1 % gain error is a unity-gain bandwidth of 100 × the −3 dB frequency for Q below 1, and 100 × Q × f0 × √((Q² − 0.5)/(Q² − 0.25)) above it. A 1 kHz Butterworth needs 100 kHz; a 1 kHz, 3 dB Chebyshev about 99.9 kHz.
How do I build a fourth-order or higher Sallen-Key filter?
Cascade second-order stages, each with its own f0 and Q from a filter table (TI SLOA049 section 9), plus one RC section for odd orders. A fourth-order Butterworth uses stages with Q = 0.5412 and 1.3065, both at fc. Put the lowest-Q stage first to reduce clipping.
More free PCB tools
See all free electronics tools →
- RC filter calculator (low pass)Cutoff frequency of an RC low-pass filter, or R or C for a cutoff, with the Bode plot and standard part values.
- RC high pass filter calculatorCutoff frequency of an RC high-pass filter, or R or C for a cutoff, with the Bode plot and standard values.
- RLC circuit calculatorResonant frequency, Q, bandwidth and damping of series or parallel RLC circuits, with the impedance curve.
- Op amp gain calculatorGain and resistor values for inverting, non-inverting, difference and summing op amp circuits, with bandwidth from GBW.
- Online KiCad design checkerUpload a KiCad project to run KiCad 10 DRC, ERC and schematic parity, plus JLCPCB or PCBWay rules. Every finding links to its fix.
- AI circuit diagram makerDescribe a circuit in plain English and get a clean schematic with standard symbols and a checked netlist. Export SVG, PNG, PDF, KiCad or SPICE.
Design the whole board, not one number
ProtoFlow is free AI PCB design software: describe a circuit and get a schematic with real parts, PCB layout with an autorouter, SPICE simulation and Gerber files. Native KiCad, Altium and EAGLE import and export. Free on macOS, Windows and Linux.