You are on page 1of 41

MATLAB and its

Control Toolbox
1
Outline

MATLAB and Toolboxes
MATLAB and Control
Control System Toolbox
Simulink
2
MATLAB

Aerospace and Defense
Automotive
Biotech, Medical, and
Pharmaceutical
Chemical and Petroleum
Communications
Computers and Office
Equipment
Education
Electronics and
Semiconductor
Financial Services
Industrial Equipment and
Machinery
Instrumentation
Utilities and Energy

3
MATLAB Toolboxes
4
MATLAB
Math and
optimization
Toolboxes

Optimization
Symbolic Math
Partial Diff. Eq.

Signal Processing
and communications
Toolboxes
Signal Processing
Communications
Filter Design
Filter Design HDL
Coder


Simulink
Product Family
Simulink
Simulink Accelerator
Simulink Report
Generator

.. Control System Design
and Analysis
Toolboxes

Simulink Control Design
Simulink Response
Simulink Parameter

MATLAB and Control
5
MATLAB-Toolboxes for Control
Linear Control
Control System Toolbox
Simulink
Mu Toolbox


Nonlinear Control
Nonlinear Control Toolbox
Fuzzy Toolbox
Simulink
Identification
Identification Toolbox
Frequency-Domain ID Toolbox
Simulink
MATLAB and Control
Control Design Process
6
Control System Toolbox
Core Features
Tools to manipulate LTI models

Classical analysis and design
Bode, Nyquist, Nichols diagrams
Step and impulse response
Gain/phase margins
Root locus design

Modern state-space techniques
Pole placement
LQG regulation
7
Control System Toolbox
LTI Objects (Linear Time Invariant)

4 basic types of LTI models
Transfer Function (TF)
Zero-pole-gain model (ZPK)
State-Space models (SS)
Frequency response data model (FRD)

Conversion between models

Model properties (dynamics)
8
Control System Toolbox
1
1 2 1
1
1 1 1
1 2 1
1 1 1
...
( )
...
, ... numerator coefficients
, ... denominator coefficients
n n
n
m m
m
n
m
p s p s p
H s
q s q s q
where
p p p
q q q

+
+
+
+ + +
=
+ + +
9
Transfer Function
Control System Toolbox

Consider a linear time invariant (LTI) single-
input/single-output system


Applying Laplace Transform to both sides with
zero initial conditions
'' 6 ' 5 4 ' 3 y y y u u + + = +
2
( ) 4 3
( )
( ) 6 5
Y s s
G s
U s s s
+
= =
+ +
10
Transfer Function
Control System Toolbox
11
>> num = [4 3];
>> den = [1 6 5];
>> sys = tf(num,den)
Transfer function:
4 s + 3
-----------------
s^2 + 6 s + 5
Transfer Function
>> [num,den] =
tfdata(sys,'v')
num =
0 4 3
den =
1 6 5


Control System Toolbox
12

Zero-pole-gain model (ZPK)
1 2
1 2
1 2 1
1 1 1
( )( ) ... ( )
( )
( )( ) ... ( )
, ... the zeros of H(s)
, ... the poles of H(s)
n
m
n
m
s p s p s p
H s K
s q s q s q
where
p p p
q q q
+
+
+ +
=
+ +
Control System Toolbox


'' 6 ' 5 4 ' 3 y y y u u + + = +
13

Consider a Linear time invariant (LTI) single-
input/single-output system


Applying Laplace Transform to both sides with
zero initial conditions
2
( ) 4 3 4( 0.75)
( )
( ) ( 1)( 5) 6 5
Y s s s
G s
U s s s s s
+ +
= = =
+ + + +

Zero-pole-gain model (ZPK)
Control System Toolbox


14

Zero-pole-gain model (ZPK)
>> sys1 =
zpk(-0.75,[-1 -5],4)

Zero/pole/gain:
4 (s+0.75)
-----------
(s+1) (s+5)
>> [ze,po,k] = zpkdata(sys1,'v')
ze =
-0.7500
po =
-1
-5
k =
4
Control System Toolbox


