1a. 180 Degree Root Locus, Za 5: Andrew Hung A09995772 MAE143c HW1
1a. 180 Degree Root Locus, Za 5: Andrew Hung A09995772 MAE143c HW1
1a.
180 degree root locus, za=5
Root Locus
20
15
10
-5
-10
-15
-20
-20
-15
-10
-5
10
15
20
25
30
Root Locus
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-2
10
12
Breakaway points
a(s)b(s) a(s)b(s) = 0.
(2S-10)(S^2-10S)-(S^2-10S+25)(2S-10)=0
S=5
We need a positive K to stabilize this system.
With Mp=15% and tr=18s
s= -5 +- 8.66i
Let G(s+)D(s+)=-1
Solve, and equate the constants of the imaginary and real components to each other
K1(-100)(-5-5+8.66i)(-5-za+8.66i)=-(-5+8.66i)(-15+8.66i)
Za=2.5
K1=.0114286
Root Locus
8
6
4
2
0
-2
-4
-6
-8
-15
-10
-5
10
If we aim for the desired tr and Mp, a point on the root locus graph will hit the desired frequency,
-5+8.66i. At this point, we are barely achieving the performance specifications.
1b.
G(s)
Bode Diagram
Magnitude (dB)
100
50
Phase (deg)
-50
90
45
0
-2
-1
10
10
10
10
10
Frequency (rad/s)
G(s)D(s)
Bode Diagram
25
Magnitude (dB)
20
15
10
5
0
Phase (deg)
-5
270
225
180
135
-1
10
10
10
10
Frequency (rad/s)
After tuning the root locus plot to the appropriate approximate design guides, one would use the
design guides given for the bode plot, giving a more precise tuning of G(s)D(s), improving the
system.
These design guides are zeta=PM/100 and wc >~ 1.8/tr, so PM=50 degrees, and wc>~10.
Without additional poles/zeros added to G(s)D(s) by various filters, the magnitude at the desired
crossover frequency, wc=10 is -.03199, pretty close to 0, the desired magnitude at the crossover
frequency. However, there are at least one other frequency before wc=10 that crosses over.
The phase margin, however, is 4.3 degrees, well below the desired phase margin. To achieve a
higher phase margin, you could implement a lead filter with z>p, centered at the crossover
frequency. If p/z=10, the phase margin would be bumped up approximately 55 degrees, reaching
the desired phase margin of 50 degrees. However, the closer the pole and zero are to each other,
the greater change in magnitude at the desired crossover frequency, causing a higher rise time.
1c.
H(s)=-100(s+5)(s-5)(.0114)(s+10)(s+1)(s-2.5)/[s(s+10)(s+1)(s-10)(s+5)
-100(s+5)(s-5)(.0114)(s+10)(s+1)(s-2.5)]
1d.
L1(s) is a type 1, r=1 system. It has 1 pole at the origin.
Steady State Gain of H(s)= 1 (H(s) has unity steady state gain
No prefactor is needed, since H(s) has unity steady state gain.
1e.
Step Response
8
Amplitude
-2
-4
0.5
1.5
Time (seconds)
y(t)=
1f.
If D(s) is improper, the bode plot will have an increasing magnitude as the frequency increases.
When such a controller is implemented into the system, high frequency noise will plague the
system, rendering the system unstable as time goes on. To correct this problem, a lead
compensator can be implemented along with the D(s) in a closed loop with the plant to level off
the high frequency noise, thus making the system stable once more.
2a.
G2(s)= -s^2/[(s+10)(s-10)]
D2(s)=K2 (s+za)/(s+10)
s=-.5+.866i=> from design guides
G2(s)D2(s)=-1, keep za and K2 as variables
Solve, and equate the constants of the imaginary and real components to each other
K2=.10.08 za=-.908
180 degree
Root Locus
0.5
-0.5
-1
-10
-5
10
0 degree
Root Locus
1.5
0.5
-0.5
-1
-1.5
-15
-10
-5
0
Real Axis (seconds -1)
10
15
2b
G2(s)
Bode Diagram
0
Magnitude (dB)
-10
-20
-30
-40
-50
180
Phase (deg)
180
180
180
180
180
0
10
10
10
Frequency (rad/s)
G2(s)D2(s)
Bode Diagram
Magnitude (dB)
50
-50
Phase (deg)
-100
180
150
120
-2
10
-1
10
10
10
10
10
Frequency (rad/s)
Recalling the design constraints of rise time and overshoot, my design guides are now getting the
magnitude of the system at wc=1 to equal zero, and the phase margin to be greater than 50
degrees. As of the G2(s)D2(s) found in 2a, the phase margin is about 40 degrees, a bit lower than
desired. However, the magnitude of the system at wc=1 is around -3, very close to the desired 0
magnitude at wc.
To reach the phase margin design requirement, I could put a phase lead compensator centered at
wc=1, with a zero at .316 and a pole at 3.16 to bump the phase down a bit increase the PM.
z=wc*sqrt(10)
p/z=10
Bode Diagram
50
Magnitude (dB)
Blue: G2(s)D2(s)
Green: G2(s)D2(s) with added lag
compensator
-50
Phase (deg)
-100
180
135
90
45
-2
10
-1
10
10
2c.
H2(s)= .948(-s^2)(s-19.8853)/[(s+10)(s-10)(s+10)+.948(-s^2)(s-19.8853)]
2d. L2(s) is a type 0, r=0 system. It has no poles at the origin.
The steady state gain of H2(s) is 0.
lim G2(s)D2(s)=0
s=>0
2e.
Step Response
1.2
0.8
Amplitude
0.6
0.4
0.2
-0.2
-0.4
5
Time (seconds)
y(t)=
10
10
Frequency (rad/s)
10
10
3. The blue dashed line and the red solid line are the step response of nonminimum phase system.
These responses occur when there are right half plane zeros in the system. The system oscillates
between the wrong way and the right way to finally reach the right value. I only expect this
behavior in 1e and not 2e, since 1e has right half plane zeros, whereas 1e does not.
4a.
The cutoff frequencies would be 100 for F1(s) and 10 for F2(s).
4b.
5. k=. 0114286
Nyquist Diagram
2
1.5
1
Imaginary Axis
0.5
0
-0.5
-1
-1.5
-2
-2.5
-1.15
-1.1
-1.05
-1
-0.95
-0.9
-0.85
-0.8
-0.75
Real Axis
K=10
4
Nyquist Diagram
x 10
0.8
0.6
Imaginary Axis
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1000
-900
-800
-700
-600
-500
Real Axis
-400
-300
-200
-100
Since G1(s)D1(s) has 1 RHP, you would need 1 encirclement of -1 for stability. The system is
stable at small Ks but unstable at large Ks.
6a.
>> PolyInertia([1 10 100])
Routh row 2:
Routh row 1:
10
Routh row 0:
100
100
inertia =
2
stable CT system
ans =
2
-1250k
750k-10
-1250k
750k-10<0
k<10/750==> k<.0133333
-100k+1<0==> k>.01
.01<k<.01333
Code mfile
%1a
gds=tf(-100*[1 -10 25],[1 -10 0])
rlocus(gds)
gdso=tf(100*[1 -10 25],[1 -10 0])
rlocus(gdso)
gd1a=tf(.0114286*[-100 750 -1250],[1 -10 0])
rlocus(gd1a)
K1=.0114286
%1b
g=tf(-100*[1 0 -25],[1 1 -100 -100 0])
bode(g)
bode(gd1a)
%1c
h1=gd1a/(gd1a+1)
%1e
h1=minreal(h1)
step(h1)
%2a
g2=tf(-[1 0 0],[1 0 -100])
K2=10.08
za=.9089
d2=tf(K2*[1 10],[1 za])
d2o=tf(-K2*[1 10],[1 za])
rlocus(g2*d2)
%rlocus(g2*d2o)
%2b
bode(g2)
bode(g2*d2)
lag=tf([1 -.316],[1 -3.16])
close all
bode(g2*d2)
bode(g2*d2*lag)
%close all
%2c
h2=(g2*d2)/(1+g2*d2)
%2e
h2=minreal(h2)
step(h2)
%5
nyquist(gd1a)
gd1a=tf(10*[-100 750 -1250],[1 -10 0])
nyquist(gd1a)
%6a
h1=gd1a/(gd1a+1)
h1=minreal(h1)
PolyInertia([1 10 100])