DSP 101
M11 · L02
Module 11: Multirate Signal Processing

Interpolation (Upsampling)

The dual of decimation: insert samples to increase the rate by L. But you can’t just repeat values — zero-insertion plus an anti-imaging filter is the correct approach.

01 / 11
DSP 101
M11 · L02
Motivation

Why Increase the Rate?

Many systems need more output samples than input samples: DAC oversampling, pulse shaping in 4G/5G, and image super-resolution all rely on interpolation.

DAC
128× oversample → simpler analog filter
LTE
Upsample before RRC pulse shaping
4K
Super-resolution upscales video frames
02 / 11
DSP 101
M11 · L02
Step 1

Insert Zeros

Place L−1 zeros between each input sample. Output rate = Lfs. Why zeros — not repeated values? Zeros give a clean spectrum; repetition introduces severe distortion.

Zero Insertion
v[m]=\begin{cases}x[m/L]&m=0,\pm L,\ldots\\0&\text{otherwise}\end{cases}
03 / 11
DSP 101
M11 · L02
The Problem

Spectral Images

  • Zero insertion compresses spectrum by L in frequency
  • Creates L−1 spectral replicas (images) at 2πk/L
  • Images are artifacts — not real signal content
  • If left unfiltered, they appear as distortion in output
04 / 11
DSP 101
M11 · L02
Step 2

Filter the Images

Apply a lowpass filter with cutoff ωc = π/L and gain L to remove all spectral images and restore the correct amplitude.

Anti-Imaging Cutoff
\omega_c = \dfrac{\pi}{L},\quad \text{gain} = L
05 / 11
DSP 101
Interactive
Try It

Upsampling Visualized

Adjust L. Watch spectral images appear at multiples of 2π/L (red). The anti-imaging filter (dashed) removes all but the central copy.

L4
06 / 11
DSP 101
M11 · L02
Frequency Domain

Spectral Expansion

After filtering, the signal occupies a narrower fraction of the output bandwidth. The passband that filled [0, π] at fs now occupies only [0, π/L] at Lfs.

After Filtering
Y(e^{j\omega})=H(e^{j\omega})\cdot X(e^{jL\omega})
07 / 11
DSP 101
M11 · L02
Efficiency

Polyphase Interpolation

Split the filter into L branches, each operating at the input rate fs. Commutate outputs to produce the high-rate stream. L branches × N/L taps = N multiplies total — same as naive but with no zero multiplications.

Cost
N/L taps per branch × L branches = N total — but at the lower input rate
08 / 11
DSP 101
M11 · L02
Applications

Where It Appears

  • DAC oversampling: 128× upsample → simple analog reconstruction filter
  • Pulse shaping: upsample before RRC filter to minimize inter-symbol interference
  • Audio mastering: 44.1 kHz → 96 kHz before effects processing
  • Image super-resolution: spatial interpolation between pixel samples
09 / 11
DSP 101
Interpolation

Insert zeros, then kill the images

Four checks on upsampling by L: why zeros, the images they create, and the anti-imaging filter.

Question 1 of 0
Score 0/0

10 / 11
DSP 101
Up Next
Coming Up

Sample Rate Conversion

Combine upsample by L and downsample by M to convert between any rational ratio — like 44.1 kHz ↔ 48 kHz — in a single efficient polyphase structure.

11 / 11