More equations than unkowns in amplifier circuit

I am trying to find the Magnitude Response of the gain of this amplifier circuit.

The gain formula is: $$H(\omega) = \frac{\tilde{V_{out}}}{\tilde{V_{in}}}$$

My amplifier circuit is as follows:

I am trying to find the magnitude response: $$|H(\omega)| = \frac{|\tilde{V_{out}}|}{|\tilde{V_{in}}|}$$

The end goal: to get both V_out and V_in as functions of ω (with the resistor and capacitor values treated as constants). I will then use a tool (i.e. MATLAB, Maple, or other graphing software) to plot the magnitude response as a function of ω, and I will keep adjusting the values for the resistors and capacitors until the plot shows that the cutoff frequencies at both sides of the pass band are right where I want them.

How I am trying to get the equation: Before working with the absolute value, I am trying to get the equation V_out/V_in as one fraction with the only variable being ω and the constants being the impedances of the resistors and capacitors (ZR1, ZR2, ZR3, ZC1, ZC2).

The problem: I have way more equations than unknowns! The circuit is way over-defined. I have tried to use substitution to solve the problem, and was taken in circles. I tried to plug the equations into a matrix, but the calculator returned an error. How can I solve this over-defined system of equations? For now, please treat the impedances ZR1, ZR2, ZR3, ZC1, and ZC2 as constants (i.e. don't plug in the capacitor formula ZC=1/jωC or the resistor formula ZR=R just yet, I'd like to get an expression with just Z's first to keep things simple).

What I'm stuck trying to get: An expression V_out/V_in = [expression with only Z's]. This means that Vm, I1, I2, I3, and I4 have all been substituted out.

Equations: $$\tilde{V_{out}} - 0V = (\tilde{I_{1}})(Z_{R2})$$ $$\tilde{I_{1}} + \tilde{I_{2}} - \tilde{I_{3}} - \tilde{I_{4}} = 0$$ $$\tilde{V_{out}} - \tilde{V_{m}} = (\tilde{I_{2}})(Z_{C2})$$ $$\tilde{V_{m}} - \tilde{V_{in}} = (\tilde{I_{3}})(Z_{R1})$$ $$\tilde{V_{m}} = (\tilde{I_{4}})(Z_{R3})$$ $$0V - \tilde{V_{m}} = (\tilde{I_{1}})(Z_{C1})$$

