The ebook FEEE - Fundamentals of Electrical Engineering and Electronics is based on material originally written by T.R. Kuphaldt and various co-authors. For more information please read the copyright pages.  # Square wave signals

Square wave Wave, square

It has been found that any repeating, non-sinusoidal waveform can be equated to a combination of DC voltage, sine waves, and/or cosine waves (sine waves with a 90 degree phase shift) at various amplitudes and frequencies. This is true no matter how strange or convoluted the waveform in question may be. So long as it repeats itself regularly over time, it is reducible to this series of sinusoidal waves. In particular, it has been found that square waves are mathematically equivalent to the sum of a sine wave at that same frequency, plus an infinite series of odd-multiple frequency sine waves at diminishing amplitude: This truth about waveforms at first may seem too strange to believe. However, if a square wave is actually an infinite series of sine wave harmonics added together, it stands to reason that we should be able to prove this by adding together several sine wave harmonics to produce a close approximation of a square wave. This reasoning is not only sound, but easily demonstrated with SPICE.

The circuit we'll be simulating is nothing more than several sine wave AC voltage sources of the proper amplitudes and frequencies connected together in series. We'll use SPICE to plot the voltage waveforms across successive additions of voltage sources, like this: In this particular SPICE simulation, I've summed the 1st, 3rd, 5th, 7th, and 9th harmonic voltage sources in series for a total of five AC voltage sources. The fundamental frequency is 50 Hz and each harmonic is, of course, an integer multiple of that frequency. The amplitude (voltage) figures are not random numbers; rather, they have been arrived at through the equations shown in the frequency series (the fraction 4/π multiplied by 1, 1/3, 1/5, 1/7, etc. for each of the increasing odd harmonics).

```building a squarewave
v1 1 0 sin (0 1.27324 50 0 0)       1st harmonic (50 Hz)
v3 2 1 sin (0 424.413m 150 0 0)     3rd harmonic
v5 3 2 sin (0 254.648m 250 0 0)     5th harmonic
v7 4 3 sin (0 181.891m 350 0 0)     7th harmonic
v9 5 4 sin (0 141.471m 450 0 0)     9th harmonic
r1 5 0 10k
.tran 1m 20m
.plot tran v(1,0)    Plot 1st harmonic
.plot tran v(2,0)    Plot 1st + 3rd harmonics
.plot tran v(3,0)    Plot 1st + 3rd + 5th harmonics
.plot tran v(4,0)    Plot 1st + 3rd + 5th + 7th harmonics
.plot tran v(5,0)    Plot 1st + . . . + 9th harmonics
.end
```

I'll narrate the analysis step by step from here, explaining what it is we're looking at. In this first plot, we see the fundamental-frequency sine-wave of 50 Hz by itself. It is nothing but a pure sine shape, with no additional harmonic content. This is the kind of waveform produced by an ideal AC power source:

time v(1) -1.000E+00 0.000E+00 1.000E+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 0.000E+00 . . * . . 1.000E-03 3.915E-01 . . . * . . 2.000E-03 7.414E-01 . . . * . . 3.000E-03 1.020E+00 . . . * . 4.000E-03 1.199E+00 . . . . * . 5.000E-03 1.261E+00 . . . . * . 6.000E-03 1.199E+00 . . . . * . 7.000E-03 1.020E+00 . . . * . 8.000E-03 7.405E-01 . . . * . . 9.000E-03 3.890E-01 . . . * . . 1.000E-02 -5.819E-04 . . * . . 1.100E-02 -3.901E-01 . . * . . . 1.200E-02 -7.414E-01 . . * . . . 1.300E-02 -1.020E+00 . * . . . 1.400E-02 -1.199E+00 . * . . . . 1.500E-02 -1.261E+00 . * . . . . 1.600E-02 -1.199E+00 . * . . . . 1.700E-02 -1.020E+00 . * . . . 1.800E-02 -7.405E-01 . . * . . . 1.900E-02 -3.890E-01 . . * . . . 2.000E-02 5.819E-04 . . * . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Next, we see what happens when this clean and simple waveform is combined with the third harmonic (three times 50 Hz, or 150 Hz). Suddenly, it doesn't look like a clean sine wave any more:

