Feedback System Stability: S S S S G

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 6

Feedback System Stability

k G(s)

For many practical systems the above feedback system is stable for small k but unstable for large k. Lets look at systems of this type. For example let 1

G( s)

( s 0.1)( s 0.2)( s 0.3)

Then to check closed-loop stability we need to check the roots of

( s 0.1)( s 0.2)( s 0.3) k 0

Closed-loop Poles
Let
d cl ( s ) ( s 1 )( s 2 )( s 3 ) ( s 0.1)( s 0.2)( s 0.3) k (1 , 2 , 3 ) are the closed - loop poles.

Then

s 3 (1 2 3 ) s 2 (1 2 1 3 2 3 ) s 1 2 3 s 3 (0.1 0.2 0.3) s 2 (0.02 0.03 0.06) s 0.006 k

The sum of closed-loop poles is constant and equal to -0.6.

Closed-loop poles and k


As k is increased from 0 to 0.05, the closed-loop system has only one real and two imaginary poles. The real pole goes more negative as k increases so the real part of the imaginary poles must become less negative since the sum of the poles is constant. This means as k increases the real part of the closed-loop imaginary poles will become positive. And so there will be one value of k, lets call it k*, for which the real part of the imaginary closed-loop poles will be zero, i.e, 2 , 3 is j* for some *.

That is 1 k * G ( j*) 0

Is k < k* or k=k* or k > k*?


Find out k* from the frequency response and if our k is less than k* the closed-loop system is stable, if k is equal to k* its marginally stable and if k is greater than k* then its unstable.

//cubic polynomial roots //2 August 2005 //exec('cubic.sce') s=poly(0,'s'); k=0.05;//0.06; x=[-0.8:0.01:0.0]; x1=0.1;x2=0.2;x3=0.3; y=(x+x1).*(x+x2).*(x+x3)+k; f1=scf(1);clf(f1,'reset'); plot2d(x,y);xgrid; xtitle('Third Order Polynomial', 'x','y'); den=poly([x1*x2*x3+k (x1*x2+x1*x3+x2*x3) (x1+x2+x3) 1],"x","coeff"); abc=roots(den) s1=sum(abc); //sum of the three roots disp(s1, 'sum of roots = ') //s1=sum(abc) //sum of the three roots h=syslin('c',1,x1*x2*x3+(x1*x2+x1*x3+x2*x 3)*%s+(x1+x2+x3)*%s^2+%s^3); [g,fr]=g_margin(h); f2=scf(2);//clf(f2,'reset'); bode(h,0.001,10);

-0.20 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 x

-0.15

-0.10

-0.05

0.00

0.05

0.10 y Third Order Polynomial

db 60 40 20 0 -20 -40 -60 -80 -100 -120


-3 -2

Magnitude

G( s)

1 ( s 0.1)( s 0.2)( s 0.3)

Hz
-1 0 1

10

10

10

10

10

degrees 0

Phase

-50

-100

-150

-200

-250

-300
-3 -2 -1 0 1

Hz 10 10 10 10

10

You might also like