next up previous contents index
Next: Resulting spectra Up: Pulse trains Previous: Pulse trains via waveshaping   Contents   Index

Pulse trains via wavetable stretching

In the wavetable formulation, a pulse train can be made by a stretched wavetable:

\begin{displaymath}
{M_a}(\phi) = W (a \phi),
\end{displaymath}

where $-\pi \le \phi \le \pi$ is the phase, i.e., the value $\omega n$ wrapped to lie between $-\pi$ and $\pi $. The function $W$ should be zero at and beyond the points $-\pi$ and $\pi $, and rise to a maximum at 0. A possible choice for the function $W$ is

\begin{displaymath}
W(\phi) = {1\over2} \left ( \cos(\phi) + 1 \right )
\end{displaymath}

which is graphed in part (a) of Figure 6.4. This is known as the Hann window function; it will come up again in Chapter 9.

Figure: Pulse width modulation using the von Hann window function: (a) the function $W(\phi)=(1+\cos(\phi))/2$; (b) the function as a waveform, repeated at a duty cycle of 100% (modulation index $a=1$); (c) the waveform at a 50% duty cycle ($a=2$).
\begin{figure}\psfig{file=figs/fig06.04.ps}\end{figure}

Realizing this as a repeating waveform, we get a succession of (appropriately sampled) copies of the function $W$, whose duty cycle is $1/a$ (parts b and c of the figure). If you don't wish the copies to overlap the index $a$ must be at least 1. If you want to allow overlap the simplest strategy is to duplicate the block diagram (Figure 6.3) out of phase, as described in Section 2.4 and realized in Section 2.6.


next up previous contents index
Next: Resulting spectra Up: Pulse trains Previous: Pulse trains via waveshaping   Contents   Index
Miller Puckette 2006-12-30