In electrical engineering, specifically in circuit analysis, you’ll see a lot of complex numbers. This can be very confusing because complex numbers don’t exist in the real world; for example, your oscilloscope or multimeter is never going to measure 5+2j volts. So why do we use complex numbers in circuit analysis, and if a signal is complex, what should we expect when we measure that signal with an oscilloscope?
Before we can get to complex numbers, we have to understand sinusoids first. Even before that, let’s take a quick look at physics.

You may remember learning about vector decomposition. This is the process of breaking a vector down to its fundamental pieces. For example, the initial vector has a magnitude of 3 meters per second, and is 20° above the horizontal. This vector has an x component and a y component. In other words, this vector is the sum of a vector going only in the x direction and another vector going only in the y direction. This is a very useful procedure as it allows you to break down complex vectors into simple components. But what does that have to do with sinusoids?

Turns out, you can also decompose sinusoids! Just like how a vector not aligned with an axis can be decomposed to vectors that do align, you can decompose a sinusoid with a phase shift to sinusoids with no phase shifts.

The left shows the axis used to decompose a vector to its x and y components. On the right is the axis used to decompose sinusoids. By convention, the horizontal axis is cos, while the vertical axis is sin. Because cos(x) = sin(x + 90°), the sin axis is 90° clockwise from the cos axis. It’s a bit confusing that the sin axis points down, but it just means that a negative sin will point up instead of down, as we’ll see in the example below.

Just like how the vector is decomposed to 2.819 m/s in the x direction and 1.026 m/s in the y direction, the sinusoid is decomposed to cos and sin components. Just like how the magnitude of the x direction vector is 3*cos(20°), the magnitude of the cos is 3*cos(20°). Just like how the magnitude of the y direction vector is 3*sin(20°), the magnitude of the sin is 3*sin(20°).

Two more points about breaking down sinusoids. First, note how the trig identities are preserved; the line drawn 20° counterclockwise from the positive cos axis is 110° counterclockwise from the positive sin axis, and 70° clockwise from the negative sin axis. Second, you can do sinusoid addition using this method, just like how you can do vector addition. If you have two sinusoids, draw them on the cos and sin graph with one sinusoid starting where the other ends. Then, you can find the resulting sum by seeing where the second sinusoid ends on the cos and sin axis. Alternatively, you can decompose both sinusoids to simple cos and sin, add them up, then convert the new cos and sin to a new sinusoid with a phase shift.
So all that’s pretty nifty, but what does that have to do with complex numbers?

Complex numbers are composed of a real part and an imaginary part. For example, 5+2j has a real component, 5, and an imaginary component, 2. Because complex numbers have two components, just like how vectors have x component and a y component, you can plot complex numbers on a graph. By convention, the real part is horizontal axis, while the imaginary part is the vertical axis.

The example shows 5+2j plotted on a complex plane. It looks a lot like a vector that has an x component of 5 m/s, and a y component of 2 m/s. And just like how a vector can be expressed as a sum of its components or as a magnitude & angle, complex numbers can be expressed as a sum of real and imaginary numbers, or as magnitude and angle.
Mathematically, sinusoids and complex numbers are related by Euler’s formula:

I’m an engineer, so I’ll just focus on the applications of Euler’s formula: the take-away here is that complex numbers can be used to describe sinusoids. Since cos and sin can be used to put information on a graph, and real and imaginary numbers can also put information on a graph, both sinusoids and complex numbers can be used to represent the same data. The reason complex numbers are useful is because they’re much more compact than sinusoids. Put another way, complex numbers give an easy way to describe magnitude and phase of a sinusoid.

For example, you can say a sinusoid is cos(wt+20°), but you can also describe the sinusoid as 2.819*cos(wt)-1.026*sin(wt), as we’ve seen. Since writing out all of that is rather cumbersome, you can describe the signal as 2.819+1.026j. The sum of cos and sin, as well as the complex number, end up being identical when plotted, so they represent the same information. The real part of a complex number is the magnitude of the cos, while the imaginary part is the magnitude of the sin.
The sign of the sin is inverse of the value of the complex number, which is annoying, but thankfully you don’t use the cos and sin representation very much in circuit analysis; you’ll almost exclusively use complex numbers. The cos and sin representation was done for demonstration purposes.
Before getting into a circuit example, let’s do a quick review:
- A sinusoid with a phase shift can be described as a sum of cos and sin, neither of which have a phase shift.
- The sinusoid can alternatively be described as a complex number, where the amplitude of the cos is the real part, and the amplitude of the sin is the inverse of the imaginary part.
- The sinusoid with a phase shift, the sum of cos and sin, and the complex number all serve the same function: describe the underlying signal’s amplitude and phase.
Now that we understand that a complex number is just a fancy way of describing magnitude and phase shift of a sinusoid, let’s look at a simple low pass filter.

