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:
![\begin{eqnarray*}
y(n) &=& \hbox{\sc Stretch}_{N,n}(x)\\
&\isdef & \left\{\begin{array}{ll}
x(n/N), & \frac{n}{N}\in{\bf Z} \\ [5pt]
0, & \hbox{otherwise}. \\
\end{array} \right.
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1924.png)
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
)
![\begin{eqnarray*}
Y(z) &=& \frac{1}{2}\left[X\left(W^0_2 z^{1/2}\right) + X\left(W^1_2 z^{1/2}\right)\right] \\ [5pt]
&=& \frac{1}{2}\left[X\left(e^{-j2\pi 0/2} z^{1/2}\right) + X\left(e^{-j2\pi 1/2}z^{1/2}\right)\right] \\ [5pt]
&=& \frac{1}{2}\left[X\left(z^{1/2}\right) + X\left(-z^{1/2}\right)\right] \\ [5pt]
&=& \frac{1}{2}\left[\hbox{\sc Stretch}_2(X) + \hbox{\sc Stretch}_2\left(\hbox{\sc Shift}_\pi(X)\right)\right].
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1936.png)
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



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