# Sallen–Key topology

The Sallen–Key topology is an electronic filter topology used to implement second-order active filters that is particularly valued for its simplicity.[1] It is a degenerate form of a voltage-controlled voltage-source (VCVS) filter topology. A VCVS filter uses a super-unity-gain voltage amplifier with practically infinite input impedance and zero output impedance to implement a 2-pole (12 dB/octave) low-pass, high-pass, or bandpass response. The super-unity-gain amplifier allows for very high Q factor and passband gain without the use of inductors. A Sallen–Key filter is a variation on a VCVS filter that uses a unity-gain amplifier (i.e., a pure buffer amplifier with 0 dB gain). It was introduced by R. P. Sallen and E. L. Key of MIT Lincoln Laboratory in 1955.[2]

Because of its high input impedance and easily selectable gain, an operational amplifier in a conventional non-inverting configuration is often used in VCVS implementations.[citation needed] Implementations of Sallen–Key filters often use an operational amplifier configured as a voltage follower; however, emitter or source followers are other common choices for the buffer amplifier.

VCVS filters are relatively resilient to component tolerance, but obtaining high Q factor may require extreme component value spread or high amplifier gain.[1] Higher-order filters can be obtained by cascading two or more stages.

## Generic Sallen–Key topology

The generic unity-gain Sallen–Key filter topology implemented with a unity-gain operational amplifier is shown in Figure 1. The following analysis is based on the assumption that the operational amplifier is ideal.

Figure 1: The generic Sallen–Key filter topology.

Because the operational amplifier (OA) is in a negative-feedback configuration, its v+ and v- inputs must match (i.e., v+ = v-). However, the inverting input v- is connected directly to the output vout, and so

$v_+ = v_- = v_{\text{out}}.\,$
$(1)\,$

By Kirchhoff's current law (KCL) applied at the vx node,

$\frac{v_{\text{in}}-v_x}{Z_1}=\frac{v_x-v_{\text{out}}}{Z_3}+\frac{v_x-v_-}{Z_2}.$
$(2)\,$

By combining Equations (1) and (2),

$\frac{v_{\text{in}}-v_x}{Z_1}=\frac{v_x-v_{\text{out}}}{Z_3}+\frac{v_x-v_{\text{out}}}{Z_2}$

Applying Equation (1) and KCL at the OA's non-inverting input v+ gives

$\frac{v_x-v_{\text{out}}}{Z_2}=\frac{v_{\text{out}}}{Z_4},$

which means that

$v_x=v_{\text{out}} \left( \frac{Z_2}{Z_4}+1 \right).$
$(3)\,$

Combining Equations (2) and (3) gives

$\frac{v_{\text{in}}-v_{\text{out}} \left( \frac{Z_2}{Z_4}+1 \right)}{Z_1}=\frac{v_{\text{out}} \left( \frac{Z_2}{Z_4}+1 \right)-v_{\text{out}}}{Z_3}+\frac{v_{\text{out}} \left( \frac{Z_2}{Z_4}+1 \right)-v_{\text{out}}}{Z_2}.$
$(4)\,$

Rearranging Equation (4) gives the transfer function

$\frac{v_{\text{out}}}{v_{\text{in}}} = \frac{Z_3 Z_4}{Z_1 Z_2 + Z_3(Z_1 + Z_2) + Z_3 Z_4},$
$(5)\,$

which typically describes a second-order LTI system.

### Interpretation

If the $Z_3\,$ component were connected to ground, the filter would be a voltage divider composed of the $Z_1\,$ and $Z_3\,$ components cascaded with another voltage divider composed of the $Z_2\,$ and $Z_4\,$ components. The buffer bootstraps the "bottom" of the $Z_3\,$ component to the output of the filter, which will improve upon the simple two divider case. This interpretation is the reason why Sallen–Key filters are often drawn with the operational amplifier's non-inverting input below the inverting input, thus emphasizing the similarity between the output and ground.

### Branch impedances

By choosing different passive components (e.g., resistors and capacitors) for $Z_1\,$, $Z_2\,$, $Z_4\,$, and $Z_3\,$, the filter can be made with low-pass, bandpass, and high-pass characteristics. In the examples below, recall that a resistor with resistance $R\,$ has impedance $Z_\mathrm{R}\,$ of

$Z_\mathrm{R} = R\,,$

and a capacitor with capacitance $C\,$ has impedance $Z_\mathrm{C}\,$ of

$Z_\mathrm{C} = \frac{1}{s C}\,,$

where $s = j \omega = \left(\sqrt{-1}\right) 2 \pi f\,$ is the complex angular frequency and $f\,$ is the frequency of a pure sine wave input. That is, a capacitor's impedance is frequency dependent and a resistor's impedance is not.

## Application: Low-pass filter

An example of a unity-gain low-pass configuration is shown in Figure 2.

Figure 2: A unity-gain low-pass filter implemented with a Sallen–Key topology.

