# Transfer function of Operational Amplifier

I am trying to solve the following operational amplifier circuit to get its transfer function.

I have tried two different approaches, one is elementary approach by finding V- and V+ and equating them. But problem with this approach is that the equations are extremely complicated as there is another node (Va) which has both variables V- and V+. [Applied Milmann's Theorem on these three nodes to get the expressions of voltages]

The approach I tried is to write an equivalent circuit of op-amp and then writing conductance matrix and applying Cramer's rule to solve the matrix. But, in this approach also as I apply conditions for ideal op-amp equations are not solvable.

I am looking for a simple way to approach this problem.

NOTE: G's are all conductances.

I'd consider using superposition theory where you split the design into two halves, calculate the output for each then combine the outputs numerically. I'd consider splitting the input like this: -

So, for stage 1 I'd ground the lower instance of Vi and calculate the output for just the top instance. Then I'd ground the top instance of Vi and calculate the output based on the lower instance of Vi.

Finally, I'd add the two output voltages to get the combined effect of both instances of Vi being joined together.

The benefit is that for the presense only of the top Vi, -Vin is a virtual earth and so component C2, G3 and G4 can be ignored.

• It still doesn't solve the complicacy of Va term. If you write equations for V+, V- and Va by considering even second Vi (bottom one) as ground they are unsolvable for a reason that we will have two equations but three unknowns involved (Somehow we need to eliminate Va term when we are equating V+ and V- so that only Vi and Vo remains whose ratio will ultimately give the transfer function) Commented Apr 30, 2018 at 12:32
• @JarnuGirdhar - I'm not going to get into the detail but if you consider C2, G3 and G4 as a star and convert to delta impedances, you would be left with what I say. Commented Apr 30, 2018 at 12:46

I honestly don't see why using chained substitutions wouldn't do the trick. Don't have much time for pen-and-paper right now, but I'll show the matlab way do it.

syms Va Vn Vp Vi Vo G1 G2 G3 G4 G5 C1 C2 s

eq1 = (Va - Vn)*(s*C2) + (Va - Vp)*G3 + Va*G4;
eq2 = (Vn - Vi)*G2 + (Vn - Vo)*G1 + (Vn - Va)*(s*C2);
eq3 = (Vp - Va)*G3 + (Vp - Vi)*G5 + Vp*s*C1;
eq4 = Vp == Vn;

sol = solve([eq1, eq2, eq3, eq4],Va, Vp, Vn, Vo);
pretty(sol.Vo)


$$\frac{V_o}{V_i} = \\ \frac{G_1 G_3 G_5 - G_2 G_3 G_4 + G_1 G_4 G_5 - C_1 G_2 G_3 s - C_1 G_2 G_4 s + C_2 G_1 G_5 s + C_2 G_4 G_5 s - C_1 C_2 G_2 s^2}{G_1(G_3 G_4 + G_3 G_5 + G_4 G_5 + C_1 G_3 s + C_1 G_4 s + C_2 G_5 s + C_1 C_2 s^2)}$$