Control System Design of LTI Systems Using MATLAB
Control System Design of LTI Systems Using MATLAB
MATLAB provides several tools for control design. These tools include
• Simulink
• Control System Toolbox
• Real-Time Workshop
• Simscape
• Simulink Control Design
• Stateflow
, which can be used to support each stage of the development, from plant modelling to deployment
through automatic code generation. The flexibility of the tools makes them one of the first choices, if
not the first, in control design for control engineers around the world.
This document is purposed to provide you the introduction of what Control System Toolbox
can do in the design of LTI (Linear Time Invariant) systems. In general, there are four steps of
control design: plant modelling and analysis, controller designs, verifying and refining your designs,
and deploying them. Here we focus on the modelling and design parts by simulation.
You can build a linear model of your plant with the use of physical model, or fitting test data
using System Identification Toolbox if the physical model is not available. Either model can be
imported into Control System Toolbox as an object. Once a model is created, you can use the toolbox
to analyse and control it. Some MATLAB command-line functions for modelling and analysis of LTI
systems are listed in Table 1. Using these commands, you can view and compare the time and
frequency responses of several linear models at once. You can also inspect key performance
parameters, such as rise time, settling time, percent overshoot, and stability margins.
Table 1 Examples of MATLAB commands for modelling and analysis of LTI systems
Command Description
Creation of LTI models
tf Create a transfer function model.
ss Create a state-space model.
zpk Create a zero/pole/gain model.
Data extraction
tfdata Extract numerator(s) and denominator(s).
ssdata Extract state-space matrices.
zpkdata Extract zero/pole/gain data.
Conversions
tf Conversion to transfer function.
ss Conversion to state space.
zpk Conversion to zero/pole/gain.
c2d Continuous to discrete conversion.
d2c Discrete to continuous conversion.
Model dynamics
pole, eig System poles
pzmap pole-zero map
dcgain DC gain
damp Natural frequency and damping of system poles
pade Pade approximation of time delays.
Time response
step Step response.
Impulse Impulse response.
S Wongsa 1
lsim Response to arbitrary inputs.
Initial Response of state-space system with given initial state.
Frequency response
bode Bode plot of the frequency response.
nyquist Nyquist plot.
nichols Nichols chart.
margin Gain and phase margins.
System interconnections
parallel Generalized parallel connection.
series Generalized series connection.
feedback Feedback connection of two systems.
2. CONTROL DESIGN
For designing SISO control systems, you can use command-line and GUI tools of
Control System Toolbox. Some MATLAB command-line functions for control design are listed in
Table 2. The MATLAB control design GUI, known as the SISO Design Tool, facilitates the design of
compensators for single-input, single output feedback loops. It lets your rapidly perform control
design tasks, such as manipulating closed-loop dynamics using root locus techniques, adding
compensator poles and zeros, and adjusting phase and gain margins.
Command Description
rlocus Root locus plot.
rlocfind Interactive root locus gain determination.
zgrid Generate z-plane grid lines for a root locus or pole-zero map.
acker SISO (single-input-single-output) pole placement.
place MIMO (multiple-input-multiple-output) pole placement.
In what follows, examples of digital control designs using MATLAB Control Toolbox are
provided. These examples are obtained and available freely on internet. You are strongly
recommended to try on all examples by yourself and read the references for more details.
S Wongsa 2
REFERENCES
3. F. Haugen, Tutorial for Control System Toolbox for MATLAB, October 11, 2003.
Available: http://techteach.no/publications/control_system_toolbox/
S Wongsa 3
)\EQTPI-'VYMWIGSRXVSP
%ZEMPEFPILXXT[[[IRKMRYQMGLIHYKVSYTGXQI\EQTPIWGVYMWIHMK''60LXQP
)\EQTPI--('QSXSVWTIIHGSRXVSP
%ZEMPEFPILXXT[[[IRKMRYQMGLIHYKVSYTGXQI\EQTPIWQSXSVHMKMXEPLXQP
)\EQTPI---('QSXSVTSWMXMSRGSRXVSP
%ZEMPEFPILXXT[[[IRKMRYQMGLIHYKVSYTGXQI\EQTPIWQSXSVHMKMXEPLXQP
)\EQTPI-:&EPPERH&IEQTVSFPIQ
YWMRK4-('SRXVSP
%ZEMPEFPILXXT[[[IRKMRYQMGLIHYKVSYTGXQI\EQTPIWFEPPHMK&&4-(LXQP
)\EQTPI:&SHIHMEKVEQHIWMKR('QSXSV
%ZEMPEFPILXXT[[[QEXL[SVOWGSQEGGIWWLIPTHIWOLIPTXSSPFS\GSRXVSPKIXWXEVXJLXQP
)\EQTPI:-6SSXPSGYWHIWMKR
)PIGXVSL]HVEYPMGWIVZSQIGLERMWQ
%ZEMPEFPILXXT[[[QEXL[SVOWGSQEGGIWWLIPTHIWOLIPTXSSPFS\GSRXVSPKIXWXEVXJLXQP