An operational amplifier is used as the buffer here, although an emitter follower is also effective. This circuit is equivalent to the generic case above with

$Z_1 = R_1, \quad Z_2 = R_2, \quad Z_3 = \frac{1}{s C_1}, \quad \text{and} \quad Z_4 = \frac{1}{s C_2}.\,$

The transfer function for this second-order unity-gain low-pass filter is

$H(s) = { {\omega_0}^2 \over s^2 + 2 \alpha s + {\omega_0}^2 }$

where the undamped natural frequency $f_0\,$, attenuation $\alpha$, and Q factor $Q\,$ (i.e., damping ratio $\zeta$) are given by

$\omega_0 = 2 \pi f_0 = \frac{1}{ \sqrt{R_1R_2C_1C_2} }$

and

$2 \alpha = 2 \zeta \omega_0 = \frac{\omega_0}{Q} = \frac{1}{C_1} \left( \frac{1}{R_1} + \frac{1}{R_2} \right) = { 1 \over C_1 } \left( { R_1 + R_2 \over R_1 R_2 } \right) .\,$

So,

$Q = { \omega_0 \over 2 \alpha } = \frac{ \sqrt{ R_1 R_2 C_1 C_2 } }{ C_2 \left( R_1 + R_2 \right) } \qquad$

The $Q\,$ factor determines the height and width of the peak of the frequency response of the filter. As this parameter increases, the filter will tend to "ring" at a single resonant frequency near $f_0\,$ (see "LC filter" for a related discussion).

### Poles and zeros

This transfer function has no (finite) zeros and two poles located in the complex s-plane:

$s = -\alpha \pm \sqrt{ \alpha^2 - {\omega_0}^2 }$

There are two zeros at infinity (the transfer function goes to zero for each of the s terms in the denominator)

### Design choices

A designer must choose the $Q\,$ and $f_0\,$ appropriate for their application. The $Q$ value is critical in determining the eventual shape. For example, a second-order Butterworth filter, which has maximally flat passband frequency response, has a $Q\,$ of $1/\sqrt{2}\,$. By comparison, a value of $Q=1/2$ corresponds to the series of two identical simple low-pass filters.

Because there are two parameters and four unknowns, the design procedure typically fixes one resistor as a ratio of the other resistor and one capacitor as a ratio of the other capacitor. One possibility is to set the ratio between $C_1\,$ and $C_2\,$ as $n\,$ and the ratio between $R_1\,$ and $R_2\,$ as $m\,$. So,

$R_1=mR,\,$
$R_2=R,\,$
$C_1=nC,\,$
$C_2=C.\,$

Therefore, the $f_0\,$ and $Q\,$ expressions are

$\omega_0 = 2 \pi f_0 = \frac{1}{RC\sqrt{mn}},\,$

and

$Q = \frac{\sqrt{mn}}{m+1}.$
Figure 3: A low-pass filter, which is implemented with a Sallen–Key topology, with fc=15.9 kHz and Q = 0.5.

In practice, certain choices of component values will perform better than others due to the non-idealities of real operational amplifiers.[3]

### Example

For example, the circuit in Figure 3 has an $f_0\,$ of $15.9\,\text{kHz}\,$ and a $Q\,$ of $0.5\,$. The transfer function is given by

$H(s)=\frac{1}{1+\underbrace{C_2(R_1+R_2)}_{\frac{2 \zeta}{\omega_0} = \frac{1}{\omega_0 Q} }s+\underbrace{C_1C_2R_1R_2}_{\frac{1}{{\omega_0}^2}}s^2},$

and, after substitution, this expression is equal to

$H(s)=\frac{1}{1+\underbrace{RC(m+1)}_{\frac{2 \zeta}{\omega_0} = \frac{1}{\omega_0 Q} }s+\underbrace{mnR^2C^2}_{\frac{1}{{\omega_0}^2}}s^2}$

which shows how every $(R,C)\,$ combination comes with some $(m,n)\,$ combination to provide the same $f_0$ and $Q$ for the low-pass filter. A similar design approach is used for the other filters below.

### Input Impedance

The input impedance of the second-order unity-gain Sallen-Key low-pass filter is also of interest to designers. It is given by Eq. (3) in Cartwright and Kaminsky [4] as

$Z(s)=R_1\frac{s^{'2}+s^'/Q+1}{s^{'2}+s^'k/Q},$ where $s^'=\frac{s}{\omega_o}$ and $k=\frac{R_1}{R_1+R_2}=\frac{m}{m+1}$.

Furthermore, for $Q>\sqrt{\frac{1-k^2}{2}}$, there is a minimum value of the magnitude of the impedance, given by Eq. (16) of Cartwright and Kaminsky,[4] which states that

$|Z(s)|_{min}=R_1\sqrt{1-\frac{(2Q^2+k^2-1)^2}{2Q^4+k^2(2Q^2+k^2-1)^2+2Q^2\sqrt{Q^4+k^2(2Q^2+k^2-1)}}}$.

Fortunately, this equation is well-approximated by[4]

$|Z(s)|_{min}\approx R_1\sqrt{\frac{1}{Q^2+k^2+0.34}}$, for $0.25\leq k \leq 0.75$. For $k$ values outside of this range, the 0.34 constant has to be modified for minimum error.

Also, the frequency at which the minimum impedance magnitude occurs is given by Eq. (15) of Cartwright and Kaminsky,[4] i.e.,

$\omega_{min}=\omega_o\sqrt{\frac{Q^2+\sqrt{Q^4+k^2(2Q^2+k^2-1)}}{2Q^2+k^2-1}}$.

This equation can also be well approximated using Eq. (20) of Cartwright and Kaminsky,[4] which states that

$\omega_{min}\approx \omega_o\sqrt{\frac{2Q^2}{2Q^2+k^2-1}}$.

## Application: High-pass filter

Figure 4: A specific Sallen–Key high-pass filter with fc=72 Hz and Q = 0.5.

A second-order unity-gain high-pass filter with $f_0\,$ of $72\,\text{Hz}\,$ and $Q\,$ of $0.5\,$ is shown in Figure 4.

A second-order unity-gain high-pass filter has the transfer function

$H(s) = \frac{s^2}{s^2+\underbrace{2\pi\left(\frac{f_0}{Q}\right)}_{2 \zeta \omega_0 = \frac{\omega_0}{Q}}s+\underbrace{(2\pi f_0)^2}_{{\omega_0}^2}},$

where undamped natural frequency $f_0\,$ and $Q\,$ factor are discussed above in the low-pass filter discussion. The circuit above implements this transfer function by the equations

$\omega_0 = 2 \pi f_0 = \frac{1}{\sqrt{R_1R_2C_1C_2}}\,$

(as before), and

$\frac{1}{2\zeta} = Q = { \omega_0 \over 2 \alpha } = \frac{\sqrt{R_1R_2C_1C_2}}{R_1(C_1+C_2)}.\,$

So

$2 \alpha = 2 \zeta \omega_0 = \frac{ \omega_0 }{ Q } = \frac{ C_1 + C_2 }{ R_2 C_1 C_2 }.$

Follow an approach similar to the one used to design the low-pass filter above.

## Application: Bandpass filter

Figure 5: A bandpass filter realized with a VCVS topology.

An example of a non-unity-gain bandpass filter implemented with a VCVS filter is shown in Figure 5. Although it uses a different topology and an operational amplifier configured to provide non-unity-gain, it can be analyzed using similar methods as with the generic Sallen–Key topology. Its transfer function is given by:

$H(s) = \frac{\overbrace{\left(1+\frac{R_\mathrm{b}}{R_\mathrm{a}}\right)}^{G} \frac{s}{R_1 C_1}}{s^2 + \underbrace{\left( \frac{1}{R_1 C_1} + \frac{1}{R_2 C_1} + \frac{1}{R_2 C_2} - \frac{R_\mathrm{b}}{R_\mathrm{a} R_\mathrm{f} C_1} \right)}_{2 \zeta \omega_0 = \frac{\omega_0}{Q}} s + \underbrace{\frac{R_1 + R_\mathrm{f}}{R_1 R_\mathrm{f} R_2 C_1 C_2}}_{{\omega_0}^2 = (2\pi f_0)^2}}$

The center frequency $f_0$ (i.e., the frequency where the magnitude response has its peak) is given by:

$f_0=\frac{1}{2\pi}\sqrt{\frac{R_\mathrm{f}+R_1}{C_1C_2R_1R_2R_\mathrm{f}}}$

The Q factor $Q$ is given by

\begin{align} Q &= \frac{\omega_0}{2 \zeta \omega_0} = \frac{\omega_0}{\frac{\omega_0}{Q}}\\ &= \frac{\sqrt{\frac{R_1 + R_\mathrm{f}}{R_1 R_\mathrm{f} R_2 C_1 C_2}}}{ \frac{1}{R_1 C_1} + \frac{1}{R_2 C_1} + \frac{1}{R_2 C_2} - \frac{R_\mathrm{b}}{R_\mathrm{a} R_\mathrm{f} C_1} }\\ &= \frac{\sqrt{ (R_1 + R_\mathrm{f}) R_1 R_\mathrm{f} R_2 C_1 C_2}}{ R_1 R_\mathrm{f} (C_1 + C_2) + R_2 C_2 ( R_\mathrm{f} - \frac{R_\mathrm{b}}{R_\mathrm{a}} R_1 ) } \end{align}

The voltage divider in the negative feedback loop controls the "inner gain" $G$ of the operational amplifier:

$G=1+\frac{R_\mathrm{b}}{R_\mathrm{a}}$

If the inner gain $G$ is too high the filter will oscillate.