Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Sallen–Key topology
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Electronic filter topology}} The '''Sallen–Key topology''' is an [[electronic filter topology]] used to implement [[Low-pass filter#Continuous-time realization|second-order]] [[active filter]]s that is particularly valued for its simplicity.<ref name="EE315A_Notes">[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 }}</ref> It is a [[degeneracy (mathematics)|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.<ref name="SallenKey">{{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}}</ref> ==Explanation of operation== A VCVS filter uses a voltage amplifier with practically infinite [[input impedance]] and zero [[output impedance]] to implement a [[Pole (complex analysis)|2-pole]] [[low-pass]], [[high-pass]], [[bandpass]], [[band-stop filter|bandstop]], or [[allpass]] [[frequency response|response]]. The VCVS filter allows high [[Q factor]] and [[passband]] gain without the use of [[inductor]]s. 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 amplifier]]s (also called ''op amps''). Because of its high input impedance and easily selectable gain, an operational amplifier in a conventional [[Operational amplifier applications#Non-inverting amplifier|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 [[Operational amplifier applications#Voltage follower|voltage follower]]; however, [[common collector|emitter]] or [[common drain|source]] followers are other common choices for the buffer amplifier. == Sensitivity to component tolerances== VCVS filters are relatively resilient to component [[tolerance (engineering)|tolerance]], but obtaining high Q factor may require extreme component value spread or high amplifier gain.<ref name="EE315A_Notes" /> 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|thumb|upright=1.4|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 op amp is in a [[negative feedback|negative-feedback]] configuration, its <math>v_+</math> and <math>v_-</math> inputs must match (i.e., <math>v_+ = v_-</math>). However, the inverting input <math>v_-</math> is connected directly to the output <math>v_\text{out}</math>, and so {{NumBlk|:|<math>v_+ = v_- = v_\text{out}.</math>|1}} By [[Kirchhoff's circuit laws|Kirchhoff's current law]] (KCL) applied at the <math>v_x</math> node, {{NumBlk|:|<math>\frac{v_\text{in} - v_x}{Z_1} = \frac{v_x-v_\text{out}}{Z_3} + \frac{v_x - v_-}{Z_2}.</math>|2}} By combining equations (1) and (2), :<math>\frac{v_\text{in} - v_x}{Z_1} = \frac{v_x - v_\text{out}}{Z_3} + \frac{v_x - v_\text{out}}{Z_2}.</math> Applying equation (1) and KCL at the op amp's non-inverting input <math>v_+</math> gives :<math>\frac{v_x - v_\text{out}}{Z_2} = \frac{v_\text{out}}{Z_4},</math> which means that {{NumBlk|:|<math>v_x = v_\text{out} \left( \frac{Z_2}{Z_4} + 1 \right).</math>|3}} Combining equations (2) and (3) gives {{NumBlk|:|<math>\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}.</math>|4}} Rearranging equation (4) gives the [[transfer function]] {{NumBlk|:|<math>\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},</math>|5}} which typically describes a second-order [[LTI system theory|linear time-invariant (LTI) system]]. If the <math>Z_3</math> component were connected to ground instead of to <math>v_\text{out}</math>, the filter would be a [[voltage divider]] composed of the <math>Z_1</math> and <math>Z_3</math> components cascaded with another voltage divider composed of the <math>Z_2</math> and <math>Z_4</math> components. The buffer amplifier [[Bootstrapping (electronics)|bootstraps]] the "bottom" of the <math>Z_3</math> 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 [[Passivity (engineering)|passive components]] (e.g., [[resistor]]s and [[capacitor]]s) for <math>Z_1</math>, <math>Z_2</math>, <math>Z_4</math>, and <math>Z_3</math>, the filter can be made with [[#Application:_low-pass_filter|low-pass]], [[#Application:_bandpass_filter|bandpass]], and [[#Application:_high-pass_filter|high-pass]] characteristics. In the examples below, recall that a resistor with [[electrical resistance|resistance]] <math>R</math> has [[electrical impedance|impedance]] <math>Z_R</math> of :<math>Z_R = R,</math> and a capacitor with [[capacitance]] <math>C</math> has impedance <math>Z_C</math> of :<math>Z_C = \frac{1}{s C},</math> where <math>s = j \omega = 2 \pi j f</math> (here <math>j</math> denotes the [[imaginary unit]]) is the [[complex number|complex]] [[angular frequency]], and <math>f</math> 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|thumb|upright=1.2|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 :<math>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}.</math> The transfer function for this second-order unity-gain low-pass filter is :<math>H(s) = \frac{\omega_0^2}{s^2 + 2 \alpha s + \omega_0^2},</math> where the undamped [[natural frequency]] <math>f_0</math>, [[attenuation coefficient|attenuation]] <math>\alpha</math>, Q factor <math>Q</math>, and [[damping ratio]] <math>\zeta</math>, are given by :<math> \omega_0 = 2 \pi f_0 = \frac{1}{ \sqrt{R_1 R_2 C_1 C_2} } </math> and :<math> 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).</math> So, :<math> Q = \frac{\omega_0}{2 \alpha} = \frac{\sqrt{R_1 R_2 C_1 C_2}}{C_2 \left( R_1 + R_2 \right)}.</math> The <math>Q</math> 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 <math>f_0</math> (see "[[LC filter]]" for a related discussion). ===Poles and zeros=== This transfer function has no (finite) zeros and two [[pole–zero plot|poles]] located in the complex [[s plane|''s''-plane]]: :<math> s = -\alpha \pm \sqrt{\alpha^2 - \omega_0^2}.</math> There are two zeros at infinity (the transfer function goes to zero for each of the <math>s</math> terms in the denominator). === Design choices=== A [[filter design|designer]] must choose the <math>Q</math> and <math>f_0</math> appropriate for their application. The <math>Q</math> value is critical in determining the eventual shape. For example, a second-order [[Butterworth filter]], which has maximally flat passband frequency response, has a <math>Q</math> of <math>1/\sqrt{2}</math>. By comparison, a value of <math>Q = 1/2</math> 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 <math>C_1</math> and <math>C_2</math> as <math>n</math> versus <math>1/n</math> and the ratio between <math>R_1</math> and <math>R_2</math> as <math>m</math> versus <math>1/m</math>. So, :<math> \begin{align} R_1 &= mR, \\ R_2 &= R/m, \\ C_1 &= nC, \\ C_2 &= C/n. \end{align} </math> As a result, the <math>f_0</math> and <math>Q</math> expressions are reduced to :<math> \omega_0 = 2 \pi f_0 = \frac{1}{RC}</math> and :<math> Q = \frac{mn}{m^2 + 1}. </math> [[File:Sallen-Key Lowpass Example.svg|thumb|upright=1.2|Figure 3: A low-pass filter, which is implemented with a Sallen–Key topology, with ''f''<sub>0</sub> = 15.9 kHz and ''Q'' = 0.5]] Starting with a more or less arbitrary choice for e.g. <math>C</math> and <math>n</math>, the appropriate values for <math>R</math> and <math>m</math> can be calculated in favor of the desired <math>f_0</math> and <math>Q</math>. In practice, certain choices of component values will perform better than others due to the non-idealities of real operational amplifiers.<ref>[http://www.ti.com/lit/an/slyt306/slyt306.pdf Stop-band limitations of the Sallen–Key low-pass filter].</ref> 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 <math>f_0 = 15.9~\text{kHz}</math> and <math>Q = 0.5</math>. The transfer function is given by :<math>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},</math> and, after the substitution, this expression is equal to :<math>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},</math> which shows how every <math>(R,C)</math> combination comes with some <math>(m,n)</math> combination to provide the same <math>f_0</math> and <math>Q</math> 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<ref name="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}}</ref> as :<math>Z(s) = R_1\frac{s'^2 + s'/Q + 1}{s'^2 + s'k/Q},</math> where <math>s' = \frac{s}{\omega_0}</math> and <math>k = \frac{R_1}{R_1 + R_2} = \frac{m}{m+1/m}</math>. Furthermore, for <math>Q>\sqrt{\frac{1 - k^2}{2}}</math>, there is a minimal value of the magnitude of the impedance, given by Eq. (16) of Cartwright and Kaminsky,<ref name="Cartwright and Kaminsky" /> which states that :<math>|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)}}}.</math> Fortunately, this equation is well-approximated by<ref name="Cartwright and Kaminsky" /> :<math>|Z(s)|_\text{min} \approx R_1\sqrt{\frac{1}{Q^2 + k^2 + 0.34}}</math> for <math>0.25\leq k \leq 0.75</math>. For <math>k</math> 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,<ref name="Cartwright and Kaminsky" /> i.e., :<math>\omega_\text{min} = \omega_0\sqrt{\frac{Q^2 + \sqrt{Q^4 + k^2(2Q^2 + k^2 - 1)}}{2Q^2 + k^2 - 1}}.</math> This equation can also be well approximated using Eq. (20) of Cartwright and Kaminsky,<ref name="Cartwright and Kaminsky" /> which states that :<math>\omega_\text{min} \approx \omega_0\sqrt{\frac{2Q^2}{2Q^2 + k^2 - 1}}.</math> ==Application: high-pass filter== [[File:Sallen-Key Highpass Example.svg|thumb|upright=1.4|Figure 4: A specific Sallen–Key high-pass filter with ''f''<sub>0</sub> = 72 Hz and ''Q'' = 0.5]] A second-order unity-gain high-pass filter with <math>f_0 = 72~\text{Hz}</math> and <math>Q = 0.5</math> is shown in Figure 4. A second-order unity-gain high-pass filter has the transfer function :<math> 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}}, </math> where undamped natural frequency <math>f_0</math> and <math>Q</math> factor are discussed above in the [[#Low-pass configuration|low-pass filter]] discussion. The circuit above implements this transfer function by the equations :<math> \omega_0 = 2 \pi f_0 = \frac{1}{\sqrt{R_1 R_2 C_1 C_2}}</math> (as before) and :<math> \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)}.</math> So :<math> 2\alpha = 2\zeta\omega_0 = \frac{\omega_0}{Q} = \frac{C_1 + C_2}{R_2 C_1 C_2}. </math> Follow an approach similar to the one used to design the low-pass filter above. == Application: bandpass filter== [[File:VCVS Filter Bandpass General.svg|thumb|upright=1.2|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|generic Sallen–Key topology]]. Its transfer function is given by :<math>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}}.</math> The [[center frequency]] <math>f_0</math> (i.e., the frequency where the magnitude response has its ''peak'') is given by :<math> f_0 = \frac{1}{2\pi}\sqrt{\frac{R_\text{f} + R_1}{C_1 C_2 R_1 R_2 R_\text{f}}}. </math> The Q factor <math>Q</math> is given by :<math> \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}</math> The voltage divider in the negative feedback loop controls the "inner gain" <math>G</math> of the op amp: :<math> G = 1 + \frac{R_\text{b}}{R_\text{a}}.</math> If the inner gain <math>G</math> is too high, the filter will oscillate. ==See also== * [[Filter design]] * [[Electronic filter topology]] * [[Harmonic oscillator]] * [[Resonance]] ==References== {{reflist}} ==External links== * [http://focus.ti.com/lit/an/sloa024b/sloa024b.pdf Texas Instruments Application Report: Analysis of the Sallen–Key Architecture] * [http://www.analog.com/designtools/en/filterwizard/ Analog Devices filter design tool] – A simple online tool for designing active filters using voltage-feedback op-amps. * [http://www-k.ext.ti.com/SRVS/CGI-BIN/WEBCGI.EXE/,/?St=147,E=0000000000002472277,K=2597,Sxi=1,Case=obj(26717) TI active filter design source FAQ] * [https://web.archive.org/web/20060616013258/http://focus.ti.com/lit/ml/sloa088/sloa088.pdf Op Amps for Everyone – Chapter 16] * [http://postreh.com/vmichal/papers/frequency_filters_with_high_attenuation_Radio2009VMJS.pdf High frequency modification of Sallen-Key filter - improving the stopband attenuation floor] * [http://www.changpuak.ch/electronics/calc_08.php Online Calculation Tool for Sallen–Key Low-pass/High-pass Filters] * [http://sim.okawa-denshi.jp/en/Fkeisan.htm Online Calculation Tool for Filter Design and Analysis] * [http://www.tedpavlic.com/teaching/osu/ece327/lab7_proj/lab7_proj_procedure.pdf ECE 327: Procedures for Output Filtering Lab] – Section 3 ("Smoothing Low-Pass Filter") discusses active filtering with Sallen–Key Butterworth low-pass filter. * [https://www.youtube.com/watch?v=DEV7l66D6Ys Filtering 101: Multi Pole Filters with Sallen-Key], Matt Duff of Analog Devices explains how Sallen Key circuit works {{DEFAULTSORT:Sallen-Key Topology}} [[Category:Linear filters]] [[Category:Electronic filter topology]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite journal
(
edit
)
Template:NumBlk
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)