# Sallen–Key topology

(Redirected from Sallen Key filter)

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 unity-gain voltage amplifier with practically infinite input impedance and zero output impedance to implement a 2-pole low-pass, high-pass, bandpass, bandstop, or allpass response. The unity-gain amplifier allows 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

Figure 1: The generic Sallen–Key filter 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.

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

${\displaystyle v_{+}=v_{-}=v_{\text{out}}.}$

(1)

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

${\displaystyle {\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),

${\displaystyle {\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

${\displaystyle {\frac {v_{x}-v_{\text{out}}}{Z_{2}}}={\frac {v_{\text{out}}}{Z_{4}}},}$

which means that

${\displaystyle v_{x}=v_{\text{out}}\left({\frac {Z_{2}}{Z_{4}}}+1\right).}$

(3)

Combining equations (2) and (3) gives

${\displaystyle {\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

If the ${\displaystyle Z_{3}}$ component were connected to ground, the filter would be a voltage divider composed of the ${\displaystyle Z_{1}}$ and ${\displaystyle Z_{3}}$ components cascaded with another voltage divider composed of the ${\displaystyle Z_{2}}$ and ${\displaystyle Z_{4}}$ components. The buffer bootstraps the "bottom" of the ${\displaystyle 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 ${\displaystyle Z_{1}}$, ${\displaystyle Z_{2}}$, ${\displaystyle Z_{4}}$, and ${\displaystyle 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 ${\displaystyle R}$ has impedance ${\displaystyle Z_{R}}$ of

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

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

${\displaystyle Z_{C}={\frac {1}{sC}},}$

where ${\displaystyle s=j\omega =2\pi jf}$ (here ${\displaystyle j}$ denotes the imaginary unit) is the complex angular frequency, and ${\displaystyle 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

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

An example of a unity-gain low-pass configuration is shown in Figure 2. 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

${\displaystyle Z_{1}=R_{1},\quad Z_{2}=R_{2},\quad Z_{3}={\frac {1}{sC_{1}}},\quad Z_{4}={\frac {1}{sC_{2}}}.}$

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

${\displaystyle H(s)={\frac {\omega _{0}^{2}}{s^{2}+2\alpha s+\omega _{0}^{2}}},}$

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

${\displaystyle \omega _{0}=2\pi f_{0}={\frac {1}{\sqrt {R_{1}R_{2}C_{1}C_{2}}}}}$

and

${\displaystyle 2\alpha =2\zeta \omega _{0}={\frac {\omega _{0}}{Q}}={\frac {1}{C_{1}}}\left({\frac {1}{R_{1}}}+{\frac {1}{R_{2}}}\right)={\frac {1}{C_{1}}}\left({\frac {R_{1}+R_{2}}{R_{1}R_{2}}}\right).}$

So,

${\displaystyle Q={\frac {\omega _{0}}{2\alpha }}={\frac {\sqrt {R_{1}R_{2}C_{1}C_{2}}}{C_{2}\left(R_{1}+R_{2}\right)}}.}$

The ${\displaystyle 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 ${\displaystyle 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:

${\displaystyle 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 ${\displaystyle Q}$ and ${\displaystyle f_{0}}$ appropriate for their application. The ${\displaystyle 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 ${\displaystyle Q}$ of ${\displaystyle 1/{\sqrt {2}}}$. By comparison, a value of ${\displaystyle Q=1/2}$ corresponds to the series cascade of two identical simple low-pass filters.

Because there are 2 parameters and 4 unknowns, the design procedure typically fixes the ratio between both resistors as well as that between the capacitors. One possibility is to set the ratio between ${\displaystyle C_{1}}$ and ${\displaystyle C_{2}}$ as ${\displaystyle n}$ versus ${\displaystyle 1/n}$ and the ratio between ${\displaystyle R_{1}}$ and ${\displaystyle R_{2}}$ as ${\displaystyle m}$ versus ${\displaystyle 1/m}$. So,

{\displaystyle {\begin{aligned}R_{1}&=mR,\\R_{2}&=R/m,\\C_{1}&=nC,\\C_{2}&=C/n.\end{aligned}}}

As a result, the ${\displaystyle f_{0}}$ and ${\displaystyle Q}$ expressions are reduced to

${\displaystyle \omega _{0}=2\pi f_{0}={\frac {1}{RC}}}$

and

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

Starting with a more or less arbitrary choice for e.g. C and n, the appropriate values for R and m can be calculated in favor of the desired ${\displaystyle f_{0}}$ and ${\displaystyle Q}$. In practice, certain choices of component values will perform better than others due to the non-idealities of real operational amplifiers.[3] As an example, high resistor values will increase the circuit's noise production, whilst contributing to the DC offset voltage on the output of opamps equipped with bipolar input transistors.

### Example

For example, the circuit in Figure 3 has ${\displaystyle f_{0}=15.9~{\text{kHz}}}$ and ${\displaystyle Q=0.5}$. The transfer function is given by

${\displaystyle 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_{1}C_{2}R_{1}R_{2}} _{\frac {1}{\omega _{0}^{2}}}s^{2}}},}$

and, after substitution, this expression is equal to

${\displaystyle H(s)={\frac {1}{1+\underbrace {\frac {RC(m+1/m)}{n}} _{{\frac {2\zeta }{\omega _{0}}}={\frac {1}{\omega _{0}Q}}}s+\underbrace {R^{2}C^{2}} _{\frac {1}{{\omega _{0}}^{2}}}s^{2}}},}$

which shows how every ${\displaystyle (R,C)}$ combination comes with some ${\displaystyle (m,n)}$ combination to provide the same ${\displaystyle f_{0}}$ and ${\displaystyle 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

${\displaystyle Z(s)=R_{1}{\frac {s'^{2}+s'/Q+1}{s'^{2}+s'k/Q}},}$

where ${\displaystyle s'={\frac {s}{\omega _{0}}}}$ and ${\displaystyle k={\frac {R_{1}}{R_{1}+R_{2}}}={\frac {m}{m+1/m}}}$.

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

${\displaystyle |Z(s)|_{\text{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]

${\displaystyle |Z(s)|_{\text{min}}\approx R_{1}{\sqrt {\frac {1}{Q^{2}+k^{2}+0.34}}}}$

for ${\displaystyle 0.25\leq k\leq 0.75}$. For ${\displaystyle k}$ values outside of this range, the 0.34 constant has to be modified for minimal error.

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

${\displaystyle \omega _{\text{min}}=\omega _{0}{\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

${\displaystyle \omega _{\text{min}}\approx \omega _{0}{\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 ${\displaystyle f_{0}=72~{\text{Hz}}}$ and ${\displaystyle Q=0.5}$ is shown in Figure 4.

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

${\displaystyle 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 ${\displaystyle f_{0}}$ and ${\displaystyle Q}$ factor are discussed above in the low-pass filter discussion. The circuit above implements this transfer function by the equations

${\displaystyle \omega _{0}=2\pi f_{0}={\frac {1}{\sqrt {R_{1}R_{2}C_{1}C_{2}}}}}$

(as before) and

${\displaystyle {\frac {1}{2\zeta }}=Q={\frac {\omega _{0}}{2\alpha }}={\frac {\sqrt {R_{1}R_{2}C_{1}C_{2}}}{R_{1}(C_{1}+C_{2})}}.}$

So

${\displaystyle 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

${\displaystyle H(s)={\frac {\overbrace {\left(1+{\frac {R_{\text{b}}}{R_{\text{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_{\text{b}}}{R_{\text{a}}R_{\text{f}}C_{1}}}\right)} _{2\zeta \omega _{0}={\frac {\omega _{0}}{Q}}}s+\underbrace {\frac {R_{1}+R_{\text{f}}}{R_{1}R_{\text{f}}R_{2}C_{1}C_{2}}} _{{\omega _{0}}^{2}=(2\pi f_{0})^{2}}}}.}$

The center frequency ${\displaystyle f_{0}}$ (i.e., the frequency where the magnitude response has its peak) is given by

${\displaystyle f_{0}={\frac {1}{2\pi }}{\sqrt {\frac {R_{\text{f}}+R_{1}}{C_{1}C_{2}R_{1}R_{2}R_{\text{f}}}}}.}$

The Q factor ${\displaystyle Q}$ is given by

{\displaystyle {\begin{aligned}Q&={\frac {\omega _{0}}{2\zeta \omega _{0}}}={\frac {\omega _{0}}{\frac {\omega _{0}}{Q}}}\\&={\frac {\sqrt {\frac {R_{1}+R_{\text{f}}}{R_{1}R_{\text{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_{\text{b}}}{R_{\text{a}}R_{\text{f}}C_{1}}}}}\\&={\frac {\sqrt {(R_{1}+R_{\text{f}})R_{1}R_{\text{f}}R_{2}C_{1}C_{2}}}{R_{1}R_{\text{f}}(C_{1}+C_{2})+R_{2}C_{2}(R_{\text{f}}-{\frac {R_{\text{b}}}{R_{\text{a}}}}R_{1})}}.\end{aligned}}}

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

${\displaystyle G=1+{\frac {R_{\text{b}}}{R_{\text{a}}}}.}$

If the inner gain ${\displaystyle G}$ is too high, the filter will oscillate.