Skip to content

Sallen-Key Filters

Published On:
Jan 3, 2013
Last Updated:
Oct 14, 2024

The Sallen-Key filter is one of the most popular active 2nd-order analogue filters topologies1. It can be configured as a low-pass, high-pass, band-pass or band-stop filter. Also called a Sallen and Key filter. It was first introduced in 1955 by R.P. Sallen and E.L. Key of MIT’s Lincoln Labs, whose last names give this filter it’s name. It is a filter topology, and defines the components and connections between them to realize a 2nd order filter. Various filter tunings such as Butterworth, Bessel and Chebyshev can be implemented using the Sallen-Key topology.

The schematic for a variable-gain low-pass Sallen-Key filter.
Simulated response of the design example (2nd-order 3dB Chebyshev Sallen-Key low-pass filter with a cutoff frequency of 1kHz) above.

The Sallen-Key filter has low component spread (low ratios of highest to lowest capacitor and resistor values). It also has a high input impedance and low output impedance, allowing for multiple filters to be chained together without intermediary buffers.

The performance of a Sallen-Key filters does not depend that much on the performance of the op-amp. This is because the op-amp is used as an amplifier, rather than an integrator, which minimizes the gain-bandwidth requirements of the op-amp1. However there are high-frequency limitations to the Sallen-Key filter, which are explained in more detail below.

One disadvantage of the Sallen-Key filter is that the Q of the filter is very sensitive to component variations, which can be a problem, especially for high-Q filter sections.

The Sallen-Key filter is closely related to a voltage-controlled voltage source (VCVS) filter. Some literature makes the distinction of a Sallen-Key filter having unity gain, and the VCVS filter including non-unity gain by connecting a resistor divider from the output to the inverting terminal of the op-amp. However we will consider them one and the same for the purpose of analysis, as the unity-gain version is a special subtype of the generalized variable-gain version.

Another popular alternative to the Sallen-Key topology is the Multiple Feedback (MFB) topology2.

Low-Pass Sallen-Key Filter

This is a placeholder for the reference: fig-low-pass-variable-gain-sallen-key-filter-schematic shows the schematic for a variable-gain low-pass Sallen-Key filter (a.k.a. VCVS filter).

The schematic for a variable-gain low-pass Sallen-Key filter.

This is a placeholder for the reference: fig-low-pass-unity-gain-sallen-key-filter-schematic shows the schematic for the unity-gain low-pass Sallen-Key filter (which is generally not called a VCVS filter). Note the removal of R3R_3 and R4R_4, the output is instead directly fed into the inverting input of the op-amp, just like when using an op-amp as a buffer. The filter has unity gain in the pass-band.

The schematic for a unity-gain low-pass Sallen-Key filter.

The generalized transfer function for a 2nd-order low-pass filter is1 3:

H(s)=Kω02s2+ω0Qs+ω02\begin{align} H(s) &= \frac{K\omega_0^2}{s^2 + \frac{\omega_0}{Q}s + \omega_0^2} \\ \end{align}

where:
KK is the gain factor
ω0\omega_0 is the characteristic frequency in radians/s [rads1rads^{-1}]
QQ is the quality factor and is dimensionless [no unitno\ unit]
s=jωs = j\omega

Written in the same form as the general equation above, the transfer function for a 2nd-order low-pass Sallen-Key filter is1:

H(s)=KR1R2C1C2s2+[(1R1+1R2)1C1+1KR2C2]s+1R1R2C1C2\begin{align} H(s) &= \frac{\frac{K}{R_1R_2C_1C_2}} {s^2 + \left[(\frac{1}{R_1} + \frac{1}{R_2})\frac{1}{C_1} + \frac{1 - K}{R_2C_2} \right]s + \frac{1}{R_1R_2C_1C_2}} \\ \end{align}

