JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

AC Steady State: Phasors, Impedance & Complex Power

Solving an AC circuit with calculus means wrestling a differential equation for every resistor, capacitor and inductor. There is a better way. By freezing a spinning sinusoid into a single complex number — a [[ee-phasor|phasor]] — derivatives become multiplication, Ohm's law comes back to life, and KVL and KCL work exactly as they did with DC. This guide turns the messy time domain into clean algebra, then shows how real, reactive and apparent power fall out of the same picture.

Why a spinning arrow beats a differential equation

Picture a clock hand sweeping around a face once every period. Project its tip onto the vertical axis and you trace a perfect sine wave: at 12 o'clock it reads maximum, at 3 o'clock it reads zero on the way down, and so on. Every AC voltage and current in a circuit running at one frequency is exactly that — a spinning arrow whose shadow is the waveform you measure on a scope. The arrow's length is the amplitude; its starting angle is the phase. The spin rate is the same for everyone, so it carries no information once you know the frequency.

Here is the leap that makes AC circuits tractable. If the spin rate ω is common to the whole circuit, we can drop the spinning entirely and keep only the two facts that distinguish one signal from another: amplitude and phase. That frozen snapshot — a length and an angle, written as one complex number — is the phasor. We replace v(t) = V·cos(ωt + φ) with the complex constant V∠φ, do all our algebra on these constants, then 'un-freeze' at the end by multiplying back in e^{jωt} and taking the real part.

Time domain                     Phasor (frozen) domain
--------------------------      ------------------------
v(t) = 10·cos(ωt + 30°)   -->   V = 10∠30°  =  8.66 + j5.00
i(t) =  2·cos(ωt - 45°)   -->   I =  2∠-45° =  1.41 - j1.41

   imag
    |        V (length 10, angle +30°)
    |       /
    |      /
    |     /
    +----/------------------ real
    |   \
    |    \  I (length 2, angle -45°)
    |     \

  spin rate ω is the SAME for both -> drop it, keep length & angle
A sinusoid becomes a static arrow in the complex plane. Both spin at ω, so we omit the spin and keep only what differs.

Impedance: Ohm's law, reborn in the complex plane

In rung 5 you saw that a capacitor obeys i = C·dv/dt and an inductor obeys v = L·di/dt — derivatives, the very thing that made AC analysis painful. Watch what happens in phasor land. Differentiating a sinusoid is the same as multiplying its phasor by (a 90° rotation plus a scale by ω). So dv/dt → jω·V. Suddenly the calculus collapses into a single complex multiply, and each component gets a complex 'resistance' we call impedance Z, measured in ohms.

Component   Time-domain law      Impedance Z(ω)        Behaviour
---------   -----------------    ----------------      ----------------------
Resistor    v = R·i              Z_R = R               in phase  (angle 0°)
Inductor    v = L di/dt          Z_L = jωL             V leads I by 90° (+j)
Capacitor   i = C dv/dt          Z_C = 1/(jωC)         V lags  I by 90° (-j)
                                     = -j/(ωC)

Ohm's law for phasors:   V = Z · I        (vectors, not just magnitudes)

Example @ f = 60 Hz  -> ω = 2π·60 = 377 rad/s
  L = 10 mH   ->  Z_L = j·377·0.010   =  j3.77 Ω   (3.77 Ω, +90°)
  C = 100 uF  ->  Z_C = -j/(377·100e-6) = -j26.5 Ω  (26.5 Ω, -90°)
  R = 8 Ω     ->  Z_R = 8 Ω             (8 Ω, 0°)
The three impedances. Note the frequency dependence: inductors block high frequencies (Z_L grows with ω), capacitors block low frequencies (Z_C shrinks with ω).

The imaginary part of an impedance is called reactance (X), and the real part is plain resistance (R), so Z = R + jX. A positive X (inductive) means voltage leads current; a negative X (capacitive) means voltage lags. The single most useful mnemonic in all of AC analysis captures this: ELI the ICE man — in an inductor (L), voltage E leads current I; in a capacitor (C), current I leads voltage E. The reciprocal of impedance, Y = 1/Z, is the admittance in siemens, handy when components sit in parallel.

KVL and KCL still hold — a worked RLC example

Kirchhoff's laws are statements about conservation: charge is conserved at a node (KCL) and energy around a loop is conserved (KVL). Conservation does not care whether the quantities are real or complex, so both laws carry over to phasors verbatim — the phasor currents into a node sum to zero, and the phasor voltage drops around a loop sum to zero. That single fact means the entire toolbox from rungs 2–4 (nodal analysis, mesh analysis, Thévenin, superposition) transplants directly into the AC world. You just replace R with Z.

  1. Convert the source to a phasor and fix ω. Source v(t) = 10·cos(377t) V → V = 10∠0°, ω = 377 rad/s (a 60 Hz mains-style problem).
  2. Replace each element with its impedance: a series R = 8 Ω, L = 10 mH, C = 100 µF → Z_R = 8, Z_L = j3.77, Z_C = -j26.5 Ω.
  3. Add series impedances (KVL): Z_total = 8 + j3.77 - j26.5 = 8 - j22.7 Ω. In polar form that is 24.1 Ω ∠ -70.6° — strongly capacitive.
  4. Apply Ohm's law for the current phasor: I = V / Z_total = 10∠0° / 24.1∠-70.6° = 0.415∠+70.6° A. The current leads the voltage — exactly what 'capacitive' predicts.
  5. Un-freeze: i(t) = 0.415·cos(377t + 70.6°) A. Done — no differential equation was harmed.
