# 2nd Order Butterworth filter design. How to find "m" and "n" values

I was reading this article Active-Low Passfilter design from Texas Instruments, and I've been racking my brain all day trying to find how they determine the values for "m" and "n" of this circuit (page 13).

Hello everyone!

The transfer function of this circuit is

$$$$H(s) = \frac{\omega_0^{2}}{s^2+\frac{\omega_0}{Q}s + \omega_0^{2}} = \frac{\frac{1}{R_1R_2C_1C_2}}{s^2 + \left(\frac{1}{R_1C_2} + \frac{1}{R_2C_2}\right)s + \frac{1}{R_1R_2C_1C_2}}$$$$

According to the text they assume $$\R_1 = mR,\ R_2 = R ,\ C_1 = C \$$ and $$\ C_2 = nC.\$$

With these values $$\omega_0^{2} = \frac{1}{mR \cdot R \cdot C \cdot nC} = \frac{1}{mnR^2C^2}\\ \omega_0 = \frac{1}{RC\sqrt{mn}}$$

Comparing the coefficients of $$\s\$$ terms in the denominator, we obtain $$\frac{\omega_0}{Q} = \frac{1}{R_1C_2} + \frac{1}{R_2C_2} = \frac{1}{mnRC} + \frac{1}{nRC} = \frac{m+1}{mnRC}$$

or

$$Q = \frac{\omega_0}{\frac{m+1}{mnRC}} = \frac{\frac{1}{RC\sqrt{mn}}}{\frac{m+1}{mnRC}} = \frac{mnRC}{RC(m+1)\sqrt{mn}} = \frac{\sqrt{mn}}{m+1}$$

Then in page 19 they mention "Start the design by determining the ratios $$\m\$$ and $$\n\$$ required for the gain and $$\Q\$$ of the filter", but how exactly do they do that?

If we solve from $$\n\$$ in the last equation (I don't know how to enumerate the equatios, sorry :( ) we obtain (assuming $$\Q = 1/\sqrt{2}\$$)

$$n = \frac{(m+1)^{2}}{2m}$$

But then what? We are suppoose to choose a random value for $$\m\$$? I don't think so, however I cannot find these two values ($$\n = 3.3\ ,\ m=0.229\$$ for a Buttherworth filter).

I would be very grateful if you could help me know how to determine those values

• Search the Tag "Sallen-Key". There are many to choose from. Commented Oct 10, 2023 at 5:39
• Of course, you can freely select a desired impedace niveau for the componenets. Hence, on of the scaling parameters can be chosen.
– LvW
Commented Oct 10, 2023 at 8:05

I'll just write out how to solve this using freely available SymPy:

s = symbols( 's' )
v1, v2, iout, vout, vin, m = symbols( 'v1, v2, iout, vout, vin, m', real=True )
r, r1, r2, c1, c2 = symbols( 'r, r1, r2, c1, c2', real=True, positive=True )
eq1 = Eq( v1/r1 + v1/r2 + v1/(1/s/c2), vin/r1 + v2/r2 + vout/(1/s/c2) )  # KCL v1
eq2 = Eq( v2/(1/s/c1) + v2/r2, v1/r2 )                                   # KCL v2
eq3 = Eq( vout/(1/s/c2), iout + v1/(1/s/c2) )                            # KCL Vout
eq4 = Eq( vout, v2 )                                                # opamp (-)=(+)
ans = tf2( solve( [ eq1, eq2, eq3, eq4 ], [ iout, v1, v2, vout ] )[vout] / vin )
eq5 = Eq( ans[zeta], sqrt(2)/2 )                          # Butterworth requirement
n = c2 / solve( eq5, [ c1, c2 ] )[0][0].subs( { r1:m*r, r2:r } )
simplify(n), ratsimp(n)
((m + 1)**2/(2*m), m/2 + 1 + 1/(2*m))
n.subs(m,0.229)
3.29790611353712


So, assuming $$\m=0.229\$$ then it follows that $$\n\approx 3.29791\$$ or when rounded either $$\n=3.30\$$ or $$\n=3.298\$$. Which is about what's in the table.

But actually, I think the values for $$\n\$$ were first selected to make ratios of the capacitors easy (since there are fewer value options there), letting the resistor ratios work out to whatever they should be.

By the way:

ratsimp(1/2/ans[zeta].subs({c2:n*c1,r1:m*r2}))
sqrt(m)*sqrt(n)/(m + 1)


So there's no doubt about their expression for $$\Q=\frac1{2\zeta}\$$ in simplification 2 with $$\K=1\$$.

For some thoughts on why those values were selected, I write a little something here. The use of $$\m\$$ and $$\n\$$ there are differently applied. But if you keep that in mind the rest may help a little. There's also another answer there at the same page worth a look. I also add a little something else, but perhaps related, here.

Just to continue for a moment, if you wanted to see where the Bessel constants came from then:

eq6 = Eq( ans[zeta], sqrt(3)/2 )                          # Bessel requirement
n6 = c2 / solve( eq6, [ c1, c2 ] )[0][0].subs( { r1:m*r, r2:r } )
simplify(n6), ratsimp(n6)
((m + 1)**2/(3*m), m/3 + 2/3 + 1/(3*m))
n6.subs(m,0.5)
1.50000000000000


So, that's the deal.

Here's a plot of $$\n\$$ vs $$\m\$$, with $$\m\$$ being the x-axis and $$\n\$$ as the y-axis (using the Desmos plotting applet on the web):

The green line is for the Butterworth and the blue line is for the Bessel. You want to pick a nice ratio for capacitors (on the y-axis.) And you can easily see the minimum choices here. For Butterworth $$\n\ge 2\$$ and for Bessel $$\n\ge 1\frac13\$$. Those are constraints. I suppose, for the Butterworth one could have just as well selected $$\n=2.2\$$ and solved to find $$\m\approx 0.536675\$$. But for the Bessel it does seem like $$\n=1.5\$$ is a good choice.

• Thank you very much! Regards! Commented Oct 11, 2023 at 2:05

The values for $$\m\$$ and $$\n\$$ allow for sliding the values of $$\R\$$ and $$\C\$$ to suit available values and loading of the previous stage.

Within the pass band, loading usually is not a concern. Outside the pass band, $$\R_1\$$ sets a minimum load.

1. Select $$\R_1\$$ for appropriate loading. Then $$\R=R_1+R_{source}\$$
2. Calculate $$\C\$$ based on the natural frequency $$\\omega_0\$$ with $$\mn=1\$$. Select a standard value, then calculate $$\\sqrt{mn}=\frac{1}{\omega_0 RC}\$$.
3. Now m can be calculated as: $$\m=\frac{\sqrt{mn}}{Q}-mn(1-K)-1\$$,from the red rectangle in the OP. For the circuit diagram in the OP, K=1.
4. Now n can be calculated from the $$\\sqrt{mn}\$$.

The subtractions on the RHS of the m calculation will restrict the range of values available. Since m and n are component ratios, they cannot be negative.

The values of m and n range based on the choices made for loading and component value selection, so you may not be able to duplicate the original source values.

• Thanks for your answer RussellH! Commented Oct 11, 2023 at 2:08