404 lines
12 KiB
HTML
404 lines
12 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
|
|
||
|
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
|
||
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
||
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||
|
* with significant contributions from:
|
||
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<TITLE>Dissecting classical waveforms</TITLE>
|
||
|
<META NAME="description" CONTENT="Dissecting classical waveforms">
|
||
|
<META NAME="keywords" CONTENT="book">
|
||
|
<META NAME="resource-type" CONTENT="document">
|
||
|
<META NAME="distribution" CONTENT="global">
|
||
|
|
||
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
|
||
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||
|
|
||
|
<LINK REL="STYLESHEET" HREF="book.css">
|
||
|
|
||
|
<LINK REL="next" HREF="node188.html">
|
||
|
<LINK REL="previous" HREF="node185.html">
|
||
|
<LINK REL="up" HREF="node184.html">
|
||
|
<LINK REL="next" HREF="node188.html">
|
||
|
</HEAD>
|
||
|
|
||
|
<BODY >
|
||
|
<!--Navigation Panel-->
|
||
|
<A NAME="tex2html3368"
|
||
|
HREF="node188.html">
|
||
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/next.png"></A>
|
||
|
<A NAME="tex2html3362"
|
||
|
HREF="node184.html">
|
||
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/up.png"></A>
|
||
|
<A NAME="tex2html3356"
|
||
|
HREF="node186.html">
|
||
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/prev.png"></A>
|
||
|
<A NAME="tex2html3364"
|
||
|
HREF="node4.html">
|
||
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/contents.png"></A>
|
||
|
<A NAME="tex2html3366"
|
||
|
HREF="node201.html">
|
||
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/index.png"></A>
|
||
|
<BR>
|
||
|
<B> Next:</B> <A NAME="tex2html3369"
|
||
|
HREF="node188.html">Fourier series of the</A>
|
||
|
<B> Up:</B> <A NAME="tex2html3363"
|
||
|
HREF="node184.html">Classical waveforms</A>
|
||
|
<B> Previous:</B> <A NAME="tex2html3357"
|
||
|
HREF="node186.html">Sawtooth waves and symmetry</A>
|
||
|
<B> <A NAME="tex2html3365"
|
||
|
HREF="node4.html">Contents</A></B>
|
||
|
<B> <A NAME="tex2html3367"
|
||
|
HREF="node201.html">Index</A></B>
|
||
|
<BR>
|
||
|
<BR>
|
||
|
<!--End of Navigation Panel-->
|
||
|
|
||
|
<H1><A NAME="SECTION001420000000000000000">
|
||
|
Dissecting classical waveforms</A>
|
||
|
</H1>
|
||
|
|
||
|
<P>
|
||
|
Among the several conclusions we can draw from the even/odd harmonic
|
||
|
decomposition of the sawtooth wave (Figure <A HREF="node186.html#fig10.02">10.2</A>), one is that a
|
||
|
square wave can be decomposed into a linear combination of two sawtooth
|
||
|
waves. We can carry this idea further, and show how to compose any classical
|
||
|
waveform having only jumps (discontinuities in value) but no corners
|
||
|
(discontinuities in slope) as a sum of sawtooth waves of various phases and
|
||
|
amplitudes. We then develop the idea further, showing how to generate waveforms
|
||
|
with corners (either in addition to, or instead of, jumps) using
|
||
|
another elementary waveform we'll call the
|
||
|
<A NAME="14273"></A><I>parabolic wave</I>.
|
||
|
|
||
|
<P>
|
||
|
Suppose first that a waveform of period <IMG
|
||
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img3.png"
|
||
|
ALT="$N$"> has discontinuities at <IMG
|
||
|
WIDTH="10" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img769.png"
|
||
|
ALT="$j$">
|
||
|
different points, <!-- MATH
|
||
|
${L_1}, \ldots, {L_j}$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="74" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1278.png"
|
||
|
ALT="${L_1}, \ldots, {L_j}$">, all lying on the cycle between 0 and
|
||
|
<IMG
|
||
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img3.png"
|
||
|
ALT="$N$">, at which the waveform jumps by values <!-- MATH
|
||
|
${d_1}, \ldots, {d_j}$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="69" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1279.png"
|
||
|
ALT="${d_1}, \ldots, {d_j}$">. A negative
|
||
|
value of <IMG
|
||
|
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1280.png"
|
||
|
ALT="$d_1$">, for instance, would mean that the waveform jumps from a higher
|
||
|
to a lower value at the point <IMG
|
||
|
WIDTH="21" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1281.png"
|
||
|
ALT="${L_1}$">, and a positive value of <IMG
|
||
|
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1280.png"
|
||
|
ALT="$d_1$"> would mean
|
||
|
a jump from a lower to a higher value.
|
||
|
|
||
|
<P>
|
||
|
|
||
|
<DIV ALIGN="CENTER"><A NAME="fig10.03"></A><A NAME="14282"></A>
|
||
|
<TABLE>
|
||
|
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10.3:</STRONG>
|
||
|
Dissecting a waveform: (a) the original waveform with two
|
||
|
discontinuities; (b and c) the two component sawtooth waves.</CAPTION>
|
||
|
<TR><TD><IMG
|
||
|
WIDTH="479" HEIGHT="293" BORDER="0"
|
||
|
SRC="img1282.png"
|
||
|
ALT="\begin{figure}\psfig{file=figs/fig10.03.ps}\end{figure}"></TD></TR>
|
||
|
</TABLE>
|
||
|
</DIV>
|
||
|
|
||
|
<P>
|
||
|
For instance, Figure <A HREF="#fig10.03">10.3</A> (part a) shows a classical waveform with
|
||
|
two jumps: <!-- MATH
|
||
|
$({L_1}, {d_1}) = (0.3N, -0.3)$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="163" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1283.png"
|
||
|
ALT="$({L_1}, {d_1}) = (0.3N, -0.3)$"> and <!-- MATH
|
||
|
$({L_2}, {d_2}) = (0.6N, 1.3)$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="151" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1284.png"
|
||
|
ALT="$({L_2}, {d_2}) = (0.6N, 1.3)$">.
|
||
|
Parts (b) and (c) show sawtooth waves, each with one of the two jumps. The
|
||
|
sum of the two sawtooth waves reconstructs the waveform of part (a), except for
|
||
|
a possible constant (DC) offset.
|
||
|
|
||
|
<P>
|
||
|
The sawtooth wave with a jump of one unit at the point zero is given by
|
||
|
<BR><P></P>
|
||
|
<DIV ALIGN="CENTER">
|
||
|
<!-- MATH
|
||
|
\begin{displaymath}
|
||
|
s[n] = n/N - 1/2
|
||
|
\end{displaymath}
|
||
|
-->
|
||
|
|
||
|
<IMG
|
||
|
WIDTH="121" HEIGHT="28" BORDER="0"
|
||
|
SRC="img1285.png"
|
||
|
ALT="\begin{displaymath}
|
||
|
s[n] = n/N - 1/2
|
||
|
\end{displaymath}">
|
||
|
</DIV>
|
||
|
<BR CLEAR="ALL">
|
||
|
<P></P>
|
||
|
over the period <!-- MATH
|
||
|
$0 \le n \le N-1$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="105" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1286.png"
|
||
|
ALT="$0 \le n \le N-1$">, and repeats for other values of
|
||
|
<IMG
|
||
|
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img75.png"
|
||
|
ALT="$n$">. A sawtooth wave with a jump <IMG
|
||
|
WIDTH="42" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1287.png"
|
||
|
ALT="$(L, d)$"> is given by <!-- MATH
|
||
|
$s'[n] = d s[n-L]$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="119" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1288.png"
|
||
|
ALT="$s'[n] = d s[n-L]$">.
|
||
|
The sum of all the component sawtooth waves is:
|
||
|
<BR><P></P>
|
||
|
<DIV ALIGN="CENTER">
|
||
|
<!-- MATH
|
||
|
\begin{displaymath}
|
||
|
x[n] = {d_1} s[n - {L_1}] + \cdots + {d_j} s[n - {L_j}]
|
||
|
\end{displaymath}
|
||
|
-->
|
||
|
|
||
|
<IMG
|
||
|
WIDTH="260" HEIGHT="29" BORDER="0"
|
||
|
SRC="img1289.png"
|
||
|
ALT="\begin{displaymath}
|
||
|
x[n] = {d_1} s[n - {L_1}] + \cdots + {d_j} s[n - {L_j}]
|
||
|
\end{displaymath}">
|
||
|
</DIV>
|
||
|
<BR CLEAR="ALL">
|
||
|
<P></P>
|
||
|
|
||
|
<P>
|
||
|
The slopes of the segments of the waveform of part (a) of the figure are all
|
||
|
the same, equal to the sum of the slopes of the component sawtooth waves:
|
||
|
<BR><P></P>
|
||
|
<DIV ALIGN="CENTER">
|
||
|
<!-- MATH
|
||
|
\begin{displaymath}
|
||
|
-{{{d_1} + \cdots + {d_j}} \over {N}}
|
||
|
\end{displaymath}
|
||
|
-->
|
||
|
|
||
|
<IMG
|
||
|
WIDTH="101" HEIGHT="39" BORDER="0"
|
||
|
SRC="img1290.png"
|
||
|
ALT="\begin{displaymath}
|
||
|
-{{{d_1} + \cdots + {d_j}} \over {N}}
|
||
|
\end{displaymath}">
|
||
|
</DIV>
|
||
|
<BR CLEAR="ALL">
|
||
|
<P></P>
|
||
|
Square and rectangle waves have horizontal line segments (slope zero); for
|
||
|
this to happen in general the jumps must add to zero:
|
||
|
<!-- MATH
|
||
|
${d_1} + \cdots + {d_j} = 0$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="120" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1291.png"
|
||
|
ALT="${d_1} + \cdots + {d_j} = 0$">.
|
||
|
|
||
|
<P>
|
||
|
|
||
|
<DIV ALIGN="CENTER"><A NAME="fig10.04"></A><A NAME="14301"></A>
|
||
|
<TABLE>
|
||
|
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10.4:</STRONG>
|
||
|
The parabolic wave.</CAPTION>
|
||
|
<TR><TD><IMG
|
||
|
WIDTH="480" HEIGHT="109" BORDER="0"
|
||
|
SRC="img1292.png"
|
||
|
ALT="\begin{figure}\psfig{file=figs/fig10.04.ps}\end{figure}"></TD></TR>
|
||
|
</TABLE>
|
||
|
</DIV>
|
||
|
|
||
|
<P>
|
||
|
To decompose classical waveforms with corners we use the parabolic wave, which,
|
||
|
over a single period from 0 to <IMG
|
||
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img3.png"
|
||
|
ALT="$N$">, is equal to
|
||
|
<BR><P></P>
|
||
|
<DIV ALIGN="CENTER">
|
||
|
<!-- MATH
|
||
|
\begin{displaymath}
|
||
|
p[n] = {1 \over 2} {{({n\over N} - {1\over 2})}^2} - {1 \over {24}}
|
||
|
\end{displaymath}
|
||
|
-->
|
||
|
|
||
|
<IMG
|
||
|
WIDTH="167" HEIGHT="42" BORDER="0"
|
||
|
SRC="img1293.png"
|
||
|
ALT="\begin{displaymath}
|
||
|
p[n] = {1 \over 2} {{({n\over N} - {1\over 2})}^2} - {1 \over {24}}
|
||
|
\end{displaymath}">
|
||
|
</DIV>
|
||
|
<BR CLEAR="ALL">
|
||
|
<P></P>
|
||
|
as shown in Figure <A HREF="#fig10.04">10.4</A>. It is a second-degree (quadratic) polynomial
|
||
|
in the variable <IMG
|
||
|
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img75.png"
|
||
|
ALT="$n$">, arranged so that it reaches a maximum halfway through the
|
||
|
cycle at <IMG
|
||
|
WIDTH="63" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1246.png"
|
||
|
ALT="$n=N/2$">, the DC component is zero (or in other words, the average
|
||
|
value over one cycle of the waveform is zero), and so that the slope changes
|
||
|
discontinuously by <IMG
|
||
|
WIDTH="45" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1294.png"
|
||
|
ALT="$-1/N$"> at the beginning of the cycle.
|
||
|
|
||
|
<P>
|
||
|
To construct a waveform with any desired number of corners (suppose they are
|
||
|
at the points <!-- MATH
|
||
|
${M_i}, \ldots, {M_l}$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="79" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1295.png"
|
||
|
ALT="${M_i}, \ldots, {M_l}$">, with slope changes equal to
|
||
|
<!-- MATH
|
||
|
${c_1}, \ldots, {c_l}$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="64" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1296.png"
|
||
|
ALT="${c_1}, \ldots, {c_l}$">), we sum up the necessary parabolic waves:
|
||
|
<BR><P></P>
|
||
|
<DIV ALIGN="CENTER">
|
||
|
<!-- MATH
|
||
|
\begin{displaymath}
|
||
|
x[n] = {-N c_1} p[n - {M_1}] - \cdots - {N c_l} p[n - {M_l}]
|
||
|
\end{displaymath}
|
||
|
-->
|
||
|
|
||
|
<IMG
|
||
|
WIDTH="305" HEIGHT="28" BORDER="0"
|
||
|
SRC="img1297.png"
|
||
|
ALT="\begin{displaymath}
|
||
|
x[n] = {-N c_1} p[n - {M_1}] - \cdots - {N c_l} p[n - {M_l}]
|
||
|
\end{displaymath}">
|
||
|
</DIV>
|
||
|
<BR CLEAR="ALL">
|
||
|
<P></P>
|
||
|
An example is shown graphically in Figure <A HREF="#fig10.05">10.5</A>.
|
||
|
|
||
|
<P>
|
||
|
|
||
|
<DIV ALIGN="CENTER"><A NAME="fig10.05"></A><A NAME="14320"></A>
|
||
|
<TABLE>
|
||
|
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10.5:</STRONG>
|
||
|
Decomposing a triangle wave (part a) into two parabolic waves
|
||
|
(b and c).</CAPTION>
|
||
|
<TR><TD><IMG
|
||
|
WIDTH="479" HEIGHT="271" BORDER="0"
|
||
|
SRC="img1298.png"
|
||
|
ALT="\begin{figure}\psfig{file=figs/fig10.05.ps}\end{figure}"></TD></TR>
|
||
|
</TABLE>
|
||
|
</DIV>
|
||
|
|
||
|
<P>
|
||
|
If the sum <IMG
|
||
|
WIDTH="31" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img80.png"
|
||
|
ALT="$x[n]$"> is to contain line segments (not segments of curves), the
|
||
|
<IMG
|
||
|
WIDTH="20" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||
|
SRC="img1299.png"
|
||
|
ALT="$n^2$"> terms in the sum must sum to zero. From the expansion of <IMG
|
||
|
WIDTH="31" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img80.png"
|
||
|
ALT="$x[n]$"> above,
|
||
|
this implies that <!-- MATH
|
||
|
${c_1} + \cdots + {c_l} = 0$
|
||
|
-->
|
||
|
<IMG
|
||
|
WIDTH="115" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||
|
SRC="img1300.png"
|
||
|
ALT="${c_1} + \cdots + {c_l} = 0$">. Sums obtained from
|
||
|
existing classical
|
||
|
waveforms (as in the figure) will always satisfy this condition because the
|
||
|
changes in slope, over a cycle, must all add to zero for the waveform to
|
||
|
connect with itself.
|
||
|
|
||
|
<P>
|
||
|
<HR>
|
||
|
<!--Navigation Panel-->
|
||
|
<A NAME="tex2html3368"
|
||
|
HREF="node188.html">
|
||
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/next.png"></A>
|
||
|
<A NAME="tex2html3362"
|
||
|
HREF="node184.html">
|
||
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/up.png"></A>
|
||
|
<A NAME="tex2html3356"
|
||
|
HREF="node186.html">
|
||
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/prev.png"></A>
|
||
|
<A NAME="tex2html3364"
|
||
|
HREF="node4.html">
|
||
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/contents.png"></A>
|
||
|
<A NAME="tex2html3366"
|
||
|
HREF="node201.html">
|
||
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
||
|
SRC="file:/usr/local/share/lib/latex2html/icons/index.png"></A>
|
||
|
<BR>
|
||
|
<B> Next:</B> <A NAME="tex2html3369"
|
||
|
HREF="node188.html">Fourier series of the</A>
|
||
|
<B> Up:</B> <A NAME="tex2html3363"
|
||
|
HREF="node184.html">Classical waveforms</A>
|
||
|
<B> Previous:</B> <A NAME="tex2html3357"
|
||
|
HREF="node186.html">Sawtooth waves and symmetry</A>
|
||
|
<B> <A NAME="tex2html3365"
|
||
|
HREF="node4.html">Contents</A></B>
|
||
|
<B> <A NAME="tex2html3367"
|
||
|
HREF="node201.html">Index</A></B>
|
||
|
<!--End of Navigation Panel-->
|
||
|
<ADDRESS>
|
||
|
Miller Puckette
|
||
|
2006-12-30
|
||
|
</ADDRESS>
|
||
|
</BODY>
|
||
|
</HTML>
|