MEC208 Instrumentation and Control System
S2, 2022-2023
Computer Lab (Lab 2):
Control System CAD and CAS using MATLAB
Dr. Chee Shen LIM (MEC208, Part 2)
Name:
Student ID:
Group (1 or 2):
Date:
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 4 of 14
© ver22-23-20230504, by C. S. Lim
Report Format
The format of the lab/assignment report should be of the following:
• The report should be of single column, font size 11, font style “Times New Roman”.
Please be reminded that handwritten reports will NOT be accepted.
• All figures must be clearly numbered and all plots must be clearly labelled.
• In your report, whenever necessary, you are expected to explain concisely your approach
(i.e., with full sentence and proper grammar, but please avoid unnecessarily long
explanation).
• In your answer for each question, do also include all MATLAB code/script that you used
to obtain the answers or plots (note: do not separately submit those raw .m files; answer
for each question should contain some MATLAB scripts). These codes/scripts should be
copied properly into the report, and should be standalone. For example, if you include
the code for Question 2a, you must make sure that the codes in this part alone (not linked
to other parts) can be copied by the marker into MATLAB for a quick, successful
verification.
• For analytical questions, whenever necessary, do also include your analysis and derivation.
Marks will be given on the following basis:
• The 10 questions in the “Computer Lab Work” section carry a total of 100 marks. Each
question carries 5 to 15 marks, depending on the complexity of the questions.
• Sub-marks will be awarded to technically correct analyses and comments, MATLAB
scripts, mathematical derivation (as necessitated by the questions), graphs/plots (and
annotations of the plots), and numerical answers. All analysis and comments should have
proper sentence structure and correct grammar.
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 5 of 14
© ver22-23-20230504, by C. S. Lim
Examples
This part is to introduce about how to start using the Control System Toolbox in MATLAB for
control system CAD and CAS. You are suggested to go through the examples (in this section, or
even from other online resources) before you start working on the assignment tasks.
Example 1: Input a system described by a transfer function
To construct a system model in MATLAB, the command “tf” can be used. For example, to obtain
the following input transfer function:
𝑠𝑠2 + 𝑠𝑠 + 1
𝑠𝑠4 + 2𝑠𝑠
3 + 5𝑠𝑠 + 2
𝑠𝑠 + 1
𝑠𝑠4 + 2𝑠𝑠
3 + 3𝑠𝑠
2 + 3𝑠𝑠 + 10 ∙ 10
𝑠𝑠2 + 3
» sys1=tf([1 1 1], [1 2 0 5 2])
Transfer function:
s^2 + s + 1
s^4 + 2 s^3 + 5 s + 2
sys1=tf([1 1], [1 2 3 3 10])
Transfer function:
s + 1
s^4 + 2 s^3 + 3 s^2 + 3 s + 10
sys2=tf([10], [ 1 0 3])
Transfer function:
10
s^2 + 3
sys=sys1*sys2
Transfer function:
10 s + 10
s^6 + 2 s^5 + 6 s^4 + 9 s^3 + 19 s^2 + 9 s + 30
Example 2: Find the system’s zeros and poles
The commands used for this task are “pole” and “zero”. From the signs of system poles, you can
determine if the system is stable. For example, given the system G(s):
𝐺𝐺(𝑠𝑠) = 1
𝑠𝑠2 + 𝑠𝑠 + 1
Using MATLAB, the system’s poles can be obtained as follows:
pole(sys)
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 6 of 14
© ver22-23-20230504, by C. S. Lim
ans =
-0.5000 + 0.8660i
-0.5000 - 0.8660iGiven another example with system zeros:
𝐺𝐺(𝑠𝑠) = 2𝑠𝑠2 + 𝑠𝑠 + 3
𝑠𝑠4 + 2𝑠𝑠3 + 5𝑠𝑠2 + 6𝑠𝑠 + 7
sys=tf([2 1 3],[1 2 5 6 7])
Transfer function:
2 s^2 + s + 3
s^4 + 2 s^3 + 5 s^2 + 6 s + 7
zero(sys)
ans =
-0.2500 + 1.1990i
-0.2500 - 1.1990iExample 3: Obtain the system model in pole-zero format
It is at times helpful to control designers to express a system into a form of first/second-order
components. For example, given G(s) below, one can express it to pole-zero format as follows:
𝐺𝐺(𝑠𝑠) = 1
𝑠𝑠4 + 𝑠𝑠3 + 3𝑠𝑠2 + 2𝑠𝑠 + 6
sys=tf([1], [1 1 3 2 6])
Transfer function:
1
s^4 + s^3 + 3 s^2 + 2 s + 6
zpk(sys)
Zero/pole/gain:
1
(s^2 + 1.969s + 2.609) (s^2 - 0.9693s + 2.3)
There are many other control-related numerical tools in MATALB. See some of the listed examples
in Part II.
Example 4: Obtain impulse, step, and ramp input responses
The commands used for obtaining the time responses against unit-step and unit-impulse inputs are,
respectively, “step()” and “impulse()”. Taking the following system as the example, its step and
impulse responses can be obtained as follows:
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 7 of 14
© ver22-23-20230504, by C. S. Lim
1
𝑠𝑠3 + 2𝑠𝑠2 + 3𝑠𝑠 + 5
sys1=tf([1], [1 2 3 5])
Transfer function:
1
s^3 + 2 s^2 + 3 s + 5
step(sys1)
impulse(sys1)
To obtain system ramp input response, the following can be done. Note that the title change is
necessary to avoid confusion.
sys2=tf([1], [1 0])
Transfer function:
1
𝑠𝑠
step(sys1*sys2)
title('Ramp Response')
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 8 of 14
© ver22-23-20230504, by C. S. Lim
Example 5: Obtain the equivalent/effective transfer function of a closed-loop system
The relevant command is “feedback”. You can obtain the description of this command from
MATLAB help, i.e., using command “>>help feedback”. For example, given that a system has a
forward-path transfer function G(s)
𝐺𝐺(𝑠𝑠) = 1
𝑠𝑠2 + 𝑠𝑠 + 1
and feedback-path transfer function H(s)
𝐻𝐻(𝑠𝑠) = 1
𝑠𝑠 + 1
The closed-loop transfer function of the feedback system is obtainable through the following
commands:
sys1=tf([1],[1 1 1])
sys2=tf([1],[1 1])
sys_closed_loop=feedback(sys1,sys2,-1)
Transfer function:
s + 1
s^3 + 2 s^2 + 2 s + 2
At this stage of learning, you should be able to obtain the closed-loop transfer function through
analytical means. You are encouraged to check whether the numerical tools actually give you the
correct answer. At times, through cross-checking, you may find that there are some minor mistakes
in your own derivation or MATLAB scripts. You may also attempt the simulation questions at the
end of each chapter in the course textbook.
Optional
Before attempting the questions, apart from the numerical tools introduced above, it may be helpful
to you to spend some time understanding other numerical tools/functions (not in any particular
order) available to you in the Control System Toolbox of MATLAB.
tf
step
impulse
ramp
partfrac
ilaplace
plot
feedback
series
pzmap
pole
zero
ss
tf2ss
lsim
expm
hold on
hold off
Others (your own effort)
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 9 of 14
© ver22-23-20230504, by C. S. Lim
Computer Lab Work (10 questions)
Problem 1 [9 marks]
Consider the differential equation
𝑑𝑑3𝑦𝑦(𝑡𝑡)
𝑑𝑑𝑡𝑡3 + 10
𝑑𝑑2𝑦𝑦(𝑡𝑡)
𝑑𝑑𝑡𝑡2 + 58
𝑑𝑑𝑑𝑑(𝑡𝑡)
𝑑𝑑𝑑𝑑
- 136𝑦𝑦(𝑡𝑡) = 26𝑥𝑥(𝑡𝑡)
where y(0) = 𝑦𝑦̇(0) = 𝑦𝑦̈(0) = 0. With the help of the numerical tools of solving partial fraction
and/or inverse Laplace transform, determine the solutions/responses of 𝑦𝑦(𝑡𝑡) for, respectively, unit
impulse, unit step, and unit ramp of input x(t). In each case, show the s-domain partial fractions
before expressing the final time-domain expressions. Then, through the numerical tools in
MATLAB, obtain the output’s time response plots of each case for the first 5 seconds.
Problem 2 [5 marks]
Consider the block diagram in Figure P2.
Figure P2: Control block diagram with the following G and H transfer functions.
𝐺𝐺1 = 1
𝑠𝑠 + 2 𝐺𝐺2 = 1
𝑠𝑠2 + 2𝑠𝑠 + 2 𝐺𝐺3 = 𝑠𝑠 + 1
𝑠𝑠2 + 3 𝐺𝐺4 = 1
𝑠𝑠 + 5
𝐻𝐻1 = 2𝑠𝑠 + 3
𝑠𝑠2 + 𝑠𝑠 + 2
𝐻𝐻2 = 𝑠𝑠
𝑠𝑠 + 4 𝐻𝐻3 = 𝑠𝑠2 + 1
𝑠𝑠3 + 6
(a) Use an m-file to reduce the block diagram in Figure P2, obtain the equivalent closed-loop
transfer function of the above system.
(b) Use the numerical tools available, generate a pole-zero map in the graphical form and
calculate the poles and zeros of the closed-loop transfer function. Comment on the overall
system stability.
𝐺𝐺1 𝐺𝐺2
𝐻𝐻3
𝐺𝐺3 𝐺𝐺4
𝐻𝐻1 𝐻𝐻2 -
- +
+
− −
𝑅𝑅(𝑠𝑠) 𝑌𝑌(𝑠𝑠)
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 10 of 14
© ver22-23-20230504, by C. S. Lim
Problem 3 [8 marks]
Consider the system
- +
𝑥𝑥̇
1
𝑥𝑥̇
2
𝑥𝑥̇
3
=
−1 1 0
0 −1 1
0 0 −2
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
0
0
1
𝑢𝑢
y = [1 0 0]
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
(a) Use the numerical tools in MATLAB, e.g., tf, determine the transfer function 𝐺𝐺(𝑠𝑠) =
𝑌𝑌(𝑠𝑠)/𝑈𝑈(𝑠𝑠).
(b) Assume 𝑢𝑢(𝑡𝑡) is a pulse input of magnitude 1 that lasts for a 2-seconds duration starting at
0 s (i.e., a pulse input means a step input that lasts for a short period), plot the response of
the system state x with initial condition 𝒙𝒙(0) = [1 1 0]𝑇𝑇, for 0 ≤ 𝑡𝑡 ≤ 10.
(c) State the 𝒙𝒙(3) values the same initial condition and input as part (b). Determine and
comment on how these x values at t = 3 s will be different if the input is never excited
(means zero for the entire 10 s period).
Problem 4 [5 marks]
Consider the closed loop transfer function
𝐿𝐿(𝑠𝑠) = 2s2 + 3s + 1
𝑠𝑠5 + 3𝑠𝑠4 + 2𝑠𝑠3 + 5𝑠𝑠2 + 5𝑠𝑠 + 5
(a) Explain Routh-Hurwitz stability criterion with your own words. Then, use the RouthHurwitz criterion to determine whether the system is stable. If it is not stable, how many
poles are in the right-half plane?
(b) Compute the poles of 𝐿𝐿(𝑠𝑠) and then verify the result in part (a).
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 11 of 14
© ver22-23-20230504, by C. S. Lim
Problem 5 [15 marks]
Consider the following transfer function:
𝐺𝐺(𝑠𝑠) = 6s2 + 18s + 14
𝑠𝑠4 + 7𝑠𝑠3 + 12𝑠𝑠2 + 17𝑠𝑠 + 14
(a) Identify the dominant complex poles and complex zeros (if any) of the system. Then,
calculate the dominant complex poles’ natural frequency, damping factor, characteristic
rise time (0 to 100%), peak time, percent overshoot and 2% settling time.
(b) Plot and clearly label the unit-step response of G(s).
(c) Obtain from the figure in part (b) the exact rise time, peak time, percent overshoot, and 2%
settling time of the output response. Compare and comment on the difference between them
and the answers from part (a). [Hint: you may need to write the code manually to find these
values.]
Problem 6 [13 marks]
A control system is shown in Figure P6.
Figure P6
(a) Using MATLAB, plot the root locus assuming an ideal sensor H(s) = 1.
(b) It is found later than the sensor has a 1 second delay in the measurement, resulting in H(s)
being e-s instead of just “1”. Using MATLAB, plot the new root locus. Clearly state the
assumption used.
(c) Refer to the theoretical/characteristic behavior of second-order complex poles as the design
guides, analyze the root locus in part (b) and propose suitable 𝐾𝐾 value that produces an
overall step response with a percent overshoot less than 15 % and with (approximately) the
shortest possible 2% settling time. Explain and verify your gain selection.
1
𝑠𝑠(𝑠𝑠2 + 3𝑠𝑠 + 5)
𝐻𝐻(𝑠𝑠)
+
−
𝑅𝑅(𝑠𝑠) 𝑌𝑌(𝑠𝑠)
Process
Sensor
𝐾𝐾(𝑠𝑠 + 1)
(𝑠𝑠 + 5)
Controller
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 12 of 14
© ver22-23-20230504, by C. S. Lim
Problem 7 [10 marks]
Figure P7 is a block diagram model of a model for an altitude-rate control system.
Figure P7
(a) Assume that Gc is yet to be designed (means Gc = 1), plot the system’s unit-step response.
(b) Through a series of control design, it is decided that Gc should the form of 𝐺𝐺𝑐𝑐 =
𝐾𝐾(𝑠𝑠+2)2(𝑠𝑠+5)
(𝑠𝑠+10)2(2𝑠𝑠+0.1)
, where (𝑠𝑠+2)2
(𝑠𝑠+10)2 is a essentially a cascaded lead compensator, and K is the
control gain to be designed. If it is desired to place a pair of the closed loop poles as close
as possible to 𝑠𝑠 = −2 ± 𝑗𝑗2 for a quick/fast transient response, use the numerical tools in
MATLAB to estimate the most suitable value of K. Show all relevant plots in the process
of finding this gain. Then, state the damping factor and natural frequency of the dominant
complex poles.
(c) Use the selected K value in part (b), obtain the step and ramp responses for the first 10
seconds. Clearly label the plot.
Problem 8 [10 marks]
Figure P8 shows a closed-loop system with a tunable feedback parameter k, where k is a positive
number.
Figure P8
1
𝑠𝑠
2𝑠𝑠 + 0.1
𝑠𝑠2 + 0.2𝑠𝑠 + 2
1
+
−
𝑅𝑅(𝑠𝑠) 𝑋𝑋(𝑠𝑠)
Hydraulic servo Aircraft
Rate gyro
𝐺𝐺𝑐𝑐
Controller
1
𝑠𝑠
10
(2𝑠𝑠 + 1)(𝑠𝑠 + 5)
𝑘𝑘
+
−
𝑅𝑅(𝑠𝑠) 𝑌𝑌(𝑠𝑠)
+
−
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 13 of 14
© ver22-23-20230504, by C. S. Lim
(a) Draw a root locus diagram to reflect the effect of changing k. Then, determine the range of
possible k values that can produce a pair of dominant oscillatory/complex poles with the
characteristic damping factor more than 0.4 and the characteristic 2% settling time less
than 1.6 s.
(b) Analyze the plot in part (a) and propose the final value of k that can produce a quicker
possible response. Then, plot the unit-step response of the output y(t), and comment on the
effect of third pole onto the overall behavior of the system.
Problem 9 [15 marks]
An aircraft’s pitch rate model is shown in Figure P9. The model characteristics have the following
values:
𝜔𝜔𝑛𝑛 = 3, 𝜁𝜁 = 0.2, 𝜏𝜏 = 0.15
The gain factor K1, however, will vary over the range 0.01 at lightweight cruise conditions to 0.2
at heavy-weight descent conditions. K2 is the controller gain.
Figure P9
The flight control system must provide good handling characteristics and comfortable flying
conditions. The desired closed-loop characteristics of the dominant roots of the control system
shown in Figure P10 should have a damping factor of 𝜁𝜁 = 0.7071.
(a) Sketch the root locus as a function of the scalar gain K1K2.
(b) Determine the gain K2 necessary to yield the dominant oscillatory roots with 𝜁𝜁 = 0.7071
when the aircraft is in the heavy-weight descent condition.
(c) With the K2 gain found in part (b), determine the 𝜁𝜁 of the dominant oscillatory roots under
lightweight descent condition. Comment on the difference between the two damping
factors values, and the effect to the aircraft under lightweight cruise condition.
𝐾𝐾1(𝜏𝜏𝜏𝜏 + 1)
𝑠𝑠2 + 2𝜁𝜁𝜔𝜔𝑛𝑛𝑠𝑠 + 𝜔𝜔𝑛𝑛
2
𝐾𝐾2(𝑠𝑠 + 1)2
(𝑠𝑠 + 9)(𝑠𝑠 + 90)
+
−
𝑅𝑅(𝑠𝑠) 𝑌𝑌(𝑠𝑠)
10
𝑠𝑠 + 10
1
Controller Actuator Aircraft dynamics
Rate gyro
MEC208 Lab 2: Control System CAD and CAS using MATLAB
Page 14 of 14
© ver22-23-20230504, by C. S. Lim
Problem 10 [10 marks]
As a new control engineer in Suzhou electric vehicle company, you are assigned tasks to analyze
and propose a solution to the EV Interior permanent magnet motor’s speed control problem shown
in Figure P10, where R is the reference input, 𝑇𝑇𝑑𝑑 is the torque disturbance, and 𝜔𝜔 is the motor
speed. You are supposed to justify your design solution using the control system understanding
from Part 2 of the module (in the form of textual description), mathematical derivation, simulation
result, or any other means deemed appropriate.
Figure P10
(a) Parameters of the motor speed dynamic’s transfer function are measured by a junior
mechanical engineer as 𝐴𝐴 = 1 ± 0.01 and 𝐵𝐵 = 0.1 ± 0.01 , where the “±0.01 ” is the
measurement tolerance. Your first task is to propose a suitable form of controller 𝐺𝐺𝑐𝑐(𝑠𝑠) that
can eliminate the steady-state motor speed error due to step disturbance. Explain your
answer with sufficient evidences, and suggest the gain/parameter value(s) accordingly.
(b) If it is found later that a mistake was committed by the junior mechanical engineer, in which
the average 𝐵𝐵 value obtained through the experiments should be 0.01 instead of 0.1.
Discuss whether the proposed controller 𝐺𝐺𝑐𝑐(𝑠𝑠) by you in part (a) is still suitable. If yes,
explain and justify your answer with sufficient evidences; otherwise, explain and then
suggest modification to the proposed controller 𝐺𝐺𝑐𝑐(𝑠𝑠) for improvement.