This free, world-class tool has been in development for over 17 years, and in its latest version some long-standing bugs have been fixed: it is now a very robust tool. A PDF User's Manual is included in the zip-file download. (The Matlab Controls Toolbox is required.)
Pzgui was developed primarily as a teaching and learning tool, but is also an extremely useful analysis tool, even for professionals. It creates a unified environment to study continuous-time and discrete-time inter-relationships among pole/zero locations, the various frequency-response plots, the root locus, and the various time-domain plots.
The main interface is the pole/zero map, from which about 20 other highly integrated and interactive plots can be created, in the continuous-time domain as well as the discrete-time domain. All plots are extensively interactive.
For example, in the zero/pole map (which is the main user-interface), when a pole or zero is dragged-and-dropped to a new location, the associated Bode, Nichols, Nyquist, and time-response plots are updated in real-time as the location is changed. This provides tremendous insight into the effects of poles and zeros in a transfer function.
Nyquist plotting includes the ability to run "Nyquist movies", showing the relationship between the Nyquist contour and the various other frequency-response plots. Easily handles poles and zeros on the stability boundary, automatically "detouring" the Nyquist contour around them.
The continuous-time and discrete-time tools can be "linked" to each other by a choice of ZOH-equivalent or bilinear transformation.
Easily create open-loop Bode plots, closed-loop Bode plots, time-response plots, root-locus plots, Nichols plots, Nyquist and Nyquist-contour plots, and output sensitivity plots. All plots are extraordinarily inter-linked graphically, to enhance understanding of the various relationships among them. All plots can be customized for printing purposes.
Includes special tools for designing and studying lead, lag, and PID controllers.
Includes the ability to specify pure delay (uses 4th-order Pade approximant, where appropriate, in continuous-time domain).
Easily handles models having hundreds of poles and zeros, and can generate random high-order (up to 500 poles) models that are typical of flexible structures.
Regularly updated with enhancements, bug fixes.