Dependent Sources in Circuit Analysis

+VsR₁vxg·vxR₂vout
VCCS example: the output current g·vx is controlled by the voltage vx across R₁.

Dependent Sources in Circuit Analysis

A dependent source, also called a controlled source, is an ideal source whose output is set not by a fixed number but by some other voltage or current elsewhere in the same circuit. Independent sources push a known quantity into the network; dependent sources push a quantity that is a function of a controlling variable. They are not laboratory curiosities. Every transistor, every operational amplifier, and every feedback loop is modeled with dependent sources, so understanding how they enter nodal and mesh analysis is essential before you can analyze any amplifier. This article defines the four types, explains the one extra rule they impose on your equation set, and works a full numerical nodal example with a voltage-controlled current source.

The Four Types

There are exactly four dependent sources, named by what they output and what controls them. The controlling variable is always a voltage vxv_x across some branch or a current ixi_x through some branch.

  • VCVS — voltage-controlled voltage source. Its output voltage is a gain μ\mu times a controlling voltage: v=μvxv = \mu v_x. The gain is dimensionless (V/V).
  • VCCS — voltage-controlled current source. Its output current is a transconductance gg times a controlling voltage: i=gvxi = g v_x. The transconductance has units of siemens (A/V). This is the source inside every transistor small-signal model.
  • CCVS — current-controlled voltage source. Its output voltage is a transresistance rr times a controlling current: v=rixv = r i_x. The transresistance has units of ohms (V/A).
  • CCCS — current-controlled current source. Its output current is a gain β\beta times a controlling current: i=βixi = \beta i_x. The gain is dimensionless (A/A).

Why They Need a Controlling-Variable Equation

In a circuit with only independent sources, every source contributes a known constant to the right-hand side of your equations. A dependent source is different: its value is an unknown until you have solved for the controlling variable. That coupling is the whole subtlety. When you write a node equation that contains a dependent source, you must express the controlling variable in terms of the same node voltages you are already solving for, and substitute it back in. The controlled source therefore moves from the right-hand side (where independent sources live) to the left-hand side, becoming a term that depends on the unknowns.

For nodal analysis the recipe is: write KCL at each node treating the controlled quantity as a symbol, then write one auxiliary equation that defines the controlling variable from node voltages, and substitute. For mesh analysis the same idea applies with mesh currents and KVL. The number of independent equations does not grow if you substitute immediately; you simply have extra algebra to keep the unknown count equal to the number of node voltages.

How They Change Mesh Analysis

The same coupling appears in mesh analysis, just expressed through mesh currents instead of node voltages. When a controlled source sits on a branch shared by a loop, its value enters the KVL sum around that loop, and you must rewrite the controlling variable in terms of the mesh currents you are solving for. A current-controlled source is natural here because the controlling current is often simply a mesh current or a difference of two mesh currents, which you substitute directly. A voltage-controlled source requires one more step: you express the controlling voltage as a mesh current times the resistance of the branch it appears across, then substitute. Either way the rule is identical to the nodal case. Treat the controlled quantity as a symbol while writing the loop equations, add an auxiliary relation that ties the controlling variable to your chosen unknowns, and substitute so the final system has exactly as many equations as there are independent loops. Choosing nodal or mesh analysis for a circuit with dependent sources comes down to the same trade-off as for any circuit: prefer nodal when there are fewer nodes than loops, and prefer the method in which the controlling variable is most directly one of your unknowns, because that minimizes the substitution work.

Worked Example: Nodal Analysis with a VCCS

Consider a two-node circuit. An independent current source Is=2mAI_s = 2\,\text{mA} drives node 1. A resistor R1=1kΩR_1 = 1\,\text{k}\Omega connects node 1 to ground. A resistor R2=2kΩR_2 = 2\,\text{k}\Omega connects node 1 to node 2. At node 2, a VCCS with transconductance gm=2mSg_m = 2\,\text{mS} pushes current gmvxg_m v_x from node 2 to ground, where the controlling voltage is the node-1 voltage, vx=V1v_x = V_1. A load resistor R3=1kΩR_3 = 1\,\text{k}\Omega connects node 2 to ground. Ground is the reference, and the unknowns are V1V_1 and V2V_2.

Write KCL at node 1. The current into the node from the source equals the current leaving through R1R_1 and R2R_2:

Is=V1R1+V1V2R2I_s = \frac{V_1}{R_1} + \frac{V_1 - V_2}{R_2}

Write KCL at node 2. Current arrives from node 1 through R2R_2, and leaves through R3R_3 and through the VCCS. Because the VCCS draws gmvx=gmV1g_m v_x = g_m V_1 out of node 2:

