BODE AND NYQUIST PLOTS

This Mathlet provides insight into various ways to visualize the system response of an LTI system. Such a system is specified by a transfer or system function \(G(s)\). The system functions on this Mathlet are restricted to be rational functions.

The window at right displays a portion of the complex plane containing the poles and zeros of a rational function \(G(s)\). Each pole is indicated by a green o, and each pole is indicated by a cyan x. Roll over the plane to create crosshairs and a readout of the complex number.

Create or delete zeros, complex conjugate pairs of zeros, poles, or complex conjugate pair of poles, by checking the appropriate radio button below the window, and then clicking on a point on the window. This will create a new object at the clicked point, or eliminate the nearest zero (pair) or pole (pair). The radio button selection will return to [Drag]. In that state, a mouse click on the complex plane will suppress the crosshairs and grab the nearest zero, pole, or member of zero or pole pair, which may then be dragged.

Selecting the [Formula] checkbox at bottom right reveals the formula for \(G(s)\).

A slider under the complex plane allows one to stretch it either horizontally or vertically, depending on which of \([\text{Re}]\) or \([\text{Im}]\) is selected.

Selecting the [Bode] radio button displays gain and phase Bode plots. These are graphs of \(\log|G(i\omega)|\) and \(Arg(G(i\omega)\) against \(\log(\omega)\) (for \(\omega \gt 0\)). Rolling over either graph creates crosshairs and a readout of the coordinates.

Selecting the [Linear Bode] radio button displays the gain and phase lag as functions of the input frequency. Rolling over either graph creates crosshairs and a readout of the coordinates.

Selecting the [Nyquist] radio button displays the Nyquist plot. This is the trajectory of \(G(i\omega)\) as \(i\omega\) runs along the imaginary axis. The unit cicle is indicated in red. The direction of travel of the trajectory is indicated by an arrowhead at \(G(0)\). Rolling over the Nyquist window produces a red diamond at the cursor point joined to the origin by a red line segment. This behavior is suppressed by pressing the mousekey.

Below the Nyquist plot window is a zoom slider.

The checkbox \([i\omega]\) toggles display of the point \(i\omega\) in the pole-zero diagram by a yellow diamond, and yellow readouts of the magnitude and argument of \(G(i\omega)\). Each pole is connected to the point \(i\omega\) by a green line segment, and each zero is connected to the point \(i\omega\) by a cyan line segment. Selecting this checkbox also creates a further checkbox below it, labeled [Angles]. Selecting sets both zoom settings applied to the right hand window to the setting corresponding to the selected choice of \([\text{Re}]\) or \([\text{Im}]\). Each pole and each zero is equipped with a horizontal gray ray and a directed arc (for use in determining the phase of the complex gain).

Selecting \([i\omega]\) triggers other functionalities and displays. Depressing the mousekey over the right window will grab the point \(i\omega\) if it is closer than any pole or zero.

Selecting \([i\omega]\) triggers corresponding displays on the other windows as well. In both Bode plot windows, the point corresponding to \(i\omega\) is marked with a yellow diamond, which can be grabbed and moved. In the Nyquist plot window, the point \(G(i\omega)\) for the value of \(i\omega\) selected on the right window is marked with a yellow diamond joined to the origin by a yellow line segment. Depressing the mousekey suppresses the radius vector display and instead grabs the nearest value of \(G(i\omega)\), which may then be dragged.

© 2009 H. Miller, F. Hover, J.-M. Claus, and H. Petrow