Equating the coefficients in the general form (Eq. eq:gen-2-order-lpEq.\ \ref{eq:gen-2-order-lp}) with those specific to the Sallen-Key topology (Eq. eq:sallen-key-2-order-lpEq.\ \ref{eq:sallen-key-2-order-lp}) allows us to find the equations of the characteristic frequency and quality factor.

The cut-off frequency is (remembering f=2πωf = 2\pi \omega):

fc=12πR1R2C1C2\begin{align} f_c = \frac{1}{2\pi \sqrt{R_1R_2C_1C_2}} \end{align}

and the quality factor is:

Q=R1R2C1C2R1C1+R2C1+R1C2(1K)\begin{align} Q = \frac{\sqrt{R_1R_2C_1C_2}}{R_1C_1 + R_2C_1 + R_1C_2(1 - K)} \end{align}

The gain equation is the same as for an non-inverting amplifier:

K=1+R3R4\begin{align} K = 1 + \frac{R_3}{R_4} \end{align}

How To Calculate Component Values

Setting Filter Components As Ratios

The idea here is to define a new variable mm which is the ratio of the resistances and a new variable nn which is a ratio of the capacitances.

So we define:

R1=mR, R2=R, C1=C, C2=nC\begin{align} R_1 = mR,\ R_2 = R,\ C_1 = C,\ C_2 = nC \\ \end{align}

This simplifies the cut-off frequency and quality factor equations to:

fc=12πRCmnQ=mnm+1+mn(1K)\begin{align} f_c &= \frac{1}{2\pi RC\sqrt{mn}} \\ Q &= \frac{\sqrt{mn}}{m + 1 + mn(1 - K)} \\ \end{align}

Firstly, you decide on a desired gain KK and quality factor QQ. Then chose a ratio nn for the capacitors, for example 11. This will allow you to calculate mm using the equation for the quality factor.

With arbitrary KK, QQ and nn, solving the quality factor equation for mm gives something truly horrible (I cheated and got Wolfram Alpha to solve this one for me):

m=2KnQ2±n4KnQ24nQ2+n4Q22nQ2+n2Q22Q2(K2n22Kn22Kn+n2+2n+1)\begin{align} m = \frac{2 K n Q^2 \pm \sqrt{n} \sqrt{4 K n Q^2 - 4 n Q^2 + n - 4 Q^2} - 2 n Q^2 + n - 2 Q^2}{2 Q^2 (K^2 n^2 - 2 K n^2 - 2 K n + n^2 + 2 n + 1)} \end{align}

Lastly, decide on your cut-off frequency fcf_c and then you can calculate RR using the cut-off frequency equation.

R=12πfcCmn\begin{align} R &= \frac{1}{2\pi f_c C\sqrt{mn}} \\ \end{align}

The process can be simplified even more, by setting n=1n = 1. This makes both capacitors equal.

Tuning Based Design

You can design a Sallen-Key filter based of a particular filter tuning and it’s coefficients, this is an alternative to choosing the quality factor and gain yourself. Given the filter tuning coefficients a0a_0 and a1a_1 and desired cut-off frequency fcf_c you can then calculate the required resistances and capacitances.

The resistance of the resistors R1R_1 and R2R_2 are related to the capacitances and filter coefficients by the following equation:

R1,R2=a1C1(a1C1)24b1C1C24πfcC1C2\begin{align} R_1, R_2 = \frac{a_1 C_1 \mp \sqrt{ (a_1 C_1)^2 - 4 b_1 C_1C_2}}{4\pi f_c C_1 C_2} \end{align}

You use the - sign when calculating R1R_1 and the ++ sign for calculating R2R_2.

To obtain real values under the square root, C1C_1 must obey the follow condition:

C1C24b1a12\begin{align} C_1 \geq C_2 \frac{4b_1}{a_1^2} \end{align}

These equations give you enough info to calculate all the resistances and capacitors for a Sallen-Key filter. See the design example below to show how you would go about it.

Frequency Limitations of the Low-Pass Sallen-Key Filter

