[go: up one dir, main page]

0% found this document useful (0 votes)
49 views4 pages

Stability 2004

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 4

Stability .

6. Stability
Consider the following typical closed-loop control configuration with unity feedback gain.

r(t) e(t)
E(s)
L( s)
u(t)
U(s)
y(t)
Y(s)
r(t)
T (s)
y(t)
Y(s)
-

where L( s ) denotes the loop (or open-loop) transfer function. The closed-loop transfer function is calculated by
L( s)
T (s) =
1 + L( s )
The stability of closed-loop systems: The system is stable (in BIBO=Bounded Input Bounded Output sense) if it
produces bounded output for any bounded input.

1. Stability analysis based on the location of the closed loop poles:


The stability of the closed-loop system can easily be determined by analyzing the location of the poles of the closed-
loop transfer function. A system is stable if the real parts of the closed-loop poles are negative, i.e. all the poles are in
the left-hand complex s-plane.

Exercise 1.
The closed-loop (overall) transfer function of a system is
s+5
T (s) = .
s 3s + 4 s 3 + 10s 2 + 5s 10
5 4

Is the system stable?


num=[1, 5]
den=[1, -3, 4, 10, 5, -10]
T=tf(num,den)
poles=roots(den)
poles =
2.1150 + 2.1652i
2.1150 - 2.1652i
-0.9824 + 0.7214i
-0.9824 - 0.7214i
0.7348
Note that the same result is obtained using the LTI structure
[z,p,k]=zpkdata(T,'v')
The system is unstable, since there are poles with positive real part.
Plot the pole locations in the complex s-plane:
pzmap(T)
Again, the system is unstable, since there are poles on the right-hand side of the complex plane.

2. Apply the Nyquist stability criterion:


The stability of a feedback system can also be determined by the behaviour of the open-loop:
a. The open-loop does not have unstable poles; all poles are in the left-hand s-plane.
The closed-loop system is stable if the Nyquist curve of the open-loop system does not encircle the (1+0j) point.
b. The open-loop does have unstable poles:
The closed-loop system is stable if for the Nyquist curve of the open-loop system, the number of counterclockwise
encirclements of the (1+0j) point is equal to the number of unstable open-loop poles.

1
Stability .

Exercise 2.
The loop transfer function of a system is
10
L( s ) = .
(1 + 10 s )(1 + s )
The system is in a negative unity feedback control loop. Determine the stability of the closed-loop based on the
Nyquist criterion.
s=tf('s')
L=10/((1+10*s)*(1+s))
[z,p,k]=zpkdata(L,'v')
Does the open-loop have unstable poles? Does the Nyquist diagram ecircle the (1+0j) point? Is the closed-loop
system stable? What happens with stability if the gain 10 in the numerator of the above transfer funcion is increased?
nyquist(L),grid
Verify the result by calculating the poles of the closed-loop system. In the feedback command 1 means unity
feedback and -1 indicates the negative feedback. (The -1 can be ignored since that is the default value)
T=feedback(L,1,-1)
or
T=L/(1+L); T=minreal(T)
The minreal command cancels the zero-pole pairs:
[z,p,k]=zpkdata(T,'v')
Plot the pole locations:
pzmap(T)
As seen the system is structurally stable. The poles are left-side poles, the Nyquist diagram does not encircle the
(1+0j) point even with increased gains.

Exercise 3.
The loop transfer function of a system is
5
L( s ) = .
(1 10s )(1 + 0.1s )
The system is in a negative unity feedback control loop. Determine the stability of the closed-loop based on the
Nyquist criterion.
L=-5/((1-10*s)*(1+0.1*s))
[z,p,k]=zpkdata(L,'v')
Does the open-loop have unstable poles? (Yes, p2 = 0.1 )
nyquist(L)
In which direction the curve encircles (1+0j) point? (CCW)
Is the system stable? (Yes)
Verify the result by calculating the poles of the closed-loop system.
T=feedback(L,1)
step(T)
[z,p,k]=zpkdata(T,'v')
pzmap(T)