time v(2) -1.000E+00 0.000E+00 1.000E+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 0.000E+00 . . * . . 1.000E-03 7.199E-01 . . . * . . 2.000E-03 1.108E+00 . . . . * . 3.000E-03 1.135E+00 . . . . * . 4.000E-03 9.672E-01 . . . * . 5.000E-03 8.731E-01 . . . * . . 6.000E-03 9.751E-01 . . . * . 7.000E-03 1.144E+00 . . . . * . 8.000E-03 1.111E+00 . . . . * . 9.000E-03 6.995E-01 . . . * . . 1.000E-02 -5.697E-03 . . * . . 1.100E-02 -7.066E-01 . . * . . . 1.200E-02 -1.108E+00 . * . . . . 1.300E-02 -1.135E+00 . * . . . . 1.400E-02 -9.672E-01 . * . . . 1.500E-02 -8.731E-01 . . * . . . 1.600E-02 -9.751E-01 . * . . . 1.700E-02 -1.144E+00 . * . . . . 1.800E-02 -1.111E+00 . * . . . . 1.900E-02 -6.995E-01 . . * . . . 2.000E-02 5.697E-03 . . * . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The rise and fall times between positive and negative cycles are much steeper now, and the crests of the wave are closer to becoming flat like a squarewave. Watch what happens as we add the next odd harmonic frequency:

time v(3) time v(3) -1.000E+00 0.000E+00 1.000E+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 0.000E+00 . . * . . 1.000E-03 9.436E-01 . . . *. . 2.000E-03 1.095E+00 . . . .* . 3.000E-03 9.388E-01 . . . *. . 4.000E-03 9.807E-01 . . . * . 5.000E-03 1.069E+00 . . . .* . 6.000E-03 9.616E-01 . . . *. . 7.000E-03 9.479E-01 . . . *. . 8.000E-03 1.124E+00 . . . . * . 9.000E-03 8.957E-01 . . . *. . 1.000E-02 -1.925E-02 . . * . . 1.100E-02 -9.029E-01 . .* . . . 1.200E-02 -1.095E+00 . *. . . . 1.300E-02 -9.388E-01 . .* . . . 1.400E-02 -9.807E-01 . * . . . 1.500E-02 -1.069E+00 . *. . . . 1.600E-02 -9.616E-01 . .* . . . 1.700E-02 -9.479E-01 . .* . . . 1.800E-02 -1.124E+00 . * . . . . 1.900E-02 -8.957E-01 . .* . . . 2.000E-02 1.925E-02 . . * . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The most noticeable change here is how the crests of the wave have flattened even more. There are more several dips and crests at each end of the wave, but those dips and crests are smaller in amplitude than they were before. Watch again as we add the next odd harmonic waveform to the mix:

time v(4) -1.000E+00 0.000E+00 1.000E+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 0.000E+00 . . * . . 1.000E-03 1.055E+00 . . . .* . 2.000E-03 9.861E-01 . . . * . 3.000E-03 9.952E-01 . . . * . 4.000E-03 1.023E+00 . . . * . 5.000E-03 9.631E-01 . . . *. . 6.000E-03 1.044E+00 . . . .* . 7.000E-03 9.572E-01 . . . *. . 8.000E-03 1.031E+00 . . . * . 9.000E-03 9.962E-01 . . . * . 1.000E-02 -4.396E-02 . . *. . . 1.100E-02 -9.743E-01 . * . . . 1.200E-02 -9.861E-01 . * . . . 1.300E-02 -9.952E-01 . * . . . 1.400E-02 -1.023E+00 . * . . . 1.500E-02 -9.631E-01 . .* . . . 1.600E-02 -1.044E+00 . *. . . . 1.700E-02 -9.572E-01 . .* . . . 1.800E-02 -1.031E+00 . * . . . 1.900E-02 -9.962E-01 . * . . . 2.000E-02 4.396E-02 . . .* . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Here we can see the wave becoming flatter at each peak. Finally, adding the 9th harmonic, the fifth sine wave voltage source in our circuit, we obtain this result:

