Good Morning, I am struggling to modify a Butterworth filter between 100Hz and 10kHz and unit gain (0dB), I know that to calculate the gain, the formula is G=1+Rf/Ri, the problem is that to achieve 0dB, I need a total gain =1, to have the total gain=0dB (20log(1)), I need 0.5 on each side... how can I add a number to 1 and get 0.5 as answer? Can someone PLEASE help me?
Total gain = gain1 * gain2, not gain1+ gain2, so you could configure both opamps as unity gain buffers to get unity gain for the whole circuit.
But if you do that it won't be a Butterworth filter anymore unless you change the resistors or capacitors in the feedback network as well.
An easier way is just to put a resistive divider between the two filter sections to reduce the total gain to unity. In the second circuit below, R2 and R9 form the divider. The impedance of the two in parallel is equal to R2 in the original circuit, so the response of the second filter is not changed.
BTW, performance of the circuit will be better if you replace the 741 with something better e.g. TL072.
As with your previous circuit:
Freq = 1 / (2 * Pi * SQRT(Ra*Rb*Ca*Cb))
When Ra = Rb = R and Ca = Cb = C, that simplifies to:
Freq = 1 / (2 * Pi * R * C) (which is probably what you used before).
Now when gain = unity:
For a low pass filter, the feedback capacitor = N * the capacitor to ground.
For a high pass filter, the resistor to ground = N * the feedback resistor.
For both: N = 4 * Q * Q
For a Butterworth filter, Q = SQRT(2), so N = 2.
So in this circuit, we need C2 = 2 * C1 and R7 = 2* R8.
(C1 * C2) and (R7 * R8) must stay the same as before though, so we multiply C2 and R7 by SQRT(2), and divide C1 and R8 by SQRT(2).
FilterPro is free download program from Texas Instruments that provides easy active filter design of various orders and types. Saves a lot of grunt calculations.