Sallen–Key topology

From Wikipedia, the free encyclopedia
  (Redirected from Sallen Key filter)
Jump to: navigation, search

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[edit]

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}}.\,

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


By combining Equations (1) and (2),


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


which means that

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

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}.

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},

which typically describes a second-order LTI system.


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[edit]

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[edit]

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} }


 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) .\,


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

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[edit]

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

 s = -\alpha \pm j\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[edit]

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 cascade 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,


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

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


 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]


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[edit]

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


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.,


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[edit]

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)}.\,


 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[edit]

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:


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 ) }

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


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

See also[edit]


  1. ^ a b "EE315A Course Notes - Chapter 2"-B. Murmann
  2. ^ Sallen, R. P.; E. L. Key (March 1955). "A Practical Method of Designing RC Active Filters". IRE Transactions on Circuit Theory 2 (1): 74–85. doi:10.1109/tct.1955.6500159. 
  3. ^ Stop-band limitations of the Sallen-Key low-pass filter
  4. ^ a b c d e Cartwright, K. V.; E. J. Kaminsky (2013). "Finding the minimum input impedance of a second-order unity-gain Sallen-Key low-pass filter without calculus" (PDF). Lat. Am. J. Phys. Educ. 7 (4): 525–535. 

External links[edit]