time v(5) -1.000E+00 0.000E+00 1.000E+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 0.000E+00 . . * . . 1.000E-03 1.079E+00 . . . .* . 2.000E-03 9.845E-01 . . . * . 3.000E-03 1.017E+00 . . . * . 4.000E-03 9.835E-01 . . . * . 5.000E-03 1.017E+00 . . . * . 6.000E-03 9.814E-01 . . . * . 7.000E-03 1.023E+00 . . . * . 8.000E-03 9.691E-01 . . . * . 9.000E-03 1.048E+00 . . . .* . 1.000E-02 -8.103E-02 . . *. . . 1.100E-02 -9.557E-01 . .* . . . 1.200E-02 -9.845E-01 . * . . . 1.300E-02 -1.017E+00 . * . . . 1.400E-02 -9.835E-01 . * . . . 1.500E-02 -1.017E+00 . * . . . 1.600E-02 -9.814E-01 . * . . . 1.700E-02 -1.023E+00 . * . . . 1.800E-02 -9.691E-01 . * . . . 1.900E-02 -1.048E+00 . *. . . . 2.000E-02 8.103E-02 . . .* . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The end result of adding the first five odd harmonic waveforms together (all at the proper amplitudes, of course) is a close approximation of a square wave. The point in doing this is to illustrate how we can build a square wave up from multiple sine waves at different frequencies, to prove that a pure square wave is actually equivalent to a series of sine waves. When a square wave AC voltage is applied to a circuit with reactive components (capacitors and inductors), those components react as if they were being exposed to several sine wave voltages of different frequencies, which in fact they are.

Fourier analysis Analysis, Fourier

The fact that repeating, non-sinusoidal waves are equivalent to a definite series of additive DC voltage, sine waves, and/or cosine waves is a consequence of how waves work: a fundamental property of all wave-related phenomena, electrical or otherwise. The mathematical process of reducing a non-sinusoidal wave into these constituent frequencies is called Fourier analysis, the details of which are well beyond the scope of this text. However, computer algorithms have been created to perform this analysis at high speeds on real waveforms, and its application in AC power quality and signal analysis is widespread.

Fourier Transform Transform, Fourier

SPICE has the ability to sample a waveform and reduce it into its constituent sine wave harmonics by way of a Fourier Transform algorithm, outputting the frequency analysis as a table of numbers. Let's try this on a square wave, which we already know is composed of odd-harmonic sine waves:

```squarewave analysis netlist
v1 1 0 pulse (-1 1 0 .1m .1m 10m 20m)
r1 1 0 10k
.tran 1m 40m
.plot tran v(1,0)
.four 50 v(1,0)
.end
```

The pulse option in the netlist line describing voltage source v1 instructs SPICE to simulate a square-shaped "pulse" waveform, in this case one that is symmetrical (equal time for each half-cycle) and has a peak amplitude of 1 volt. First we'll plot the square wave to be analyzed:

time v(1) -1 -0.5 0 0.5 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.000E+00 -1.000E+00 * . . . . 1.000E-03 1.000E+00 . . . . * 2.000E-03 1.000E+00 . . . . * 3.000E-03 1.000E+00 . . . . * 4.000E-03 1.000E+00 . . . . * 5.000E-03 1.000E+00 . . . . * 6.000E-03 1.000E+00 . . . . * 7.000E-03 1.000E+00 . . . . * 8.000E-03 1.000E+00 . . . . * 9.000E-03 1.000E+00 . . . . * 1.000E-02 1.000E+00 . . . . * 1.100E-02 -1.000E+00 * . . . . 1.200E-02 -1.000E+00 * . . . . 1.300E-02 -1.000E+00 * . . . . 1.400E-02 -1.000E+00 * . . . . 1.500E-02 -1.000E+00 * . . . . 1.600E-02 -1.000E+00 * . . . . 1.700E-02 -1.000E+00 * . . . . 1.800E-02 -1.000E+00 * . . . . 1.900E-02 -1.000E+00 * . . . . 2.000E-02 -1.000E+00 * . . . . 2.100E-02 1.000E+00 . . . . * 2.200E-02 1.000E+00 . . . . * 2.300E-02 1.000E+00 . . . . * 2.400E-02 1.000E+00 . . . . * 2.500E-02 1.000E+00 . . . . * 2.600E-02 1.000E+00 . . . . * 2.700E-02 1.000E+00 . . . . * 2.800E-02 1.000E+00 . . . . * 2.900E-02 1.000E+00 . . . . * 3.000E-02 1.000E+00 . . . . * 3.100E-02 -1.000E+00 * . . . . 3.200E-02 -1.000E+00 * . . . . 3.300E-02 -1.000E+00 * . . . . 3.400E-02 -1.000E+00 * . . . . 3.500E-02 -1.000E+00 * . . . . 3.600E-02 -1.000E+00 * . . . . 3.700E-02 -1.000E+00 * . . . . 3.800E-02 -1.000E+00 * . . . . 3.900E-02 -1.000E+00 * . . . . 4.000E-02 -1.000E+00 * . . . . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Next, we'll print the Fourier analysis generated by SPICE for this square wave:

