IIR filter design
Đã giới thiệu| English | Ý nghĩa |
|---|---|
| IIR | PHẢN HỒI VÔ HẠN |
| bilinear transform | BIẾN ĐỔI HAI Tuyến tính |
| prewarp | prewarp |
Analog lore, one substitution
- An IIR filter inherits analog tables through one substitution. The bilinear transform $s = \frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}$ maps the whole left half-plane inside the unit circle: stability comes free. The price is frequency warp — prewarp every critical frequency: $\omega_a = \frac{2}{T}\tan(\omega_d T/2)$.

2nd-order Butterworth at 100 Hz, $f_s = 1$ kHz: prewarp $\omega_a = 2000\tan(0.1\pi) = 649.8$ rad/s, $K = 1/\tan(0.1\pi) = 3.078$, and $H(z) = \frac{1+2z^{-1}+z^{-2}}{14.82 - 16.94z^{-1} + 6.12z^{-2}}$.
{exercise:uni-ee1205-prewarp}
Prewarping a 100 Hz cutoff at fs = 1 kHz gives ωa = 2000·tan(0.1π) = —
Độ khó 1/5 · 100 xu + phần thưởng nhỏ khi hoàn thành lần đầu tiên hôm nay
tan(0.1π) = 0.3249, so ωa = 649.8 rad/s — slightly above the naive 2π×100 = 628.3, which is exactly the warp being prepaid.
Verify, then pay
- Checks: dc gain $4/4 = 1.000$ ✓; $|H|$ at 100 Hz $= -3.0$ dB ✓ (the cutoff lands exactly); poles at $|z| = 0.643$ ✓. Skip the prewarp ($K=1$) and the same prototype cuts at 250 Hz instead — silently wrong. The bill: 5 coefficients vs 67 taps, nonlinear phase, sensitive denominators.
{exercise:uni-ee1205-cutoff} {exercise:uni-ee1205-skip}
With the prewarp applied, the designed biquad measures at 100 Hz —
Độ khó 1/5 · 100 xu + phần thưởng nhỏ khi hoàn thành lần đầu tiên hôm nay
Prewarping exists to put the −3 dB point exactly on the target frequency; −0.05 dB at 100 Hz would mean the cutoff is really at 250 Hz.
Skipping the prewarp (K = 1) for the 100 Hz design makes the filter cut at —
Độ khó 1/5 · 100 xu + phần thưởng nhỏ khi hoàn thành lần đầu tiên hôm nay
Without prewarp the −3 dB point sits where tan(ωT/2) = 1, i.e. a quarter of the sample rate: 250 Hz — stable, but silently off-spec.