Upsampling and Downsampling
For the DTFT, we proved in Chapter 2 (p. p. ) the stretch theorem (repeat theorem) which relates upsampling (``stretch'') to spectral copies (``images'') in the DTFT context; this is the discrete-time counterpart of the scaling theorem for continuous-time Fourier transforms (§B.4). Also, §2.3.12 discusses the downsampling theorem (aliasing theorem) for DTFTs which relates downsampling to aliasing for discrete-time signals. In this section, we review the main results.
Upsampling (Stretch) Operator
Figure 11.1 shows the graphical symbol for a digital upsampler by the factor . To upsample by the integer factor , we simply insert zeros between and for all . In other words, the upsampler implements the stretch operator defined in §2.3.9:
In the frequency domain, we have, by the stretch (repeat) theorem for DTFTs:
Plugging in , we see that the spectrum on contracts by the factor , and images appear around the unit circle. For , this is depicted in Fig.11.2.
Downsampling (Decimation) Operator
Figure 11.3 shows the symbol for downsampling by the factor . The downsampler selects every th sample and discards the rest:
In the frequency domain, we have
Thus, the frequency axis is expanded by the factor , wrapping times around the unit circle, adding to itself times. For , two partial spectra are summed, as indicated in Fig.11.4.
Using the common twiddle factor notation
(12.1) |
the aliasing expression can be written as
Example: Downsampling by 2
For , downsampling by 2 can be expressed as , so that (since )
Example: Upsampling by 2
For
, upsampling (stretching) by 2 can be expressed as
, so that
(12.2) |
as discussed more fully in §2.3.11.
Filtering and Downsampling
Because downsampling by causes aliasing of any frequencies in the original signal above , the input signal may need to be first lowpass-filtered to prevent this aliasing, as shown in Fig.11.5.
Suppose we implement such an anti-aliasing lowpass filter as an FIR filter of length with cut-off frequency .12.1 This is drawn in direct form in Fig.11.6.
We do not need out of every filter output samples due to the : downsampler. To realize this savings, we can commute the downsampler through the adders inside the FIR filter to obtain the result shown in Fig.11.7. The multipliers are now running at times the sampling frequency of the input signal . This reduces the computation requirements by a factor of . The downsampler outputs in Fig.11.7 are called polyphase signals. The overall system is a summed polyphase filter bank in which each ``subphase filter'' is a constant scale factor . As we will see, more general subphase filters can be used to implement time-domain aliasing as needed for Portnoff windows (§9.7).
We may describe the polyphase processing in the anti-aliasing filter of Fig.11.7 as follows:
- Subphase signal 0
(12.3)
is scaled by . - Subphase signal 1
(12.4)
is scaled by , -
- Subphase signal
(12.5) |
which we recognize as a direct-form-convolution implementation of a length FIR filter , with its output downsampled by the factor .
The summed polyphase signals of Fig.11.7 can be interpreted as ``serial to parallel conversion'' from an ``interleaved'' stream of scalar samples to a ``deinterleaved'' sequence of buffers (each length ) every samples, followed by an inner product of each buffer with . The same operation may be visualized as a deinterleaving through variable gains into a running sum, as shown in Fig.11.8.
Next Section:
Polyphase Decomposition
Previous Section:
Pointers to Sound Examples