```fourier components of transient response v(1)
dc component =  -2.439E-02
harmonic  frequency   fourier     normalized   phase   normalized
no          (hz)     component    component    (deg)   phase (deg)
1         5.000E+01   1.274E+00     1.000000    -2.195       0.000
2         1.000E+02   4.892E-02     0.038415   -94.390     -92.195
3         1.500E+02   4.253E-01     0.333987    -6.585      -4.390
4         2.000E+02   4.936E-02     0.038757   -98.780     -96.585
5         2.500E+02   2.562E-01     0.201179   -10.976      -8.780
6         3.000E+02   5.010E-02     0.039337  -103.171    -100.976
7         3.500E+02   1.841E-01     0.144549   -15.366     -13.171
8         4.000E+02   5.116E-02     0.040175  -107.561    -105.366
9         4.500E+02   1.443E-01     0.113316   -19.756     -17.561
total harmonic distortion =     43.805747  percent
``` fourier

Above plot produced with gnuplot...comands follow Extract the fourier 9 lines, 6 columns of data. Insert a line of five zeros at the top of the data file and save it as fourier.dat. It now has ten lines gnuplot set size 0.6,0.6 set xlabel "harmonic number" set ylabel "Relative Amplitude" plot "fourier.dat" using 0:3 with impulses set terminal postscript eps color dashed "Helvetica" 18 set output "fourier.eps" plot "fourier.dat" using 0:3 with impulses linewidth 30 from a command prompt on another screen display fourier.eps

Here, SPICE has broken the waveform down into a spectrum of sinusoidal frequencies up to the ninth harmonic, plus a small DC voltage labelled DC component. I had to inform SPICE of the fundamental frequency (for a square wave with a 20 millisecond period, this frequency is 50 Hz), so it knew how to classify the harmonics. Note how small the figures are for all the even harmonics (2nd, 4th, 6th, 8th), and how the amplitudes of the odd harmonics diminish (1st is largest, 9th is smallest).

Fast Fourier Transform FFT

This same technique of "Fourier Transformation" is often used in computerized power instrumentation, sampling the AC waveform(s) and determining the harmonic content thereof. A common computer algorithm (sequence of program steps to perform a task) for this is the Fast Fourier Transform or FFT function. You need not be concerned with exactly how these computer routines work, but be aware of their existence and application.

Graphic equalizer Equalizer, graphic

This same mathematical technique used in SPICE to analyze the harmonic content of waves can be applied to the technical analysis of music: breaking up any particular sound into its constituent sine-wave frequencies. In fact, you may have already seen a device designed to do just that without realizing what it was! A graphic equalizer is a piece of high-fidelity stereo equipment that controls (and sometimes displays) the nature of music's harmonic content. Equipped with several knobs or slide levers, the equalizer is able to selectively attenuate (reduce) the amplitude of certain frequencies present in music, to "customize" the sound for the listener's benefit. Typically, there will be a "bar graph" display next to each control lever, displaying the amplitude of each particular frequency. Spectrum analyzer Analyzer, spectrum

