Sallen–Key topology

{{short description|Electronic filter topology}}

The Sallen–Key topology is an electronic filter topology used to implement second-order active filters that is particularly valued for its simplicity.[https://ccnet.stanford.edu/cgi-bin/course.cgi?cc=ee315a&action=handout_download&handout_id=ID126954294624704 "EE315A Course Notes - Chapter 2"-B. Murmann] {{webarchive|url=https://web.archive.org/web/20100716003151/https://ccnet.stanford.edu/cgi-bin/course.cgi?cc=ee315a&action=handout_download&handout_id=ID126954294624704 |date=2010-07-16 }} It is a degenerate form of a voltage-controlled voltage-source (VCVS) filter topology. It was introduced by R. P. Sallen and E. L. Key of MIT Lincoln Laboratory in 1955.{{cite journal|title=A Practical Method of Designing RC Active Filters|journal=IRE Transactions on Circuit Theory|date=March 1955|first=R. P.|last=Sallen|author2=E. L. Key |volume=2|issue=1|pages=74–85|doi=10.1109/tct.1955.6500159|s2cid=51640910}}

Explanation of operation

A VCVS filter uses a 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 VCVS filter allows high Q factor and passband gain without the use of inductors. A VCVS filter also has the advantage of independence: VCVS filters can be cascaded without the stages affecting each others tuning. A Sallen–Key filter is a variation on a VCVS filter that uses a unity gain amplifier (i.e., a buffer amplifier).

History and implementation

In 1955, Sallen and Key used vacuum tube cathode follower amplifiers; the cathode follower is a reasonable approximation to an amplifier with unity voltage gain. Modern analog filter implementations may use operational amplifiers (also called op amps). 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|date=January 2009}} Implementations of Sallen–Key filters often use an op amp configured as a voltage follower; however, emitter or source followers are other common choices for the buffer amplifier.

Sensitivity to component tolerances

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

Generic Sallen–Key topology{{anchor|Generic Sallen–Key topology|Generic Sallen-Key topology}}

File:Sallen-Key Generic Circuit.svg

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 op amp 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 v_\text{out}, and so

{{NumBlk|:|v_+ = v_- = v_\text{out}.|1}}

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

{{NumBlk|:|\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 op amp's non-inverting input v_+ gives

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

which means that

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

Combining equations (2) and (3) gives

{{NumBlk|:|\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

{{NumBlk|:|\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 linear time-invariant (LTI) system.

If the Z_3 component were connected to ground instead of to v_\text{out}, 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 amplifier 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 op amp'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_R of

:Z_R = R,

and a capacitor with capacitance C has impedance Z_C of

:Z_C = \frac{1}{s C},

where s = j \omega = 2 \pi j f (here j denotes the imaginary unit) 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{{anchor|Low-pass configuration}}

File:Sallen-Key Lowpass General.svg

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

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

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

:H(s) = \frac{\omega_0^2}{s^2 + 2 \alpha s + \omega_0^2},

where the undamped natural frequency f_0, attenuation \alpha, Q factor Q, and damping ratio \zeta, are given by

: \omega_0 = 2 \pi f_0 = \frac{1}{ \sqrt{R_1 R_2 C_1 C_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)

= \frac{1}{C_1} \left( \frac{R_1 + R_2}{R_1 R_2} \right).

So,

: 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 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 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 C_1 and C_2 as n versus 1/n and the ratio between R_1 and R_2 as m versus 1/m. So,

:

\begin{align}

R_1 &= mR, \\

R_2 &= R/m, \\

C_1 &= nC, \\

C_2 &= C/n.

\end{align}

As a result, the f_0 and Q expressions are reduced to

: \omega_0 = 2 \pi f_0 = \frac{1}{RC}

and

: Q = \frac{mn}{m^2 + 1}.

File:Sallen-Key Lowpass Example.svg

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 f_0 and Q. In practice, certain choices of component values will perform better than others due to the non-idealities of real operational amplifiers.[http://www.ti.com/lit/an/slyt306/slyt306.pdf Stop-band limitations of the Sallen–Key low-pass filter]. As an example, high resistor values will increase the circuit's noise production, whilst contributing to the DC offset voltage on the output of op amps equipped with bipolar input transistors.

=Example=

For example, the circuit in Figure 3 has f_0 = 15.9~\text{kHz} and Q = 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_1 C_2 R_1 R_2}_{\frac{1}{\omega_0^2}}s^2},

and, after the substitution, this expression is equal to

: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 (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{{cite journal|last=Cartwright|first=K. V.|author2=E. J. Kaminsky |title=Finding the minimum input impedance of a second-order unity-gain Sallen-Key low-pass filter without calculus|journal=Lat. Am. J. Phys. Educ.|year=2013|volume=7|issue=4|pages=525–535|url=http://www.lajpe.org/dec13/3-LAJPE_828_Kenneth_Cartwrigth.pdf}} as

:Z(s) = R_1\frac{s'^2 + s'/Q + 1}{s'^2 + s'k/Q},

where s' = \frac{s}{\omega_0} and k = \frac{R_1}{R_1 + R_2} = \frac{m}{m+1/m}.

Furthermore, for 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, which states that

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

:|Z(s)|_\text{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 minimal error.

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

:\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, which states that

:\omega_\text{min} \approx \omega_0\sqrt{\frac{2Q^2}{2Q^2 + k^2 - 1}}.

Application: high-pass filter

File:Sallen-Key Highpass Example.svg

A second-order unity-gain high-pass filter with f_0 = 72~\text{Hz} and Q = 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_1 R_2 C_1 C_2}}

(as before) and

: \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

: 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==

File:VCVS Filter Bandpass General.svg

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_\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 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_\text{f} + R_1}{C_1 C_2 R_1 R_2 R_\text{f}}}.

The Q factor Q is given by

: \begin{align} Q

&= \frac{\omega_0}{2 \zeta \omega_0}

= \frac{\omega_0}{\omega_0/Q}\\[10pt]

&= \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} }\\[10pt]

&= \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 \left( R_\text{f} - \frac{R_\text{b}}{R_\text{a}} R_1 \right) }.

\end{align}

The voltage divider in the negative feedback loop controls the "inner gain" G of the op amp:

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

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

See also

References

{{reflist}}