Chapter 5 Classical Feedback Analysis
Xmath Control Design Module 5-14 ni.com
Note margin( ) also returns the frequencies at which the phase crosses the –180° line
and the gain crosses the 0 dB line. These results match the gain and phase margins shown
graphically in Figure 5-4.
nichols( )
[H,dB,Phase] = nichols(Sys,{F,keywords})
The nichols( ) function is another useful frequency domain tool for
examining system performance in dynamic systems. The open-loop
frequency response is calculated and plotted against the gain in the standard
Nichols format (gain in decibels versus phase in degrees). Different points
on the plot thus correspond to different values of ω.
nichols( ) plots are particularly useful as a means of obtaining the
closed-loop frequency response of a system from the open-loop response.
Nichols plots are frequently augmented with curves, or loci, of constant
magnitude or phase. These curves are drawn when the pattern keyword
is specified. Notice that each point on the open-loop response curve
corresponds to the response of the system at a given frequency, and the
closed-loop magnitude response at that frequency can be read off the
Nichols plot by noting the value of the magnitude locus which the point on
the curve intersects. The closed-loop phase can be determined in a similar
manner by noting the phase locus which the open-loop curve crosses.
[Oga70]
nichols( ) is implemented in a manner very similar to that used for
bode( ). It generates a frequency range if none is explicitly entered,
calls freq( ) internally, and converts the complex frequency response
to magnitude gain in decibels and phase in degrees. bode( ) and
nichols( ) differ only in the plots they produce. For MIMO systems,
nichols( ) will produce plots with as many curves as there are system
inputs. A menu presents a selection of output responses. To generate a
Nichols plot, use the syntax shown in Example5-5.
Example 5-5 nichols( ) Plot
A = [2, 0, -0.01; 2,-2,0; -1.4, 3, 0];
B = [3; 5; -1];
C = [1, 0, 4];
nsys = system(A,B,C,1);
H=nichols(nsys,
{Fmin=.01,Fmax=5,npts=300, pattern,!wrap})