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.
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.
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.
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
Filter the Images
Apply a lowpass filter with cutoff ωc = π/L and gain L to remove all spectral images and restore the correct amplitude.
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.
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.
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.
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
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.