The example shows a 100 kΩ resistor, a 1.59µF capacitor and a voltage source that generates a sinusoid with a frequency of 1 Hz. The reactance of a capacitor is 1/(s*C), where s = j*w and w = 2*pi*f. In other words, the reactance of a capacitor is 1/(j*2*pi*f*C). At 1 Hz (f=1) with a capacitor value of 1.59µF (C=1.59*10^-6), the reactance of the capacitor is 1/(j*0.00001), or -100,000j Ω.
The relationship between VOUT and VIN is very similar to a voltage divider: VOUT/VIN = (-100,000j)/(-100,000j+100,000). Simplifying the equation, we get:

So what does this mean? Let’s say VIN = 1; that is to say, VIN is a cos (with no phase shift) with an amplitude of 1. Then VOUT would be 1/2*(1-j). Let’s plot this on the complex plane.

The graph reveals two things:
- At 1 Hz, the output amplitude is about 70% of the input. The graph shows this by the length of the line, which is 0.707 in this case. For example, if the input is a cos with a peak to peak voltage of 2 volts, then the output will be a peak to peak sinusoid with a voltage of 1.414 volts.
- At 1 Hz, the output is lagging behind the input by 45°. The graph shows by having the line be 45° clockwise from the input (remember that the input is a cos, which is 1, which is on the positive real axis).
If we were to put an oscilloscope probe on the output of this circuit, we shouldn’t expect a complex voltage. Instead, we would expect the output to be 70% of the input with a delay of 45° when the input is a sinusoid of 1 Hz. Let’s run the simulation and double check our calculations.

The input signal has a peak to peak voltage of 2 volts, and the output has a peak to peak voltage of 1.41 volts, as we predicted. The maximum of the output occurs 125 ms after the output of the input. Since the sinusoids have a frequency of 1 Hz, which means the period of the sinusoids is 1 second, 125 ms is an eighth of the full period, which corresponds to a phase shift of 360/8, or 45°. As you can see, our calculations match the simulation results.
The signals you compare do not have to be the input and output voltages of the circuit; in fact, they don’t have to be voltages at all. Let’s compare the voltage across the capacitor with the current through the capacitor.
As we discussed, the reactance of the capacitor is -100,000j Ω. Since V = I*Z, if we say I = 1 (again, this means I is a cos with an amplitude of 1), then we see that the voltage across the capacitor is V=1*-100,000j = -100,000j V. This means that the current, which is 1, is on the positive real axis. Meanwhile, the voltage is negative and purely imaginary, which means it points straight down. Since the voltage is 90° clockwise from the current, that means the voltage across the capacitor is 90° behind the current through the capacitor, or 250 ms at 1 Hz. The simulation results below agree with our calculations.

Lastly, let’s compare the voltage across the capacitor with the voltage across the resistor. In this schematic, the current through the resistor and capacitor are the same since those two components are in series. If we say that the current is 1 (as in, it is a cos), then as we already discussed the voltage across the capacitor is -100,000j V. Meanwhile, the voltage across the resistor is V = I*R = 1*100,000 = 100,000 V. If you were to plot this, you would see that the voltage across the resistor, since it is positive and real, points to the right, while the voltage across the capacitor, being negative and imaginary, points down. This means that the voltage across the capacitor is 90° behind the voltage across the resistor (or 250 ms). In addition, since they are equal in magnitude, we should expect voltage sinusoids to be the same amplitude:

This result is consistent not only with our calculations, but also our previous results. Remember that the output of the circuit is equal to the voltage across the capacitor. Meanwhile, the input of the circuit is equal to the voltage across the capacitor plus the voltage across the resistor. Let’s plot that:

As you can see, when I = 1, VOUT points straight down, while VIN is 45° counterclockwise from VOUT; this means that, as we found before, VIN is 45° ahead of VOUT. In addition, when I = 1, VOUT has a magnitude of 100,000, while VIN has a magnitude of sqrt(2)*100,000, which again means that VOUT is about 70% of VIN. Numerically, the results are different from what we found before, but that’s because our assumptions are different as well. When we were looking at VOUT/VIN, we said that VIN was 1 and then calculated for VOUT. Here, however, we assume that I = 1, and calculate VIN and VOUT based off of that. Regardless, the conclusions we can draw, in terms of magnitude and phase relationships between various signals, remains the same.
Plotting signals with respect to a reference on the complex plane shows the magnitudes of the signals, as well as the angles between the signals and the reference. The magnitudes and angles from the graph show what you should expect when you’re measuring the signals in the real world: how much the signals are amplified / attenuated, and how much phase delay / gain the signals experience. Hopefully this post helped you understand that complex numbers, for circuit analysis, is just a convenient way of describing magnitude and phase shifts of signals.