A frequency-response graph displays the amplitude spectra of the current filter. On the same axes, the amplitude spectrum of a portion of data can be displayed. Further, since the horizontal axis of these spectra is the real -axis, it is convenient to superpose the complex -plane with horizontal and scaled vertical. The location of the pointer in the complex frequency plane is printed in the message window as the pointer moves. Theory suggests a display of the complex Z-plane. Instead I selected a complex -plane, because its Cartesian axes are well suited to the superposition of the amplitude spectra of filters and data.
The letters ``z'' and ``p'' are plotted in the complex -plane to show the locations of poles and zeros. The location of these roots is under the exact center of the letter. You may put one letter exactly on top of another, but that only disguises the multiplicity of the root.
Recall from Z-plane theory that to keep the filter response real, any pole or zero on the positive -axis must have a twin on the negative -axis. To save screen space, I do not plot the negative axis, so you do not see the twin. Thus you need to be careful to distinguish between a root exactly at zero frequency (or at Nyquist frequency) with no twin, and a root slightly away from zero (or Nyquist) that has a twin at negative frequency (not displayed).
Let the complex frequency be decomposed into its real and imaginary parts, i.e., .All filters are required to be causal and minimum-phase--that is, all poles and zeros must be outside the unit circle in the Z-plane. Since ,the roots must all have negative values of .Any attempt to push a root to positive values of simply leaves the root stranded on the axis of .Likewise, roots can easily be placed along the edges and .
Although mathematics suggests plotting along the vertical axis, I found it more practical to plot something like the logarithm of ,because we frequently need to put poles close to the real axis. The logarithm is not exactly what we want either, because zeros may be exactly on the unit circle. I could not devise an ideal theory for scaling .After some experimentation, I settled on , where y is the vertical position in a window of vertical range 0<y<1, but you do not need to know this since the value of can be read from the message window as you move the pointer on the Z-plane.