1
\$\begingroup\$

I am facing this design from Analog Devices:


Sallen-Key low-pass design equations

Image source: Analog Devices - Mini Tutorial MT-222, Sallen-Key Filters


I don't understand how they reach the value for the coefficient m. I did a sanity test and the expressions match but "m" needs to be imposed in order for the w0/Q expression to be fulfilled. I have no idea how they pull off that value of m.

\$\endgroup\$
4
  • \$\begingroup\$ I can explain where \$m\$ comes from. Still need it? \$\endgroup\$ Commented May 22, 2023 at 3:10
  • \$\begingroup\$ Hi @periblepsis! Yes, that would be useful, seems like "m" comes out of nowhere. \$\endgroup\$ Commented May 22, 2023 at 3:11
  • \$\begingroup\$ Ok. I'll write. \$\endgroup\$ Commented May 22, 2023 at 3:47
  • \$\begingroup\$ Let me know if more is needed. But I think there's enough there to get you by. \$\endgroup\$ Commented May 22, 2023 at 4:46

5 Answers 5

3
\$\begingroup\$

\$m\$ is the ratio of \$C_1\$ and \$C_2\$ such that \$m=\frac{C_2}{C_1}\$. Just take it as a starting point. (No matter what the values are, that ratio can be formed, obviously.) Note that \$\omega_{_0}=\frac1{\sqrt{R_1\,R_2\,C_1\,C_2}}\$. But this is now just \$\omega_{_0}=\frac1{C_1\sqrt{R_1\,R_2\,m}}\$ or, better yet, \$\omega_{_0}\,C_1=\frac1{\sqrt{R_1\,R_2\,m}}\$. Call that \$k=\omega_{_0}\,C_1=\frac1{\sqrt{R_1\,R_2\,m}}\$, with units of conductance. If \$\alpha=2\zeta\$ (unitless) then \$\alpha\,k=2\zeta\,\omega_{_0}\,C_1=\frac1{R_1}+\frac1{R_2}\left(1-\frac{H-1}{m}\right)\$ (middle factor in denominator.)

\$R_1\$ and \$R_2\$ are the final problem. Since \$\zeta\$ is critically damped at 1, this suggests using it to split up the resistors. I haven't done a sensitivity analysis for \$Q\$, yet. But the fact is they chose \$R_2\propto \zeta\$ (which is \$\frac12\alpha\$) and \$R_1\propto\frac1{\zeta}\$. Without doing a sensitivity analysis, this for now is the so-called "made up" part of the deal. The rest flows out of this decision.

Can't forget that \$k^2=\frac1{R_1\,R_2\,m}\$, with an annoying \$m\$ to get rid of. So \$\frac1m\$ gets assigned to one of them. In this case, to \$R_2\$ so that \$R_2\propto \frac1m\$. It also must be that \$R_1\propto\frac1k\$ and \$R_2\propto\frac1k\$ (that \$k^2\$ on the left side of the equation, remember?)

Putting all that together means:

  • \$R_1=\frac1{\zeta}\cdot\frac1k=\frac2{\alpha\,k}\$
  • \$R_2=\zeta\cdot\frac1k\cdot\frac1m=\frac{\alpha}{2\,k\,m}\$

Now plug those in:

  • \$\alpha\,k=\frac1{R_1}+\frac1{R_2}\left(1-\frac{H-1}{m}\right)=\frac{\alpha\,k}2+\frac{2\,k\,m}{\alpha}\left(1-\frac{H-1}{m}\right)\$

and just solve for \$m\$. The answer comes out in the wash.

\$\endgroup\$
2
\$\begingroup\$

There is some issue with formulas of the document cited in the OP question (OP_refdoc). The Wikipedia article Sallen-Key topology shows a typical calculation method for designers to choose quality factor Q and undamped natural frequency \$\omega_0\$ for the low-pass Sallen-Key filter with unit gain. Unfortunately, Wiki's α is not the same as refdoc's dimensionless α. But Wiki introduces a dimensionless damping factor ζ which is half OP_refdoc's α: \$ζ = α_{OP.refdoc}/2\$. Also, the Wikipedia article and OP_refdoc use \$m\$ to designate different quantities. To avoid confusion, I use subscripts: \$m_{Wiki} = \sqrt{R_1/R_2}\,;\,m_{OP.refdoc} = C_2/C_1\$.