To reiterate: I want to find ( V_out / V_in ) = [expression with only Z's]. All Vm, I1, I2, I3, and I4 have been substituted out. Then I can finally plug in the capacitor and resistor impedance equations and get an expression with R (resistance) and C (capacitance) constants as a function of ω. But this hasn't been working (6 equations, only 5 unknowns: Vm, I1, I2, I3, and I4). V_out and V_in are not unknowns since they will be shown as a fraction on the left hand side of the equation.

• Why don't you replace $R_1$ and $R_3$ by an equivalent Thévenin generator having a voltage equal to $V_{in}\frac{R_3}{R_3+R_1}$ and an output resistance equal to $R_1||R_3$? It would surely simplify the analysis. Apr 13 '20 at 11:53
• Are you aware that it is a band-pass MFB filter and that solutions will exist on the internet? Apr 13 '20 at 12:00
• @Andyaka I did an honest search and was not able to find the definition of H(ω) for this circuit. The circuit was not designed by me, it was generated by TI FilterPro® which oddly did not provide the equation, only the circuit. If you are familiar with the function could you please explain in an answer instead of simply saying that solutions might "exist somewhere on the internet"? Thank you! Apr 13 '20 at 12:59

If you are familiar with the function could you please explain in an answer instead of simply saying that solutions might "exist somewhere on the internet"? Thank you!

Not "might exist" but "do exist". Try this site's simulator: -

The end goal: to get both V_out and V_in as functions of ω (with the resistor and capacitor values treated as constants). I will then use a tool (i.e. MATLAB, Maple, or other graphing software) to plot the magnitude response as a function of ω, and I will keep adjusting the values for the resistors and capacitors until the plot shows that the cutoff frequencies at both sides of the pass band are right where I want them.

Looks like you need a tool to keep plugging in values to get the response you want i.e. that is your end goal. The Okawa electric tool is just that.

• That helps tremendously, thank you. If you have a second could you please explain what the 's' is in the transfer function of that site? How does it relate to ω? Apr 13 '20 at 13:14
• Oops, if you aren't aware of what $s$ refers to, I foresee a long discussion to come : ) Apr 13 '20 at 13:17
• @JoshuaReeve "s" is the complex operator used in Laplace transforms. It equals $\sigma +j\omega$ in the wider view of poles and zeros but, for the bode plot (one axis of the complex pole zero diagram), $s = j\omega$. Maybe try looking at my answers here and here for some more insight. Apr 13 '20 at 13:19
• @VerbalKint a can of worms maybe LOL. Apr 13 '20 at 13:24
• OK I admit it's been a while since I've seen Laplace transforms. I will have to refresh on that first, but in the meantime thank you for your help. Apr 13 '20 at 13:31

Why going through a complicated analysis with KVL and KCL then ending stuck with a system of equations to solve? The fast analytical circuits techniques or FACTs are an interesting alternative to follow. They are described in the book I published in 2016.

The principle is to chop this 2nd-order circuit into a succession of smaller sketches you can solve almost by inspection, without writing a single line of algebra. You first determine the time constants involving each capacitors by "looking" into the connecting terminals as the component is temporarily removed from the circuit. When you do this exercise, the remaining capacitors are left in their dc state which is an open circuit. Then, you alternatively short one capacitor while you "look" through the connecting terminals of the other ones. This is what I have done below where a dc operating point from SPICE confirms the analysis. In these simple cases, no need to write a line of algebra, just inspect the circuit and confirm the response with SPICE by reading the bias points:

For instance, $$\\tau_1\$$ is simply capacitor $$\C_1\$$ multiplied by $$\R_1||R_3\$$. The SPICE bias point confirms this as the right-side terminal of the current source is virtually grounded and the upper connection biases the two paralleled resistors. Same for $$\\tau_2\$$ where the right-side connection of the current source is also grounded by the op-amp delivering 0 V. Finally, $$\\tau_{12}\$$ shows that shorting $$\C_1\$$ for this exercise naturally excludes the two paralleled resistors and $$\R_2\$$ remains alone. When the time constants are determined, simply assemble them to form the denominator of your transfer function:

$$\D(s)=1+s(\tau_1+\tau_2)+s^2(\tau_1\tau_{12})\$$

Once we have all the time constants we need for the denominator, we can determine the zeroes using the generalized expression involving high-frequency gains H. These gains are determined when capacitors are set in their high-frequency states (short circuit). Use SPICE and bias the input with a 1-V source and check what the output is. This is the gain you want. Again, inspection is easy here as most of these gains are 0 except the first one which involves a simple inverting configuration from which $$\R_3\$$ is excluded considering the virtual ground at the (-) pin:

You can form the numerator by combining these gains with the time constants already determined:

$$\N(s)=H_0+s(H^1\tau_1+H^2\tau_2)+s^2(H^{12}\tau_1\tau_{12})\$$

Capture all these information in a Mathcad sheet and there you go, you have the transfer function:

However, the exercise ends - in my opinion - when the transfer function is rearranged in a low-entropy way where the band-pass gain appears, together with a quality factor and a resonant frequency. These extra steps are part of the design-oriented analysis or DOA as promoted by Dr. Middlebrook: you format your equation to gain insight on what it does and how you select the filter elements to meet a design goal like a desired gain at the resonance for instance.

The response for the arbitrarily-selected components values is here:

Ok, I thought I'd come back here and assure everyone that it is possible to find the formula for H(ω) with (1) ω being the only variable and (2) the only constants being the Z's and the complex number i. The system of equations can be solved by substitution. Here's what I was doing wrong:

The equations haven't changed:

$$\tilde{V_{out}} - 0V = (\tilde{I_{1}})(Z_{R2})$$

$$\tilde{I_{1}} + \tilde{I_{2}} - \tilde{I_{3}} - \tilde{I_{4}} = 0$$

$$\tilde{V_{out}} - \tilde{V_{m}} = (\tilde{I_{2}})(Z_{C2})$$

$$\tilde{V_{m}} - \tilde{V_{in}} = (\tilde{I_{3}})(Z_{R1})$$

$$\tilde{V_{m}} = (\tilde{I_{4}})(Z_{R3})$$

$$0V - \tilde{V_{m}} = (\tilde{I_{1}})(Z_{C1})$$

The situation: There are actually 7 unknowns and 6 equations. The unknowns are Vout, Vin, Vm, I1, I2, I3, and I4

What this means: Not all the unknowns will be fully defined. It will come down to two of the knowns being dependent on each other (being left in an equation with each other) while the rest of the variables are fully defined (and will not be seen in the H(ω) formula). And obviously, since the H(ω) formula is equal to V_out / V_in, we choose the two underdefined variables to be V_out and V_in. They will be a ratio, so in a way, together they will be treated as one variable.

How to solve: We want two different equations. The first one we will obtain will take the form of "V_in = [...]" and the second will take the form of "V_out = [...]". For the "V_in = [...]" equation, first take the equation on top, isolate the V_out, and plug it into the other V_out term in equation #3 from the top. All the V_out's will disappear for the time being (which is fine). Then use substitution and the rest of the equations (you'll need ALL of them) to isolate V_in. You now have the "V_in = [...]" equation. To get the "V_out = [...]" equation, simply grab another copy of the equation #1 from the top and (again) isolate V_out. Put the expression for V_out in the numerator and the expression for V_in in the denominator, and that will get you the expression for V_out / V_in. You're finished!

The final result will be:

$$\begin{split} \frac{\tilde{V_{out}}}{\tilde{V_{in}}} = \frac{ (-1)*(\frac{Z_{R2}}{Z_{C1}}) }{ (Z_{R1})*(\frac{Z_{R2}}{Z_{C1}*Z_{C2}} + \frac{1}{Z_{C2}} + \frac{1}{Z_{R1}} + \frac{1}{Z_{R3}}) } \end{split}$$

Just FYI: I did not make the MATLAB script for quickly and repeatedly adjusting the impedance values and re-plotting the Magnitude as a function of frequency. It was enough to know that solving this is possible. When I want to design an amplifier/filter to certain specs I will simply use a known transfer function (like Butterworth for example), plug in the parameters, plot/test as necessary, and then (and only then) use THAT transfer function to build a circuit. I hate software that doesn't give you the math solution but only gives you the circuit. If it did not do this, I wouldn't have had this problem in the first place! Also, for frequencies higher than audio (i.e. RF, IR, etc) I don't even think you can use an op amp. Since it has internal capacitance, I don't think you could get an op amp with a slew rate high enough for sufficient gain. You'd have to use other components like transistors (correct me if I'm wrong with any of that, I'm still trying to learn). Thank you