I'm asked to plot the frequency response (amplitude) given a specific pole-zero diagram.

$$ H(z) = H_0 \frac{\prod\limits_{m=1}^{M} (z - q_m)}{\prod\limits_{m=1}^{M} (z - p_m)}$$

$$ H(e^{i\omega}) = H_0 \frac{\prod\limits_{m=1}^{M}(e^{i\omega} - q_m)}{\prod\limits_{m=1}^{M}(e^{i\omega} - p_m)}$$

If I understood it correctly, the amplitude at frequency $\omega$ is (the magnitude of the distance from $e^{i\omega}$ to all the zeroes) divided by (the magnitude of the distance from $e^{i\omega}$ to all the poles), i.e:

$$ \Big|H(e^{i\omega})\Big| = \Big|H_0\Big| \frac{\prod\limits_{m=1}^{M}|e^{i\omega} - q_m|}{\prod\limits_{m=1}^{M}|e^{i\omega} - p_m|}$$ where $q_m$ are the zeroes and $p_m$ are the poles and $H_0$ is the constant gain factor.

The problem is that in the graph where I need to draw the frequency response, the frequency and amplitude range $0\to1$ like so:

enter image description here

After I get a value by calculating the poles and zeroes I almost always get a value above $1$. What do I need to do with the value to fit it into the graph? How do I normalize(?) the value?


1 Answer 1


For the frequency axis, you're going to have to normalize by $\pi$ to plot digital frequencies in $[0,\pi]$.

For the magnitude axis, normalize by $\mathrm{max}\left(|H\left(e^{i\omega}\right)|\right)$.

I'm surprised you weren't asked to plot magnitude response in dB (a logarithmic axis).

  • $\begingroup$ Do you do that by simply dividing the current amplitude by the max amplitude? $\endgroup$
    – Heuristics
    Commented Apr 18, 2018 at 21:19
  • $\begingroup$ Yes. If you must fit the plot on a scale from 0 to 1. $\endgroup$
    – Andy Walls
    Commented Apr 18, 2018 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.