Wiki's section Design choices expresses quality factor \$Q\$ via \$m\$ and \$n\$: $$ Q = {{mn}\over{m^2+1}} $$

Solving this w.r.t. \$n\$ (\$n\$ is defined in the Wiki article as \$n=\sqrt{C_1/C_2}\$) and using subscripts for \$m\$'s, we arrive at $$ m_{OP.refdoc}=\left({{m_{Wiki}}\over{m_{Wiki}^2+1}}α\right)^2 $$. Compare this result with OP_refdoc's \$m={{α^2}\over{4}}+(H-1)\$. For a unity gain filter (which uses voltage follower as a buffer amplifier, so that \$H=1\$) the results are identical only when \$m_{Wiki}=1\$, that is, when \$C_2=C_1\$.

Proceeding with a low-pass non-unity gain Sallen-Key filter, notice first that the transfer function of a low-pass unity gain Sallen-Key filter can be readily described with a canonical form of the second-order low-pass filter: $$ H(s) = {{1}\over{1+(s/ω_{0})Q+s^2/ω_{0}^2}} $$ where we use "scaling-invariant" parameters \$m,n\$ to write down quality factor \$Q=nm/(m^2+1)\$ (see this formula in the Wiki article section Design choices*).

The author(s) of OP_refdoc document complicated their task themself(ves) by deviating from a standard representation of resistances and capacitance in a "scaling-invariant" form adopted for the filter design operations. Let us start with the transfer function of the low-pass Sallen-Key filter with the gain \$K={{R_3+R_4}\over{R_4}}\$. First, we express it through component values of the circuit: $$ H(s) = {{(R_3+R_4)/R_4}\over{s^2(R_1R_2C_1C_2)+s\left(R_1C_1 + R_2C_1+R_1C_2(-R_3/R/4)\right)+1}} $$ This is exactly the expression of OP_refdoc's for \${V_O}\over{V_{IN}}\$, with C1<=>C2 switching places in accordance with the circuit component notations of both documents.

We re-write this function in the canonical form for the second-order low-pass filter, replacing the OP_refdoc's \$H\$ with \$K\$ to retain \$H\$ for the transfer function.

Using expressions for undamped natural frequency \$ω_{0} = {{1}\over{\sqrt{R_1R_2C_1C_2}}}\$ and \$Q={\sqrt{R_1R_2C_1C_2}\over{R_1C_1 + R_2C_1+R_1C_2(1-K)}}\$, we have: $$ H(s) = {{Kω_{0}^2}\over{s^2+sQω_{0}+ω_{0}^2}} $$ Substituting the "scaling-invariant" notation of the Wiki article \$R_1=mR, \, R_2=R/m, \, C1=nC, \, C2=C/n\$ into \$ω_{0}\$ and \$Q\$ gives $$ ω_{0} = {{1}\over{RC}}; \, Q={{1}\over{(m+1/m)/n+(1-K)m/n}} $$ Now the equation (actually, definition) \$Q=α_{OP.refdoc}\$, which we use to express \$C_2/C_1\$ via "scale-invariance" parameters \$m,n\$ becomes quite involved as compared to the unity-gain case: you must be careful to not enter into non-physical range of component values. Formally the solution is $$ m_{OP.refdoc} = 1/n^2 = {{α_{OP.refdoc}^2}\over{(m_{Wiki}+1/m_{Wiki}+1-K)^2}} $$ and it does not reduce to \$m_{OP.refdoc} = α_{OP.refdoc}^2/4+(K-1)\$ even with an \$R_1=R_2\$ simplification.

The "issue" I mention earlier is not that OP_refdoc's formulas are wrong. Their approach just narrows down the range of possible component values for the given filter parameters, undamped resonant frequency and quality factor. With standard approach (like that of Wiki) you can select any pairs of the resistance (\$m = \sqrt{(R_1/R_2)}\$) and capacitance (\$n = \sqrt{(C_1/C_2)}\$) ratio values provided these ratios satisfy the constraint \$(m+1/m)+(1-K)m = n/Q\$. Notice that in this "scaling-invariant" approach \$m\$ and \$n\$ are defined in such a way that undamped natural frequency \$ω_{0}\$ does not depend on \$m\$ and \$n\$ at all.

