Opamp circuits to signal flow diagrams

Created at , last modified at in «Electronics»

Inspired by this answer on the electronics StackExchange, I decided to practice translating electrical circuits into signal block diagrams. This page serves mostly as a reference for various standard configurations. The idea is that this page can serve as a starting point for tuning response characteristics and stability margins.

A few points about the computations

  1. I assume that the opamp has some generic transfer function TT. For common opamps, this is going to be well approximated by a single pole close to zero, that is, T=Asω0+1T = \frac{A}{\frac{s}{\omega_0} + 1}.
  2. I keep the impedances abstract, even though the schematics sometimes show concrete component types.

Noninverting amplifier

We are going to start with a trivial example: the noninverting opamp amplifier.

Computing the voltage at VV_- via KCL:

VoVRf=VRgV=VoRgRf+Rg.\begin{aligned} \frac{V_o - V_-}{R_f} &= \frac{V_{-}}{R_g} \\ V_- &= V_o \frac{R_g}{R_f + R_g}. \end{aligned}

Which simply translates to the following block diagram:

Inverting amplifier

This is the first non-obvious example, which illustrates the point of this post.

Once again, let's setup KCL for VV_-:

VVoRf+VViRg=0,\begin{aligned} \frac{V_- - V_o}{R_f} + \frac{V_- - V_i}{R_g} &= 0, \\ \end{aligned}

and thus:

V=RgRg+RfVo+RfRg+RfVi.V_{-} = \frac{R_g}{R_g + R_f}V_o + \frac{R_f}{R_g + R_f}V_i.

Drawing this directly results in this diagram:

However, this is somewhat unwieldy. Performing some sign juggling, we can get the following equivalent diagram:

This "diagram algebra" is somewhat of a topic in these examples. Luckily the transformations are simple to perform intuitively. Operational Amplifiers: Theory and Practice is a somewhat ancient textbook that features a section on block diagram manipulations for those that need it.

Noise gain forcing

Setting the KCL equation for VV_-:

ViVRnVRg+VoVRf=0.\begin{aligned} \frac{V_{i} - V_{-}}{R_{n}} - \frac{V_{-}}{R_{g}} + \frac{V_{o} - V_{-}}{R_{f}} = 0. \end{aligned}

Solving for VV_- gives:

V=RgRfRg+RfRn+RgRn(RfVi+RnVo),\begin{aligned} V_{-} &= \frac{R_{g} }{R_{f} R_{g} + R_{f} R_{n} + R_{g} R_{n}}\left(R_{f} V_{i} + R_{n} V_{o}\right), \end{aligned}

where we denote

P=RgRfRg+RfRn+RgRn.\begin{aligned} P &= \frac{R_{g} }{R_{f} R_{g} + R_{f} R_{n} + R_{g} R_{n}}. \end{aligned}

This gives us the following block diagram:

The theme here is that PP is "the same" and we can manipulate the ratio between RfR_f and RnR_n to get the desired loop gain while keeping the prescribed gain of the whole amplifier.

Transimpedance amplifier

Setting up KCL for the node denoted VV_-:

VVoRf+VZC+Ii=0\begin{aligned} \frac{V_{-} - V_o}{R_f} + \frac{V_{-}}{Z_C} + I_i &= 0 \\ \end{aligned}

yields

V=ZCRf+ZCVoRfZCRf+ZCIi.V_{-} = \frac{Z_C}{R_f + Z_C}V_o - \frac{R_f Z_C}{R_f + Z_C}I_i.

Doing the same juggling as in the inverting amplifier case gives us:

Sallen-Key filter

First, we setup the equations for the nodes VxV_x and V+V_{+}:

VoVxZ3+VpVxZ2+ViVxZ1=0,VxV+Z2V+Z4=0.\begin{aligned} \frac{V_{o} - V_{x}}{Z_{3}} + \frac{V_{p} - V_{x}}{Z_{2}} + \frac{V_{i} - V_{x}}{Z_{1}} &= 0, \\ \frac{V_{x} - V_+}{Z_{2}} - \frac{V_+}{Z_4} &= 0. \end{aligned}

and then we eliminate VxV_x: and solve for V+V_+:

V+=Z4Z3Z1Z2+Z1Z3+Z1Z4+Z2Z3+Z3Z4Vi+Z4Z1Z1Z2+Z1Z3+Z1Z4+Z2Z3+Z3Z4Vo.\begin{aligned} V_+ &= {\frac{Z_{4} Z_3}{Z_{1} Z_{2} + Z_{1} Z_{3} + Z_{1} Z_{4} + Z_{2} Z_{3} + Z_{3} Z_{4}}} V_i + \\ &{\frac{Z_{4} Z_1}{Z_{1} Z_{2} + Z_{1} Z_{3} + Z_{1} Z_{4} + Z_{2} Z_{3} + Z_{3} Z_{4}}} V_o. \end{aligned}

Next, we denote

P=Z4Z1Z2+Z1Z3+Z1Z4+Z2Z3+Z3Z4.P = \frac{Z_4}{Z_1 Z_2 + Z_1 Z_3 + Z_1 Z_4 + Z_2 Z_3 + Z_3 Z_4}.

This, after some diagram transformations (remember in particular that V=VoV_- = V_o), yields this block diagram: