Multirate processing
Introduzido| English | Significado |
|---|---|
| decimation | decimação |
| interpolation/ɪnˌtɜːpəˈleɪʃn/ | interpolação |
| polyphase | polifásico |
Sample rate is compute budget
- A filter running at 48 kHz does six times the work of the same filter at 8 kHz.
- Multirate processing does each job at the lowest rate that works.
Decimation: filter first
- Decimation 抽取 by $M$ keeps every $M$th sample. The new Nyquist frequency is $f_{s}/(2M)$.
- Low-pass below $f_{s}/(2M)$ first. Anything above it would fold back into the band, and could never be removed.
48 kHz audio is decimated by 4. Below what frequency must it be low-passed first, in kHz?
Dificuldade 2/5 · Moedas 140 + pequeno bônus na primeira conclusão hoje
The new rate is 12 kHz, so its Nyquist frequency is $48/(2 \times 4) = 6$ kHz.
Aliasing caused by decimating without a filter can be removed afterwards with a better filter.
Dificuldade 1/5 · Moedas 100 + pequeno bônus na primeira conclusão hoje
The folded energy now sits inside the band, mixed with the real signal. Nothing can separate them.
Interpolation: filter after
- Interpolation 插值 by $L$ puts $L - 1$ zeros between samples. That creates copies of the spectrum, called images.
- Low-pass below the old Nyquist frequency afterwards to remove them, with a gain of $L$ to restore the level.

Put the steps of interpolation by L in order.
Dificuldade 3/5 · Moedas 200 + pequeno bônus na primeira conclusão hoje
In practice the gain of L is built into the low-pass filter.
A signal is interpolated by 6. What gain must the image filter have?
Dificuldade 2/5 · Moedas 140 + pequeno bônus na primeira conclusão hoje
The stuffed zeros dilute the level by 6, so the filter multiplies by 6.
Polyphase
- In the interpolation filter, most inputs are the stuffed zeros, so most multiplies are wasted.
- Polyphase 多相分解 splits the filter into $L$ subfilters that each run at the low rate. It is the same arithmetic, exactly, with $1/L$ of the multiplies.
Worked example: 8 kHz to 48 kHz
- Interpolate by 6, then low-pass at 4 kHz to remove the images at 8, 16, 24, 32 and 40 kHz.
- Run naively, the filter works at 48 kHz. As 6 polyphase subfilters at 8 kHz, it needs one sixth of the multiplies for the same output.
An interpolate-by-4 filter is rewritten in polyphase form. What changes?
Dificuldade 1/5 · Moedas 100 + pequeno bônus na primeira conclusão hoje
Polyphase skips the multiplies by stuffed zeros. Nothing else changes.
Worked example: 48 kHz to 72 kHz
- $72/48 = 3/2$: upsample by 3 to 144 kHz, filter once, keep every 2nd sample.
- One low-pass at 24 kHz removes both the images from ↑3 and the aliases from ↓2.
Three common slips
- Decimating before filtering. The aliases become permanent.
- Forgetting the gain. Zero-stuffing divides the level by $L$; the filter must multiply by $L$.
- "Polyphase is an approximation." It is the exact same computation, scheduled better.
Which L/M converts 44.1 kHz to 48 kHz?
Dificuldade 1/5 · Moedas 100 + pequeno bônus na primeira conclusão hoje
48 000/44 100 = 160/147 in lowest terms, so up by 160 and down by 147.
Recap
- ↓$M$: low-pass at $f_{s}/(2M)$ first.
- ↑$L$: low-pass at the old Nyquist after, with gain $L$.
- Polyphase: the same result for $1/L$ of the multiplies.
Match each operation to the filter it needs.
Dificuldade 2/5 · Moedas 140 + pequeno bônus na primeira conclusão hoje
Every rate change needs its low-pass; only the place and cutoff differ.