Digital signal processing

decimation & interpolation

Decimation and interpolation change a signal's sampling rate after it has already been captured — shrinking or stretching the spacing between samples without re-recording. Decimation (downsampling) throws away samples to lower the rate, like keeping every fourth frame of a video to make a smaller file. Interpolation (upsampling) inserts new in-between samples to raise the rate, like an AI 'smoothing' a low-frame video into a fluid one. Together they are the toolkit of multirate signal processing.

Each direction hides a trap that a filter must guard. Before decimating you must low-pass filter, or any frequency content above the new Nyquist limit will fold back as aliasing — irreversible corruption masquerading as real signal. After inserting zeros to upsample, you must low-pass filter again to erase the spectral images those zeros create. This is why a 44.1 kHz CD and a 48 kHz studio file can be converted between each other only through careful filtering, and why oversampling DACs and software-defined radios rely on these operations constantly.

Decimate by M: y[n] = x[nM] (after anti-alias low-pass)

Rational resampling by a factor L/M is done in one elegant stage — upsample by L, filter once, downsample by M — so converting 44.1 kHz to 48 kHz means L/M = 160/147, a single combined filter handling both image rejection and anti-aliasing.

Also called
multirate signal processingdownsamplingupsamplingresampling多速率訊號處理重取樣