# how can the frequency response of Matlab plot differ from the calculated one?

I have here a circuit of butterworth 2d order with a cutoff frequency of 38KHz from calculation: fc=1/(2*pi*sqrt(R223*R225*C190*C191))=38.73146646102262e+03

but in matlab, the plot of the transfer function gives me another different cut off frequency at -3dB

R223=1.6e3;
R225=3.9e3;
C191=820e-12;
C190=3.3e-9;
Anti_aliasing=tf([0 1],[(R223*R225*C190*C191) (R225*C191+R223*C191) 1]);
options = bodeoptions;
options.FreqUnits = 'Hz'; % or 'rad/second', 'rpm', etc.
figure('name','2d order butterworth filter with 38khz');
bode(Anti_aliasing,options);
fc of bode plot=47e03 Hz I have the same value and the transfer function seems correct. what am I missing?

here is the schematic: • I am wondering whether the -3dB rule works for higher order filters. It might well only be applicable to 1st order system. Since its roll-off is much sharper. Mar 2, 2020 at 8:41
• @benguru - theoretically, a Butterworth is -3 dB at the cutoff for any order of filter. That is one of the characteristics of a Butterworth. Mar 2, 2020 at 8:54
• @Mattman944 thanks I could not recall this fact nor did I found a definitive answer with a quick googling, thanks a bunch. Mar 2, 2020 at 9:52
• For a 4th order Butterworth filter (for example) it can be made from two 2nd order stages and, if you took the two Q factors and multiplied them, you will get 0.7071. Mar 2, 2020 at 12:56
• Thanks for adding the schematic. So, you have a Sallen-Key with a gain of 1. See my updated answer. Mar 3, 2020 at 9:57

It's quite clearly not a perfect Butterworth filter - you have about 1 dB amplitude peaking in the pass band (at around 20 kHz) and that will push the 3 dB point up in frequency and, more than likely, you will find the new 3 dB point is at 47 kHz. • If the Q of the circuit rose from 0.7071 (Butterworth) to (say) 0.8333, the 3 dB frequency will rise nearly 15 %. This has an amplitude peaking of 0.35 dB.

• With 1 dB amplitude peaking, the Q is approximately 0.96 and the 3 dB frequency will be 25% higher than that for a perfect Butterworth filter. That would convert 38.7 kHz to over 48 kHz.

As with any 2nd order low pass filter of this general type, the amplitude at the natural resonant frequency is the Q of the circuit hence, for a Butterworth with a Q of 0.7071 the amplitude at Fc is -3 dB.

If the Q were 1 then the amplitude at Fc would be 0 dB or unity.

• my Q factor is 0.9111 and I have 0.683dB peak at the frequency 27Khz. so, if i am not wrong, the formula that calculate the Fc=1/(2*PI*sqrt(R1*R2*C1*C2)) is only applicable for a Q=0.7071? Mar 2, 2020 at 10:32
• That formula calculates the natural resonant frequency of the 2nd order filter. The natural resonant frequency doesn't map to the -3 dB frequency except when Q = 0.7071 i.e. when it is a Butterworth filter @Yaakov. If Q is 0.9111 the amplitude peak will be 0.747 dB. Mar 2, 2020 at 10:52

If I measure the cutoff using two other methods, I get about 38kHz.

1. Frequency when phase = 90 deg.

2. Extend -40 dB/decade line until it crosses 0.

Conclusion: Not a Butterworth. A schematic would help us further diagnose it. Calculate zeta and Q from your parameters: You can use an online filter calculator to set Q, or the wikipedia article has some nice equations. If you set m = 1, and n = 1.414, you will get a butterworth (Q = 0.707). The caps will have a ratio of 2:1, and the resistors will be equal. This is a common design choice, but there are others. https://en.wikipedia.org/wiki/Sallen%E2%80%93Key_topology

• in the epsilon factor that you found 0.55. from what I undestand from Andy. it is the Q factor that must be 0.707 so we can define the Fc? Mar 2, 2020 at 10:42
• @Yaakov - If zeta = 0.707, Q = 1/(2*zeta) = 0.707. I am more accustomed to using zeta (damping factor), Andy is more accustomed to using Q (quality factor), two ways of looking at the same thing. Look at the transfer function in my answer, zeta is independent of w0 (fc). Mar 2, 2020 at 13:30