The capacitance ratio as defined by OP_refdoc is independent of the resistance ratio. For given values of coefficient \$α\$ and gain \$H\$, you have a unique value for the capacitance ratio: \$C_2/C_1 = α^2/4 + (H-1)\$. One undesirable consequence of this rigid approach is that it makes circuit analysis more difficult, whereas with the "scaling-invariant" formula for quality factor, \$Q={{1}\over{(m+1/m)/n+(1-K)m/n}}\$, you immediately arrive at a gain value that makes your filter resonant: \$K=2+1/m^2\$.

Sallen-Key

To arrive at this result with OP_refdoc's approach, you have to return to the transfer function and begin calculations anew.

\$\endgroup\$
1
\$\begingroup\$

I don't understand how they reach the value for the coefficient m.

As usual start by equating coefficients of the two transfer functions and for making simplifications.

The ones supplied by the reference are:

  1. $$C_2=mC_1$$
  2. $$k=\omega_{0}C_{1}=\frac{C_{1}}{\sqrt{R_{1}C_{1}R_{2}C_{2}}}=\frac{1}{\sqrt{mR_{1}R_{2}}}$$
  3. $$\left(\frac{1}{R_{1}}+\frac{1}{R_{2}}\right)\frac{1}{C_{1}}+\frac{1-H}{R_{2}C_{2}}=\alpha\omega_{N}$$
  4. $$R_2=\beta R_1\text{ This one is mine.}$$

Now make some initial substitutions to simplify some more.

  1. $$\left(1+\frac{1}{\beta}\right)\frac{1}{R_{1}C_{1}}+\frac{1-H}{m\beta R_{1}C_{1}}=\frac{\alpha}{R_{1}C_{1}\sqrt{m\beta}}$$

Manipulate into this form:

  1. $$m-\left(H-1\right)=\alpha\sqrt{m\beta}-m\beta$$

Now complete the square on the right hand side:

  1. $$m-\left(H-1\right)=-\left(\sqrt{m\beta}-\frac{\alpha}{2}\right)^{2}+\frac{\alpha^{2}}{4}$$

Now we have the mysterious simplification.: \$\sqrt{m\beta}=\frac{\alpha}{2}\Rightarrow\beta=\frac{\alpha^2}{4m}\$. By back substitution and more manipulation we arrive at the destination:

  1. $$m=\frac{\alpha^{2}}{4}+\left(H-1\right)$$

Now from step 2:

  1. $$k^{2}=\frac{1}{mR_{1}R_{2}}\Rightarrow\beta=mR_2^2 k^2$$

and so:

  1. $$\frac{\alpha^{2}}{4m}=mR_{2}^{2}k^{2}$$

The value for \$R_2\$ is:

  1. $$R_{2}=\frac{\alpha}{2mk}\Rightarrow R_1=\frac{2}{\alpha k}$$
\$\endgroup\$
1
\$\begingroup\$

I cannot answer your question, but I will nevertheless use this opportunity to write about design of lowpass filters for Sallen-Key filters.


Consider both the general lowpass filter transfer function, the Sallen-Key transfer function with unity gain (\$K=1\$), and a mathematical transfer function:

\begin{align*} H_\text{general}(s) &= \frac{\omega_0^2}{s^2+\frac{\omega_0}{Q} s+\omega_0^2} \tag1 \\\\ H_\text{Sallen-Key}(s) &= \frac{\frac{1}{C_1C_2R_1R_2}}{s^2+s \bigg(\frac{1}{C_2R_1} + \frac{1}{C_2R_2}\bigg)+\frac{1}{C_1C_2R_1R_2}} \tag2 \\\\ H_\text{math}(s) &= \frac{a_0}{s^2+a_1s+a_0 } = \frac{1}{\frac{1}{a_0}s^2+\frac{a_1}{a_0}s+1} \tag3 \end{align*}

Comparing the expressions shows that