A low-pass Sallen-Key filter is strongly dependent on the op-amp having a low output impedance. A op-amp’s output impedance increases with increasing frequency, thus the performance of the Sallen-Key low-pass begins to suffer at high frequencies. This typically manifests itself with the -40dB/decade gain turning around and beginning to increase again after a certain frequency in the stop band of the filter.

This phenomenon can be best understood by analyzing the behaviour at high frequencies. At frequencies much higher than the cut-off frequency fcf_c, we can treat the capacitors as shorts. This gives rise to the equivalent circuit in This is a placeholder for the reference: fig-low-pass-variable-gain-sallen-key-filter-freq-limit. Shorting C2C_2 means that the op-amps non-inverting input is kept at ground (for high frequency signals), and so nothing should pass from input to output. This is true as long as the op-amp has strong enough “drive” to keep this basic tenant true. Unfortunately, as frequency increases, so does the op-amps output impedance. This impedance effects the op-amps ability to keep the output at 0V0V, and the gain begins to rise again.

Equivalent circuit for a low-pass Sallen-Key filter at high frequencies. The left-hand shows the circuit with the capacitors shorted. The right-hand is a simplification showing the addition of the op-amps output impedance.

Based of the above schematic, we can use the voltage divider rule to write out the transfer function as:

VoutVin=R2ZOR1+R2ZO=1R1R2ZO+1=1R1R2ZOR2+ZO+1=1R1(R2+ZO)R2ZO+1=1R1R2+R1ZOR2ZO+1=1R1ZO+R1R2+1\begin{align} \frac{V_{out}}{V_{in}} &= \frac{R_2 || Z_O}{R_1 + R_2 || Z_O} \nonumber \\ &= \frac{1}{\frac{R_1}{R_2 || Z_O} + 1} \nonumber \\ &= \dfrac{1}{\dfrac{R_1}{\frac{R_2Z_O}{R_2 + Z_O}} + 1} \nonumber \\ &= \dfrac{1}{\frac{R_1(R_2 + Z_O)}{R_2Z_O} + 1} \nonumber \\ &= \dfrac{1}{\frac{R_1R_2 + R_1Z_O}{R_2Z_O} + 1} \nonumber \\ &= \dfrac{1}{\frac{R_1}{Z_O} + \frac{R_1}{R_2} + 1} \\ \end{align}

Assuming ZOZ_O is much smaller that R1R_1, and that R1R_1 and R2R_2 are roughly in the same order of magnitude, the R1ZO\frac{R_1}{Z_O} term then dominates the bottom of the fraction. Thus:

VoutVinZOR1\begin{align} \frac{V_{out}}{V_{in}} &\approx \frac{Z_O}{R_1} \\ \end{align}

ZOZ_O is the closed-loop impedance. It is frequency-dependent, and is related to the open-loop impedance by:

ZO=zO1+AB\begin{align} Z_O = \frac{z_O}{1 + AB} \\ \end{align}

where:
zOz_O is the open-loop impedance
AA is the closed-loop gain
BB is the feedback factor, and equal to R4R3+R4\frac{R_4}{R_3 + R_4}

So as the closed-loop gain AA of the op-amp begins to drop at high frequencies, the output impedance of the op-amp begins to increase. The op-amp then struggles to keep the inverting input of the low-pass Sallen-Key filter at virtual ground, and begins to let through some of the signal. This reduces the effectiveness of the low-pass filter in the stop band.

We can see the effect of an increasing output impedance at high frequencies in bode plot of This is a placeholder for the reference: fig-low-pass-sallen-key-showing-gain-rise-annotated-plot for a 2nd-order low-pass Sallen-Key filter, with a cutoff frequency fcf_c of 1kHz.

Gain plot of a low-pass Sallen-Key filter showing the reversal to increasing again once a certain frequency is reached, owing to the increasing op-amp output impedance.

High-Pass Sallen-Key Filter

