7/2/2015MATLAB1. MATLAB MATLAB and Toolboxes MATLAB and Control Control System Toolbox Simulink...
-
Upload
samuel-jacobs -
Category
Documents
-
view
235 -
download
1
Transcript of 7/2/2015MATLAB1. MATLAB MATLAB and Toolboxes MATLAB and Control Control System Toolbox Simulink...
04/19/23 MATLAB 1
MATLAB MATLAB and Toolboxes MATLAB and Control Control System Toolbox Simulink
04/19/23 MATLAB Control Toolbox 2
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
04/19/23 MATLAB Control Toolbox 3
04/19/23 MATLAB Control Toolbox 4
The MathWorks Product Family
04/19/23 MATLAB Control Toolbox 5
MATLAB
Math and optimization
Toolboxes
Optimization Symbolic Math Partial Diff. Eq.…
Signal Processingand communications
ToolboxesSignal Processing Communications Filter Design Filter Design HDL Coder …
SimulinkProduct Family
Simulink® Simulink Accelerator Simulink Report Generator
…
….. Control System Design and Analysis
Toolboxes
Simulink Control Design Simulink ResponseSimulink Parameter …
04/19/23 MATLAB Control Toolbox 6
MATLAB-Toolboxes for Control
Linear Control
Control System ToolboxSimulink®Mu Toolbox
Nonlinear Control
Nonlinear Control ToolboxFuzzy ToolboxSimulink®
Identification
Identification ToolboxFrequency-Domain ID ToolboxSimulink®
Control Design Process
04/19/23 MATLAB Control Toolbox 7
Modeling Tools
04/19/23 MATLAB Control Toolbox 8
Design and Analysis
04/19/23 MATLAB Control Toolbox 9
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
04/19/23 MATLAB Control Toolbox 10
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)
04/19/23 MATLAB Control Toolbox 11
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 pH s
q s q s q
where
p p p
q q q
04/19/23 MATLAB Control Toolbox 12
Transfer Function
Consider a linear time invariant (LTI) single-input/single-output system
Applying Laplace Transform to both sides with zero initial conditions
'' 6 ' 5 4 ' 3y y y u u
2
( ) 4 3( )
( ) 6 5
Y s sG s
U s s s
04/19/23 MATLAB Control Toolbox 13
Transfer Function
04/19/23 MATLAB Control Toolbox 14
>> 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
04/19/23 MATLAB Control Toolbox 15
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 pH s K
s q s q s q
where
p p p
q q q
'' 6 ' 5 4 ' 3y y y u u
04/19/23 MATLAB Control Toolbox 16
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 sG s
U s s ss s
Zero-pole-gain model (ZPK)
04/19/23 MATLAB Control Toolbox 17
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
.
state vector
input and output vectors
, , state-space matrices
x A x B u
y C x D u
where
x
u and y
A B C and D
04/19/23 MATLAB Control Toolbox 18
State-Space Model (SS)
Consider a Linear time invariant (LTI) single-input/single-output system
State-space model for this system is'' 6 ' 5 4 '' 3y y y u u
1 1
2 2
' 0 1 0
' 5 6 1
x xu
x x
04/19/23 MATLAB Control Toolbox 19
1
2
(0) 0
(0) 0
x
x
1
2
3 4x
yx
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
04/19/23 MATLAB Control Toolbox 20
c = x1 x2 y1 3 4
d = u1 y1 0
State-Space Models
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.
04/19/23 MATLAB Control Toolbox 21
04/19/23 MATLAB Control Toolbox 22
Transfer function State Space
Zero-pole-gain
tf2ss
ss2tf
tf2zpzp2tf ss2zp
zp2ss
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.
04/19/23 MATLAB Control Toolbox 23
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.
04/19/23 MATLAB Control Toolbox 24
Control System Toolbox
04/19/23 MATLAB Control Toolbox 25
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
1s5s4s2
2s3)s(G
23
)t5.0sin()t(u
04/19/23 MATLAB Control Toolbox 26
ProblemProblem Given the LTI systemGiven the LTI system
Plot the following responses for:Plot the following responses for: The impulse response using the The impulse response using the impulseimpulse command. command. The step response using the The step response using the stepstep command. command. The response to the input calculated using The response to the input calculated using
both the both the lsimlsim commands commands
Time Response of Systems
04/19/23 MATLAB Control Toolbox 27
Time Response of Systems
Root locus analysisRoot locus analysis Frequency response plotsFrequency response plots
BodeBode Phase MarginPhase Margin Gain MarginGain Margin
NyquistNyquist
04/19/23 MATLAB Control Toolbox 28
04/19/23 MATLAB Control Toolbox 29
Root Locus The root locus is a plot in the s-plane of all The root locus is a plot in the s-plane of all
possible locations of the poles of a closed-loop possible locations of the poles of a closed-loop system, as one parameter, usually the gain, is system, as one parameter, usually the gain, is varied from 0 to varied from 0 to ..
By examining that plot, the designer can make By examining that plot, the designer can make choices of values of the controller’s parameters, choices of values of the controller’s parameters, and can infer the performance of the controlled and can infer the performance of the controlled closed-loop system. closed-loop system.
Plot the root locus of the following Plot the root locus of the following systemsystem
04/19/23 MATLAB Control Toolbox 30
2
( 8)( )
( 2)( 8 32)
K sG s
s s s s
Root Locus
04/19/23 MATLAB Control Toolbox 31
Root Locus>> rlocus(tf([1 8], conv(conv([1 0],[1 2]),[1 8 32])))>> rlocus(tf([1 8], conv(conv([1 0],[1 2]),[1 8 32])))
Typically, the analysis and design of a Typically, the analysis and design of a control system requires an examination of control system requires an examination of its frequency response over a range of its frequency response over a range of frequencies of interest.frequencies of interest.
The MATLAB Control System Toolbox The MATLAB Control System Toolbox provides functions to generate two of the provides functions to generate two of the most common frequency response plots: most common frequency response plots: Bode Plot (bode command) and Nyquist Plot Bode Plot (bode command) and Nyquist Plot (nyquist command).(nyquist command).
04/19/23 MATLAB Control Toolbox 32
Frequency Response: Bode and Nyquist Plots
Problem Problem Given the LTI systemGiven the LTI system
Draw the Bode diagram for 100 values of Draw the Bode diagram for 100 values of frequency in the interval .frequency in the interval .
04/19/23 MATLAB Control Toolbox 33
1G(s )
s(s 1)
110 10
Control System ToolboxFrequency Response: Bode Plot
>>bode(tf(1, [1 1 0]), logspace(-1,1,100));>>bode(tf(1, [1 1 0]), logspace(-1,1,100));
04/19/23 MATLAB Control Toolbox 34
Frequency Response: Bode Plot
04/19/23 MATLAB Control Toolbox 35
The loop gain Transfer function The loop gain Transfer function G(s)G(s) The The gain margingain margin is defined as the multiplicative is defined as the multiplicative
amount that the magnitude of amount that the magnitude of G(s) G(s) can be increased can be increased before the closed loop system goes unstablebefore the closed loop system goes unstable
Phase marginPhase margin is defined as the amount of additional is defined as the amount of additional phase lag that can be associated with phase lag that can be associated with G(s)G(s) before the before the closed-loop system goes unstableclosed-loop system goes unstable
Frequency Response: Nyquist Plot
16s24.320s81.1604s2.24s
640s1280)s(G
234
4 310 10
04/19/23 MATLAB Control Toolbox 36
ProblemProblem Given the LTI systemGiven the LTI system
Draw the bode and nyquist plots for 100 values of frequencies Draw the bode and nyquist plots for 100 values of frequencies in the interval . In addition, find the gain and phase in the interval . In addition, find the gain and phase margins. margins.
Control System ToolboxFrequency Response: Nyquist Plot
w=logspace(-4,3,100);w=logspace(-4,3,100);
sys=tf([1280 640], [1 24.2 1604.81 320.24 16]);sys=tf([1280 640], [1 24.2 1604.81 320.24 16]);
bode(sys,w)bode(sys,w)
[Gm,Pm,Wcg,Wcp]=margin(sys)[Gm,Pm,Wcg,Wcp]=margin(sys)
%Nyquist plot%Nyquist plot
figurefigure
nyquist(sys,w)nyquist(sys,w)
04/19/23 MATLAB Control Toolbox 37
Frequency Response: Nyquist Plot
04/19/23 MATLAB Control Toolbox 38
Frequency Response: Nyquist Plot
The values of gain and phase margin and corresponding frequencies are The values of gain and phase margin and corresponding frequencies are
Gm = 29.8637 Pm = 72.8960 Wcg = 39.9099 Wcp = 0.9036Gm = 29.8637 Pm = 72.8960 Wcg = 39.9099 Wcp = 0.9036
04/19/23 MATLAB Control Toolbox 39
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.
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.
04/19/23 MATLAB Control Toolbox 40
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.
04/19/23 MATLAB Control Toolbox 41
04/19/23 MATLAB Control Toolbox 42
Analysis Tool: ltiview
File->Import to import system from Matlab workspace
04/19/23 MATLAB Control Toolbox 43
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 plantG=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 systemdamp(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 systemiopzmap(T)
%find the bandwidth of the new systemwb=bandwidth(T)
%plot the step responsestep(T)
%plot the rootlocusrlocus(T)
%obtain the bode plotsbode(T)margin(T)
%use the LTI viewerltiview({'step';'bode';'nyquist'},T)
%start the SISO toolsisotool(T)
04/19/23 MATLAB Control Toolbox 44
M-File Example