Examine the system if the polarity of the poles are changed to

5
L( s ) =
(1 + 10s )(1 0.1s )

In which direction the Nyquist curve circles the -1 point? Is the system stable?

2
Stability .

Exercise 4.
The loop transfer function of a system is
1 s
L( s ) = k .
(1 + s )(1 + 0.5s )
The system is in a negative unity feedback control loop. Determine the range for the k parameter for which the open-
loop is stable.
a. k=1 is assumed:
L=(1-s)/((1+s)*(1+0.5*s))
[z,p,k]=zpkdata(L,'v')
Does the open-loop have unstable poles?
nyquist(L),grid
Determine the point where the Nyquist curve intersects the real axis (0.666). The system can be multiplied by the
gain k=1/0.666 to be marginally stable. The system is stable if 0< k<1.5 (for k>0).
zoom
b. k=-1 is assumed:
nyquist(-L), grid
Determine again the point where the Nyquist curve intersects the real axis (-1); find k for stability (closed-loop
system is stable if k>-1>0).
Putting together the two intervals: The system is stable if 1<k<1.5

The stability can also be determined by the rlocus command, which plots the locus of the roots [gykhely-grbe]
supposing a parameter (generally the gain) changing its value from zero to infinity.
help rlocus
rlocus(L)
rlocfind(L)
(We can use the mouse to find the gain value at a given point).

Phase margin, Gain margin:


If the system is stable the degree of stability is an important system property. The phase margin and gain margin tells
how far is the system from being marginally stable.
The phase margin can be calculated from the phase at the cut-off frequency c .
m = (c ) + 180
At the cut-off frequency the absolute value of the open-loop frequncy function is 1:
c : L( ) = = 1
c

If the phase margin is positive, the system is stable. For example, if the phase is = 120 , then the phase margin
is m = + 180 = 120 + 180 = 60 , that is the system is stable.
By multiplying the gain of the system with the gain margin the system becomes marginally stable.
1
gm = , where ( ) = 180
L ( )
where
: ( ) = = 180
The phase margin can be demonstrated both on the Nyquist plot and the Bode diagram. The MATLAB margin
command helps to directly calculate the phase margin.

3
Stability .

Exercise 5.
The transfer function of a system is
1
L( s ) = .
(0.5 + s )( s 2 + 2 s + 1)
The system is in a negative unity feedback control loop. Calculate the phase margin, the gain margin and the cut-off
frequency of the system:
L=1/((0.5+s)*(s^2+2*s+1))
[gm,pm,wg,wc]=margin(L)
gm is the gain margin, pm is the phase margin, wc is the cut-off frequency and wg is the frequency where the phase is
-180. These values can be displayed graphically too.
margin(L);
Note that in case of graphic display the Gm value is obtained in decibels: Gm=20*log10(gm)

The amplitude, phase and frequency values can be looked at directly by arranging them into table format:
w=logspace(-1,1,100);
[num,den]=tfdata(L,'v')
[mag,phase]=bode(num,den,w);
Tabl=[mag, phase, w]

mag phase w
.
1.1123 -99.5242 0.5094
1.0643 -103.0406 0.5337
1.0158 -106.6104 0.5591wc
0.9669 -110.2286 0.5857
0.9178 -113.8900 0.6136
.
0.2706 -173.3384 1.2915
0.2449 -176.7848 1.3530
0.2211 -180.1658 1.4175wg
0.1991 -183.4774 1.4850
0.1789 -186.7160 1.5557
.

The phase margin can be read from this table by finding the phase value belonging to the 1.0 magnitude value:
pm=180-106.6=73.4. The cut-off frequency: w=wc=0.77. The gain margin can be calculated from the gain
belonging to the 180 phase value: gm=1/0.221=4.52.
Bode Diagrams
Gm=13.064 dB (at 1.4142 rad/sec), Pm=72.227 deg. (at 0.56754 rad/sec)
20

0
Phase (deg); Magnitude (dB)

-20

-40

-60

-80

-100

-200

-300
10 -1 10 0 10 1

Frequency (rad/sec)

You might also like