V2V1R2+V2R3+gmV1=0\frac{V_2 - V_1}{R_2} + \frac{V_2}{R_3} + g_m V_1 = 0

Notice the controlling-variable substitution already happened: vx=V1v_x = V_1, so the dependent term gmV1g_m V_1 sits on the left among the unknowns. Now substitute numbers, using conductances in millisiemens (1/kΩ = 1 mS) and the source in milliamps. Node 1 becomes:

2=1V1+0.5(V1V2)2 = 1\cdot V_1 + 0.5\,(V_1 - V_2)

That simplifies to:

1.5V10.5V2=21.5\,V_1 - 0.5\,V_2 = 2

Node 2, with gm=2g_m = 2 mS, becomes:

0.5(V2V1)+1V2+2V1=00.5\,(V_2 - V_1) + 1\cdot V_2 + 2\,V_1 = 0

which collects to:

1.5V1+1.5V2=0V2=V11.5\,V_1 + 1.5\,V_2 = 0 \quad\Rightarrow\quad V_2 = -V_1

Substitute V2=V1V_2 = -V_1 into the node-1 equation:

1.5V10.5(V1)=22V1=21.5\,V_1 - 0.5(-V_1) = 2 \quad\Rightarrow\quad 2\,V_1 = 2

So V1=1VV_1 = 1\,\text{V} and V2=1VV_2 = -1\,\text{V}. The negative node-2 voltage is the signature of the controlled source: the VCCS pulls current out of node 2 in proportion to V1V_1, dragging that node below ground even though no independent source touches it. Had you ignored the gmV1g_m V_1 term, you would have predicted a positive V2V_2 and been completely wrong about the sign. This sign inversion is exactly the small-signal behavior of an inverting amplifier.

Connection to Small-Signal Models

That last observation is the bridge to real devices. A transistor is, to a small signal, nothing but a transconductance source: the hybrid-pi model of a BJT places a VCCS of value gmvbeg_m v_{be} between collector and emitter, and the MOSFET model places a VCCS of value gmvgsg_m v_{gs} between drain and source. The node equations you just wrote are the same ones CircuitMath assembles when it analyzes an amplifier. If you can handle the VCCS by hand, you can read the machine's output and trust it. See the BJT small-signal model and the steps in nodal analysis step by step for the full procedure.

It is worth dwelling on why this matters pedagogically. Students often treat the small-signal transistor model as a separate, magical object with its own special rules, when in truth it is built entirely from the passive elements and dependent sources covered here. Once a transistor has been replaced by its resistance terms and its controlled current source, the resulting network is just a linear circuit, and every technique you already know applies unchanged: nodal analysis, superposition with the independent sources, Thevenin and Norton reductions, and so on. The dependent source is the one piece that links the input port to the output port, and it is what gives an amplifier its gain. If that source were absent, the input and output sides of the model would be electrically isolated and the device would do nothing. Seeing the controlled source as the heart of the model, rather than as an exotic add-on, is the conceptual step that turns transistor analysis from memorization into reasoning.

Common Mistakes

  • Leaving the controlled term on the right. Treating gmV1g_m V_1 like an independent source and keeping it on the right-hand side gives a wrong, decoupled system. It depends on an unknown, so it belongs on the left.
  • Forgetting the auxiliary equation. If the controlling variable is not itself a node voltage (for example a branch current), you must add one equation defining it, or you will have more unknowns than equations.
  • Sign of the controlling variable. Reversing the assumed polarity of vxv_x or the reference direction of ixi_x flips the sign of the whole dependent term and inverts the answer.
  • Unit confusion. Transconductance is siemens and transresistance is ohms; plugging a transconductance in where a gain belongs produces nonsense with the wrong dimensions.
  • Killing a dependent source during superposition. Dependent sources stay active when you apply superposition; only independent sources are turned off.

Summary Table

TypeDefining relationGain symbolUnits
VCVSv=μvxv = \mu v_xμ\muV/V (dimensionless)
VCCSi=gvxi = g v_xggA/V (siemens, S)
CCVSv=rixv = r i_xrrV/A (ohms, Ω)
CCCSi=βixi = \beta i_xβ\betaA/A (dimensionless)

Related Tutorials

Related Tutorials

Practical Topics

Thevenin and Norton Equivalent Circuits

Find Thevenin and Norton equivalents step by step: open-circuit voltage, short-circuit current, and equivalent resistance.

Practical Topics

How to Read Circuit Schematics: A Beginner Guide

Learn to read schematic diagrams: component symbols, node connections, reference designators, and how to trace current paths.

Practical Topics

How to Use CircuitMath: Getting Started Guide

A step-by-step guide to using the CircuitMath editor: drawing circuits, adding components, running analysis, and reading results.

Back to All Tutorials