.
state vector
input and output vectors
, , state-space matrices
x A x Bu
y C x Du
where
x
u and y
A B C and D
= +
= +
15
State-Space Model (SS)
State-Space Models
Consider a Linear time invariant (LTI) single-
input/single-output system

State-space model for this system is
'' 6 ' 5 4 '' 3 y y y u u + + = +
1 1
2 2
' 0 1 0
' 5 6 1
x x
u
x x
( ( ( (
= +
( ( ( (


16
1
2
(0) 0
(0) 0
x
x
( (
=
( (

| |
1
2
3 4
x
y
x
(
=
(

Control System Toolbox
Control System Toolbox

>> sys = ss([0 1; -5 -6],[0;1],[3,4],0)
a =
x1 x2
x1 0 1
x2 -5 -6


b =
u1
x1 0
x2 1
17
c =
x1 x2
y1 3 4



d =
u1
y1 0



State-Space Models
Control System Toolbox
State Space Models
rss, drss - Random stable state-space models.
ss2ss - State coordinate transformation.
canon - State-space canonical forms.
ctrb - Controllability matrix.
obsv - Observability matrix.
gram - Controllability and observability gramians.
ssbal - Diagonal balancing of state-space realizations.
balreal - Gramian-based input/output balancing.
modred - Model state reduction.
minreal - Minimal realization and pole/zero cancellation.
sminreal - Structurally minimal realization.

18



Conversion between different models
19
Transfer function
State Space
Zero-pole-gain
tf2ss
ss2tf
tf2zp
zp2tf
ss2zp
zp2ss
Model Dynamics
pzmap: Pole-zero map of LTI models.
pole, eig - System poles
zero - System (transmission) zeros.
dcgain: DC gain of LTI models.
bandwidth - System bandwidth.
iopzmap - Input/Output Pole-zero map.
damp - Natural frequency and damping of
system
esort - Sort continuous poles by real part.
dsort - Sort discrete poles by magnitude.
covar - Covariance of response to white noise.
20
Time Response of Systems
Impulse Response (impulse)
Step Response (step)
General Time Response (lsim)
Polynomial multiplication (conv)
Polynomial division (deconv)
Partial Fraction Expansion (residue)
gensig - Generate input signal for lsim.
21
Control System Toolbox
Time Response of Systems
22
The impulse response of a system is its
output when the input is a unit impulse.
The step response of a system is its output
when the input is a unit step.
The general response of a system to any
input can be computed using the lsim
command.
Control System Toolbox
Control System Toolbox
1 s 5 s 4 s 2
2 s 3
) s ( G
2 3
+ + +
+
=
) t 5 . 0 sin( ) t ( u =
23
Problem Given the LTI system


Plot the following responses for:
The impulse response using the impulse command.
The step response using the step command.
The response to the input calculated using
both the lsim commands



Time Response of Systems
Control System Toolbox
24
Time Response of Systems
Frequency Domain Analysis and
Design

Root locus analysis
Frequency response plots
Bode
Phase Margin
Gain Margin
Nyquist
25
Frequency Domain Analysis and Design
26
Root Locus
The root locus is a plot in the s-plane of all
possible locations of the poles of a closed-loop
system, as one parameter, usually the gain, is
varied from 0 to .

By examining that plot, the designer can make
choices of values of the controllers parameters,
and can infer the performance of the controlled
closed-loop system.
Frequency Domain Analysis and Design
Plot the root locus of the following system
27
2
( 8)
( )
( 2)( 8 32)
K s
G s
s s s s
+
=
+ + +
Root Locus
Frequency Domain Analysis and Design
28
Root Locus
>> rlocus(tf([1 8], conv(conv([1 0],[1 2]),[1 8 32])))
Typically, the analysis and design of a control
system requires an examination of its
frequency response over a range of
frequencies of interest.

The MATLAB Control System Toolbox provides
functions to generate two of the most
common frequency response plots: Bode Plot
(bode command) and Nyquist Plot (nyquist
command).
29
Frequency Response: Bode and Nyquist Plots
Problem
Given the LTI system


Draw the Bode diagram for 100 values of
frequency in the interval .
30
=
+
1
G( s)
s( s 1)
1
10 10

(

Control System Toolbox
Frequency Response: Bode Plot
Control System Toolbox
>>bode(tf(1, [1 1 0]), logspace(-1,1,100));
31
Frequency Response: Bode Plot
Control System Toolbox
32

The loop gain Transfer function G(s)
The gain margin is defined as the multiplicative
amount that the magnitude of G(s) can be increased
before the closed loop system goes unstable
Phase margin is defined as the amount of additional
phase lag that can be associated with G(s) before the
closed-loop system goes unstable
Frequency Response: Nyquist Plot

16 s 24 . 320 s 81 . 1604 s 2 . 24 s
640 s 1280
) s ( G
2 3 4
+ + + +
+
=
4 3
10 10

(

33
Problem
Given the LTI system
Draw the bode and nyquist plots for 100 values of frequencies
in the interval . In addition, find the gain and phase
margins.
Control System Toolbox
Frequency Response: Nyquist Plot
Control System Toolbox
w=logspace(-4,3,100);
sys=tf([1280 640], [1 24.2 1604.81 320.24 16]);
bode(sys,w)
[Gm,Pm,Wcg,Wcp]=margin(sys)
%Nyquist plot
figure
nyquist(sys,w)


34
Frequency Response: Nyquist Plot
Control System Toolbox
35
Frequency Response: Nyquist Plot
The values of gain and phase margin and corresponding frequencies are

Gm = 29.8637 Pm = 72.8960 Wcg = 39.9099 Wcp = 0.9036
Control System Toolbox
36
Frequency Response Plots

bode - Bode diagrams of the frequency response.
bodemag - Bode magnitude diagram only.
sigma - Singular value frequency plot.
Nyquist - Nyquist plot.
nichols - Nichols plot.
margin - Gain and phase margins.
allmargin - All crossover frequencies and related gain/phase
margins.
freqresp - Frequency response over a frequency grid.
evalfr - Evaluate frequency response at given frequency.
interp - Interpolates frequency response data.
Control System Toolbox
Design: Pole Placement
place - MIMO pole placement.
acker - SISO pole placement.
estim - Form estimator given estimator gain.
reg - Form regulator given state-feedback and
estimator gains.

37
Control System Toolbox
Design : LQR/LQG design
lqr, dlqr - Linear-quadratic (LQ) state-feedback
regulator.
lqry - LQ regulator with output weighting.
lqrd - Discrete LQ regulator for continuous plant.
kalman - Kalman estimator.
kalmd - Discrete Kalman estimator for continuous
plant.
lqgreg - Form LQG regulator given LQ gain and
Kalman estimator.
augstate - Augment output by appending states.
38
Control System Toolbox
39
Analysis Tool: ltiview
File->Import to import system from Matlab workspace
40
Design Tool: sisotool
Design with root locus, Bode, and Nichols plots of
the open-loop system.
Cannot handle continuous models with time delay.
Control System Toolbox
%Define the transfer function of a plant
G=tf([4 3],[1 6 5])

%Get data from the transfer function
[n,d]=tfdata(G,'v')

[p,z,k]=zpkdata(G,'v')

[a,b,c,d]=ssdata(G)

%Check the controllability and observability of the system
ro=rank(obsv(a,c))
rc=rank(ctrb(a,b))

%find the eigenvalues of the system
damp(a)

%multiply the transfer function with another transfer function
T=series(G,zpk([-1],[-10 -2j +2j],5))

%plot the poles and zeros of the new system
iopzmap(T)

%find the bandwidth of the new system
wb=bandwidth(T)

%plot the step response
step(T)

%plot the rootlocus
rlocus(T)

%obtain the bode plots
bode(T)
margin(T)


%use the LTI viewer
ltiview({'step';'bode';'nyquist'},T)

%start the SISO tool
sisotool(T)
41
M-File Example

You might also like