next up previous contents index
Next: Symmetries and Fourier series Up: book Previous: Exercises   Contents   Index


Classical waveforms

Up until now we have primarily taken three approaches to synthesizing repetitive waveforms: additive synthesis (Chapter 1), wavetable synthesis (Chapter 2), and waveshaping (Chapters 5 and 6). This chapter introduces a fourth approach, in which waveforms are built up explicitly from line segments with controllable endpoints. This approach is historically at least as important as the others, and was dominant during the analog synthesizer period, approximately 1965-1985. For lack of a better name, we'll use the term classical waveforms to denote waveforms composed of line segments.

Figure 10.1: Classical waveforms: (a) the sawtooth, (b) the triangle, and (c) the rectangle wave, shown as functions of a continuous variable (not sampled).
\begin{figure}\psfig{file=figs/fig10.01.ps}\end{figure}

They include the sawtooth, triangle, and rectangle waves pictured in Figure 10.1, among many other possibilities. The salient features of classical waveforms are either discontinuous jumps (changes in value) or corners (changes in slope). In the figure, the sawtooth and rectangle waves have jumps (once per cycle for the sawtooth, and twice for the rectangle), and constant slope elsewhere (negative for the sawtooth wave, zero for the rectangle wave). The triangle wave has no discontinuous jumps, but the slope changes discontinuously twice per cycle.

To use classical waveforms effectively, it is useful to understand how the shape of the waveform is reflected in its Fourier series. (To compute these we need background from Chapter 9, which is why this chapter appears here and not earlier.) We will also need strategies for digitally synthesizing classical waveforms. These waveforms prove to be much more susceptible to foldover problems than any we have treated before, so we will have to pay especially close attention to its control.

In general, our strategy for predicting and controlling foldover will be to consider first those sampled waveforms whose period is an integer $N$. Then if we want to obtain a waveform of a non-integral period (call it $\tau$, say) we approximate $\tau$ as a quotient $N/R$ of two integers. Conceptually at least, we can then synthesize the desired waveform with period $N$, and then take only one of each $R$ samples of output. This last, down-sampling step is where the foldover is produced, and careful handling will help us control it.



Subsections
next up previous contents index
Next: Symmetries and Fourier series Up: book Previous: Exercises   Contents   Index
Miller Puckette 2006-12-30