Square wave signals
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.
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.
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
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).
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.
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.
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:
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
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.
|