You can arrive at a high-pass Sallen-Key filter by switching the positions of the resistors and capacitors in a low-pass Sallen-Key filter (just like you can for passive RC filters). This gives you the schematic in This is a placeholder for the reference: fig-high-pass-variable-gain-sallen-key-filter-schematic.

Schematic of a variable-gain high-pass Sallen-Key filter.

The general form of the transfer function for a second order high-pass filter is1:

H(s)=Ks2s2+αω0s+ω02\begin{align} H(s) = \frac{Ks^2}{s^2 + \alpha \omega_0 s + \omega_0^2} \\ \end{align}

Using Ohm’s law and Kirchhoff’s current/voltage laws, we can write the equivalent transfer function for a variable-gain high-pass Sallen-Key filter, in terms of the resistances and capacitances1:

H(s)=Ks2s2+(C2R2+C1R2+(1K)C2R1C1C2)s+1R1C1R2C2\begin{align} H(s) &= \frac{Ks^2}{s^2 + \left( \dfrac{\frac{C_2}{R_2} + \frac{C_1}{R_2} + (1-K)\frac{C_2}{R_1}}{C_1C_2} \right)s + \dfrac{1}{R_1C_1R_2C_2}} \\ \end{align}

If you are using the unity-gain op-amp (no R3R_3 or R4R_4), the transfer function simplifies to4:

H(s)=s2s2+(1R2C1+1R2C2)s+1R1C1R2C2\begin{align} H(s) &= \frac{s^2}{s^2 + \left(\dfrac{1}{R_2C_1} + \dfrac{1}{R_2C_2}\right)s + \dfrac{1}{R_1C_1R_2C_2}} \\ \end{align}

This unity-gain transfer function is similar to the unity-gain transfer function for the low-pass filter, except note:

  1. It’s just s2s^2 on the numerator.
  2. The coefficient for ss on the denominator changes from (1R1C1+1R2C2)\left(\frac{1}{R_1C_1} + \frac{1}{R_2C_2}\right) to (1R2C1+1R2C2)\left(\frac{1}{R_2C_1} + \frac{1}{R_2C_2}\right).

This means our unity-gain filter coefficients a0a_0 and a1a_1 are:

a0=1R1×R2×C1×C2a1=1R2×C1+1R2×C2\begin{align} a_0 &= \frac{1}{R_1 \times R_2 \times C_1 \times C_2} \\ a_1 &= \frac{1}{R_2 \times C_1} + \frac{1}{R_2 \times C_2} \\ \end{align}

How To Calculate Component Values

This design process assumes the following inputs:

  • Cut-off frequency fcf_c
  • Quality factor QQ
  • Gain KK

This process is based of Basic Linear Design: Chapter 8 - Page 8.90.

Choose C1C_1. Set C2C_2 to the same value.

Then calculate an intermediary variable kk, with:

k=2πfcC1\begin{align} k = 2\pi f_c C_1 \\ \end{align}

Find α\alpha, which by definition is the inverse of the quality factor:

α=1Q\begin{align} \alpha = \frac{1}{Q} \\ \end{align}

R1R_1 and R2R_2 are then:

R1=α+α2+(K1)4kR2=4α+α2+(K1)×1k\begin{align} R_1 &= \frac{\alpha + \sqrt{\alpha^2 + (K - 1)}}{4k} \\ R_2 &= \frac{4}{\alpha + \sqrt{\alpha^2 + (K - 1)}} \times \frac{1}{k} \\ \end{align}

Frequency Limitations of the High-Pass Sallen-Key Filter

The high-pass Sallen-Key filter works well up to a certain frequency, and after which the non-idealities of the op-amp begin to reduce the gain. This turns the high-pass Sallen-Key filter more into a band-pass filter, with the upper frequency cut-off determined by the open-loop gain of the op-amp.

At frequencies much higher than the cut-off fcf_c, we can assume the two capacitors are shorts. This gives us the schematic in This is a placeholder for the reference: fig-high-pass-variable-gain-sallen-key-filter-freq-limit.

