Frequency Response
Every rational filter is a constellation of poles and zeros in the complex plane. Their positions relative to the unit circle dictate the entire frequency response — magnitude, phase, and stability — at a glance.
Factor H(z) = g · ∏(z − z_k) / ∏(z − p_k). Zeros (circles ○) are where H = 0; poles (crosses ×) are where H → ∞.
Substitute z = ejω: the magnitude response is the product of zero distances divided by the product of pole distances to ejω.
Sweep ejω around the unit circle. The magnitude |H| rises and falls as distances to poles and zeros change.
∠H(ejω) = sum of angles from zeros − sum of angles from poles. Group delay = −d∠H/dω.
If h[n] is real, poles and zeros off the real axis always appear as conjugate pairs (p, p*). This ensures a real-valued impulse response.
Place zeros on the unit circle at ±ω₀ for a perfect null. Poles just inside at radius r control bandwidth.
- Poles (×) → resonances; zeros (○) → nulls in frequency response
- |H(ejω)| = product of zero distances / product of pole distances
- Pole close to unit circle → magnitude peak at that angle
- Zero on unit circle → |H| = 0 at that angle
- Phase = sum of zero angles − sum of pole angles
- Real filters: poles and zeros appear in conjugate pairs
- Notch filter: zeros on circle at ω₀, poles just inside at same angle