$$\omega_0 = \frac{1}{\sqrt{C_1C_2R_1R_2}} = \sqrt{a_0} \: \: \: \text{and} \: \: \: Q = \frac{\sqrt{C_1C_2R_1R_2}}{C_1(R_1+R_2)} = \frac{\sqrt{a_0}}{a_1} \tag4$$

Define the sensitivity function as

$$S^y_x = \frac{x}{y} \frac{\partial y}{\partial x} \tag5$$

where the notation is understood like this: \$S^y_x = 5\$ means that a 1% change in \$x\$ results in a 5% change in \$y\$.

Using the sensitivity function on \$\omega_0\$ shows that all components have the same influence.

$$\begin{cases} S_{R_1}^{\omega_0} = -\frac{1}{2} \\ \\ S_{R_2}^{\omega_0} = -\frac{1}{2} \\ \\ S_{C_1}^{\omega_0} = -\frac{1}{2} \\ \\ S_{C_2}^{\omega_0} = -\frac{1}{2} \\ \\ \tag6 \end{cases} $$

Using the sensitivity function on Q shows that if the resistors have identical values, the quality factor becomes insensitive to resistor component drift.

$$\begin{cases} S_{R_1}^Q = \frac{1}{2} \cdot \frac{R_2-R_1}{R_1+R_2} = 0 \: \: \: (\text{if} \: \: \: R_1 = R_2)\\ \\ S_{R_2}^Q = -\frac{1}{2} \cdot \frac{R_2-R_1}{R_1+R_2} = 0 \: \: \: (\text{if} \: \: \: R_1 = R_2) \\ \\ S_{C_1}^Q = -\frac{1}{2} \\ \\ S_{C_2}^Q = \frac{1}{2} \\ \\ \tag7 \end{cases} $$

So at this point, we have that for a Sallen-Key circuit to be insensitive to component drift requires \$K=1\$ and \$R_1=R_2=R\$. Inserting this in the formula for Q given above yields:

$$Q= \frac{\sqrt{C_1C_2R^2}}{2C_1R} = \frac{1}{2} \sqrt{\frac{C_2}{C_1}} \tag8$$

Now we have a ratio for the capacitors:

$$\begin{align*} \frac{1}{2} \sqrt{\frac{C_2}{C_1}} &= \frac{\sqrt{a_0}}{a_1} \tag{9} \\\\ \frac{C_2}{C_1} &= \frac{4a_0}{a_1^2} \tag{10}\end{align*}$$

Updating the Sallen-Key transfer function with these additions gives us:

$$H_\text{Sallen-Key}(s) = \frac{1}{R^2C_1C_2s^2 + 2RC_1s+1} \tag{11} $$ Comparing this with the mathematical transfer function above yields this ratio:

$$\begin{align*}2RC_1 &= \frac{a_1}{a_0} \tag{12} \\\\ R &= \frac{a_1}{2a_0C_1} \tag{13}\end{align*}$$

And this is the final ratio needed. Now, if you are asked to implement a lowpass filter with a Sallen-Key filter all you have to do is choose component values that satisfy the ratios.


Example

Let's implement a second order Butterworth filter that is normalized, meaning it has cutoff frequency in \$1 \: \text{rad/s}\$ (0.159 Hz): \$H_\text{Butterworth}(s) = \frac{1}{s^2+\sqrt{2}s+1} \$

$$a_1 = \sqrt{2} \: \: \: \text{and} \: \: \: a_0 = 1 \tag{14}$$

First we choose the capacitors:

$$\frac{C_2}{C_1} = \frac{4 \cdot 1}{(\sqrt{2})^2} = 2 \tag{15}$$

Capacitors with values \$C_2 = 68 \: \text{nF} \$ and \$C_1 = 33\: \text{nF}\$ satisfy this.

Next, we find the resistor value:

$$R = \frac{\sqrt{2}}{2 \cdot 33 \: \text{nF}} \approx 22 \: \text{M}\Omega \tag{16}$$

And we are done. A quick LTspice simulation shows me that this technique indeed works: -

enter image description here

\$\endgroup\$
0
\$\begingroup\$

The problem is not why m was chosen, but how they choose R1 and R2 ...

enter image description here

enter image description here

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.