Equivalent circuit for high frequency signals through the high-pass Sallen-Key filter. Both capacitors are considered shorts.

If we assume a non-infinite open-loop gain AA of the op-amp, the transfer function of this above circuit is:

H(f)=AAB+1\begin{align} H(f) &= \frac{A}{AB + 1} \\ \end{align}

where BB is the feedback factor (how much of the output is fed back to the inverting terminal via the voltage divider made from R3R_3 and R4R_4):

B=R4R3+R4\begin{align} B &= \frac{R_4}{R_3 + R_4} \\ \end{align}

If we divide the numerator and denominator of Eq. eq:transfer-fn-high-pass-freq-limitEq.\ \ref{eq:transfer-fn-high-pass-freq-limit} by ABAB the behaviour of the transfer function as AA drops becomes more apparent:

H(f)=1B[11+1AB]\begin{align} H(f) &= \frac{1}{B} \left[\frac{1}{1 + \frac{1}{AB}}\right] \\ \end{align}

When the open-loop gain AA is large, this equation just becomes H(f)=1BH(f) = \frac{1}{B}, the standard gain equation for a non-inverting op-amp. However, as AA decreases we can no longer ignore the 1AB\frac{1}{AB} term and it starts reducing the overall gain of the circuit.

You can a practical example of this frequency limitation with the high-pass Sallen-Key filter we designed above. As shown in This is a placeholder for the reference: fig-high-pass-sallen-key-fc2khz-q1.5-k4-freq-limitation-plot, the gain of the high-pass filter starts falling and hits 0dB0\,dB at the stated gain bandwidth product GBWGBW at 10MHz10\,MHz.

Annotated bode plot showing how the upper frequency limit of the high-pass Sallen-Key filter lines up nicely with the stated GBW=10MHz of the op-amp.

Calculators

The OKAWA Electric Design website has some good Sallen-Key filter calculators, including 2nd and 3rd-order low-pass and high-pass calculators.

Screenshot of the Sallen-Key filter calculators offered by the OKAWA Electric Design website5.

The Texas Instruments Filter Design Tool is a web-based tool that supports the Sallen-Key topology. You firstly enter in the desired characteristics of your filter (e.g. low-pass, cut-off frequency, amount of rejection in stop band, tuning, e.t.c) and then can select Sallen-Key as a topology to implement the filter with.

Screenshot of the Filter Design Tool from Texas Instruments6.

Further Reading

For general information on analogue filters, see the Analogue Filters page.

See the Filter Tunings page for information on Butterworth, Bessel, Chebyshev, e.t.c filter tunings and their polynomial coefficients (these can be applied to a Sallen-Key filter topology).

A screenshot of the Filter Tunings page.

Footnotes

  1. Analog Devices. Chapter 8: Analog Filters. Retrieved 2022-09-20, https://www.analog.com/media/en/training-seminars/design-handbooks/Basic-Linear-Design/Chapter8.pdf. 2 3 4 5 6

  2. Jim Karki (2002, Sep). SLOA049B: Active Low-Pass Filter Design. Texas Instruments. Retrieved 2022-09-21, from https://www.ti.com/lit/an/sloa049b/sloa049b.pdf.

  3. Gary Tuttle. EE 230: Second-order Filters (lecture slides). Retrieved 2022-10-01, from http://tuttle.merc.iastate.edu/ee230/topics/filters/second_order_intro.pdf.

  4. Texas Instruments (2021, Jun). SBOA225: Single-supply, 2nd-order, Sallen-Key high-pass filter circuit. Retrieved 2022-09-21, from https://www.ti.com/lit/an/sboa225/sboa225.pdf.

  5. OKAWA Electric Design. Filter Design and Analysis (web application). Retrieved 2022-09-29, from http://sim.okawa-denshi.jp/en/Fkeisan.htm.

  6. Texas Instruments. Filter Design Tool (web application). Retrieved 2022-09-29, from https://webench.ti.com/filter-design-tool/filter-type.