import numpy as np

V   = 10*np.exp(1j*0)              # source phasor, 10 V at 0 deg
w   = 377                          # rad/s  (60 Hz)
ZR  = 8
ZL  = 1j*w*0.010                   #  j3.77
ZC  = 1/(1j*w*100e-6)              # -j26.5
Z   = ZR + ZL + ZC                 # series  (KVL)
I   = V / Z                        # Ohm's law

print(f"Z = {abs(Z):.1f} ohm  angle {np.angle(Z,deg=True):.1f} deg")
print(f"I = {abs(I):.3f} A     angle {np.angle(I,deg=True):.1f} deg")
# Z = 24.1 ohm  angle -70.6 deg
# I = 0.415 A   angle  70.6 deg
The same series-RLC problem in NumPy. Complex arithmetic makes the whole solution four lines.

RMS: the number your meter actually reads

When the wall socket says 110 V or 230 V, it is not quoting the peak of the sinusoid — the peak is √2 times larger. It is quoting the RMS (root-mean-square) value, defined as the DC voltage that would dissipate the same average power in a resistor. That is the honest way to compare an oscillating signal against a steady one: ask which DC value heats the resistor equally.

Average power in a resistor over one cycle:

  P_avg = (1/T) ∫ v(t)²/R dt  =  V_rms² / R     <- looks just like DC!

For a pure sinusoid v(t) = V_peak·cos(ωt):

  V_rms = V_peak / √2  ≈  0.707 · V_peak

Wall outlet examples
  Taiwan / US 110 V_rms  ->  V_peak = 110·√2 ≈ 156 V
  Europe      230 V_rms  ->  V_peak = 230·√2 ≈ 325 V

WARNING: V_rms = V_peak/√2 is TRUE ONLY for a sine. A square wave
has V_rms = V_peak; a triangle has V_rms = V_peak/√3. Cheap meters
assume a sine and read garbage on distorted waveforms -> 'true-RMS'
meters integrate the real shape.
RMS turns the average-power integral back into the familiar V²/R, which is the whole point.

Complex power: real, reactive, and the power triangle

Multiply voltage and current together and a subtlety appears: when V and I are out of phase, part of the energy genuinely leaves the source and does work (heat, torque, light), while part merely sloshes back and forth between the source and the circuit's inductors and capacitors, doing nothing useful but still loading the wires. The complex power S bundles both halves into one tidy number.

Complex power   S = V_rms · I_rms*       (* = complex conjugate of I)
               S = P + jQ        unit: volt-amperes  (VA)

  P = real (active) power   = |V||I|·cos θ    in watts  (W)   <- does work
  Q = reactive power        = |V||I|·sin θ    in VAR         <- sloshes
  |S| = apparent power      = |V||I|           in VA          <- wire stress

  θ = angle of V minus angle of I  (the impedance angle)

          |S| (VA)
           /|
          / |
     |S| /  | Q  (VAR)   inductive load: Q > 0
        /   |            capacitive load: Q < 0
       /θ___|
         P (W)

  Power factor  PF = cos θ = P / |S|

Worked: our RLC example, using RMS, V_rms = 10/√2 = 7.07 V,
        I_rms = 0.415/√2 = 0.293 A, θ = -70.6° (capacitive)
  P  = 7.07 · 0.293 · cos(70.6°) =  0.69 W
  Q  = 7.07 · 0.293 · sin(-70.6°)= -1.96 VAR   (capacitive, negative)
  |S|= 7.07 · 0.293             =  2.07 VA
  PF = cos(70.6°) = 0.33  (leading, because current leads voltage)
The power triangle: P along the base, Q up the side, apparent power |S| the hypotenuse. The angle θ is the same impedance angle from before.

The power triangle makes the trade-off visible. Real power P is what your electricity meter bills you for. But the utility must size its wires, transformers and generators for the full apparent power |S|, including the reactive part Q that does no work. The ratio of useful to total is the power factor, PF = cos θ = P/|S|. A motor running at PF = 0.7 forces the grid to push 1/0.7 ≈ 43 % more current than the work demands — pure waste heat in the transmission lines.

Everything here scales up to the grid. The reactive-power balance you just computed for one capacitor is, multiplied by millions, exactly what utilities juggle across three-phase transmission networks to keep voltage stable across a continent. Phasors are not a classroom trick — they are the working notation of every power engineer alive.

The whole method on one page

Step back and the recipe is almost mechanical. You leave the time domain, do ordinary (complex) algebra where derivatives have vanished, and return. The hard calculus of rung 5 has been quietly absorbed into the single symbol j.

  1. Confirm steady state at one frequency ω. Transients gone, everything sinusoidal.
  2. Convert sources to phasors and every R, L, C to its impedance Z (R, jωL, 1/jωC).
  3. Solve with DC techniques — series/parallel Z, voltage dividers, nodal/mesh, Thévenin — all in complex arithmetic.
  4. For power, switch to RMS phasors and compute S = V·I*, read off P, Q, |S| and the power factor.
  5. Convert phasor answers back to v(t)/i(t) by attaching e^{jωt} and taking the real part.