A device built strictly to display -- not control -- the amplitudes of each frequency range for a mixed-frequency signal is typically called a spectrum analyzer. The design of spectrum analyzers may be as simple as a set of "filter" circuits (see the next chapter for details) designed to separate the different frequencies from each other, or as complex as a special-purpose digital computer running an FFT algorithm to mathematically split the signal into its harmonic components. Spectrum analyzers are often designed to analyze extremely high-frequency signals, such as those produced by radio transmitters and computer network hardware. In that form, they often have an appearance like that of an oscilloscope: Domain, time Domain, frequency Analysis, frequency domain Analysis, time domain Bode plot

Like an oscilloscope, the spectrum analyzer uses a CRT (or a computer display mimicking a CRT) to display a plot of the signal. Unlike an oscilloscope, this plot is amplitude over frequency rather than amplitude over time. In essence, a frequency analyzer gives the operator a Bode plot of the signal: something an engineer might call a frequency-domain rather than a time-domain analysis.

The term "domain" is mathematical: a sophisticated word to describe the horizontal axis of a graph. Thus, an oscilloscope's plot of amplitude (vertical) over time (horizontal) is a "time-domain" analysis, whereas a spectrum analyzer's plot of amplitude (vertical) over frequency (horizontal) is a "frequency-domain" analysis. When we use SPICE to plot signal amplitude (either voltage or current amplitude) over a range of frequencies, we are performing frequency-domain analysis.

Please take note of how the Fourier analysis from the last SPICE simulation isn't "perfect." Ideally, the amplitudes of all the even harmonics should be absolutely zero, and so should the DC component. Again, this is not so much a quirk of SPICE as it is a property of waveforms in general. A waveform of infinite duration (infinite number of cycles) can be analyzed with absolute precision, but the less cycles available to the computer for analysis, the less precise the analysis. It is only when we have an equation describing a waveform in its entirety that Fourier analysis can reduce it to a definite series of sinusoidal waveforms. The fewer times that a wave cycles, the less certain its frequency is. Taking this concept to its logical extreme, a short pulse -- a waveform that doesn't even complete a cycle -- actually has no frequency, but rather acts as an infinite range of frequencies. This principle is common to all wave-based phenomena, not just AC voltages and currents.

Suffice it to say that the number of cycles and the certainty of a waveform's frequency component(s) are directly related. We could improve the precision of our analysis here by letting the wave oscillate on and on for many cycles, and the result would be a spectrum analysis more consistent with the ideal. In the following analysis, I've omitted the waveform plot for brevity's sake -- it's just a really long square wave:

```squarewave
v1 1 0 pulse (-1 1 0 .1m .1m 10m 20m)
r1 1 0 10k
.option limpts=1001
.tran 1m 1
.plot tran v(1,0)
.four 50 v(1,0)
.end

fourier components of transient response v(1)
dc component =   9.999E-03
harmonic  frequency    fourier    normalized   phase   normalized
no           (hz)     component   component    (deg)   phase (deg)
1         5.000E+01   1.273E+00     1.000000    -1.800       0.000
2         1.000E+02   1.999E-02     0.015704    86.382      88.182
3         1.500E+02   4.238E-01     0.332897    -5.400      -3.600
4         2.000E+02   1.997E-02     0.015688    82.764      84.564
5         2.500E+02   2.536E-01     0.199215    -9.000      -7.200
6         3.000E+02   1.994E-02     0.015663    79.146      80.946
7         3.500E+02   1.804E-01     0.141737   -12.600     -10.800
8         4.000E+02   1.989E-02     0.015627    75.529      77.329
9         4.500E+02   1.396E-01     0.109662   -16.199     -14.399
``` fourier

Notice how this analysis shows less of a DC component voltage and lower amplitudes for each of the even harmonic frequency sine waves, all because we let the computer sample more cycles of the wave. Again, the imprecision of the first analysis is not so much a flaw in SPICE as it is a fundamental property of waves and of signal analysis.

 Review Square waves are equivalent to a sine wave at the same (fundamental) frequency added to an infinite series of odd-multiple sine-wave harmonics at decreasing amplitudes. Computer algorithms exist which are able to sample waveshapes and determine their constituent sinusoidal components. The Fourier Transform algorithm (particularly the Fast Fourier Transform, or FFT) is commonly used in computer circuit simulation programs such as SPICE and in electronic metering equipment for determining power quality.

Last Update: 2010-12-01