You are on page 1of 52

# TimeDomain Analysis of and

Design
of Control Systems

Dept. of Electrical Engineering
National Institute of Technology Rourkela, India

Time Response

## TimeDomain Analysis of and Design

of Control Systems

## Transient Response Specifications of a

Second Order System

## SecondOrder Systems and

TransientResponseSpecifications
The response for a unit step input of an underdamped second order system

Rise Time

Peak Time

It follows

## Peak Time corresponds to one halfcycle of the

frequency damped oscillations

Maximum Overshoot
The maximum overshoot Mp occurs at the peak time
Thus from equation

## Relationship between the maximum

percent overshoot

Settling Time Ts

Delay Time
We define the delay time by the following approximate formula:

## Remarks on time-domain responses

Example

Example

Transient-response analysis
with MATLAB.

Introduction
The practical procedure for plotting time response
curves of systems higher than second-order is
through computer simulation.
In this part, computational approach to the
transient-response analysis with MATLAB is
presented through various examples.

## Representation of a Linear System

A linear system can be represented either:

In state-variable form:
with the values of the matrices F, G, H and the constant J.

Or
By its transfer function:
Either in numerator-denominator polynomial form,
Or in pole-zero form
Or in partial expansion form

## Example 1: Standard State-Variable

Form
Consider a linear system described by:

1
0
0
F
G

0 0.05
0.001
H 0 1

J 0

## Unit-Step Response for a Control System

defined in State-Variable form
F = [0 1;0 -0.05];
G = [0;0.001];
H = [0 1];
J = 0;
step(F,G,H,J)

## % generates plot of unit-step

response (with Time (sec) and
Amplitude labels on x- and y-axis
respectively, and Step response
title )
Note: time vector is automatically
determined when t is not explicitly
included in the step command.

## 50-Step Response for a system defined in

State-Variable form
F = [0 1;0 -0.05];
G = [0;0.001];
H = [0 1];
J = 0;
sys = ss(F, 50*G, H, J);
step(sys)

## % defines system by its state-space

matrices
% generates plot of 50-step
response vs t
Note: State-variable form is also
called state-space form

## Unit-Step Response on specific time interval

for a system defined in State-Variable form
F = [0 1;0 -0.05];
G = [0;0.001];
H = [0 1];
J = 0;
sys = ss(F, G, H, J);
t = 0:0.2:100;
y=step(sys,t);
plot(t,y)

## % defines system by its state-space

matrices
% setup time vector ( dt = 0.2 sec)
% plots unit step response versus
time ranging from 0 to 100 sec
(with x- and y-labels)

## Impulse Response for a system defined in

State-Variable form
F = [0 1;0 -0.05];
G = [0;0.001];
H = [0 1];
J = 0;
sys = ss(F, G, H, J);
impulse(sys)

## % defines system by its state-space

matrices
% generates plot of impulse response
(with labels & title)
Note: an alternative use of impulse
command is:
impulse(F,G,H,J)

## Example 2: Initial Conditions

Consider a linear system such as:
x 10 x 5 x

x(0) 2, x (0) 1
In state-variable form, it is described by:
1
0
0
F
G

10 5
0
H 1 0

J 0

x
X
x

2
X(t 0)
1

## Initial Condition Response for a system

defined in State-Variable form
F = [0 1;-10 -5];
G = [0;0];
H = [1 0];
J = 0;
t = 0:0.5:3;
y=initial(F,G,H,J,[2;1],t);

plot(t,y)

matrices

## % set up time vector

% computes initial condition
response
% generates plot of response
Note: Initial conditions are
defined between [ ].

## Example 3: Transfer function in

numerator-denominator form
Consider a linear system whose the transfer
function is:

N ( s)
G( s)
D( s )

## Unit-Step Response for a system Transfer

Function defined in num/den polynomial form

25
G ( s) 2
s 4s 25
num = [0 0 25];
den = [1 4 25];
step(num,den)

% defines numerator
% defines denominator
% generates plot of unit-step
response (with labels and title)

## 50-Step Response for a system Transfer

Function defined in num/den polynomial form
Y( s )
1
G( s ) 2
X( s )
s 0.2s 1
1
50
50
1
Y( s ) 2
2
s 0.2s 1 s
s
0.2
s 1 s
Gnew ( s )

num = [0 0 50];
den = [1 0.2 1];
step(num,den)

unit step

% defines numerator
% defines denominator
% generates plot of 50-step
response (with labels and title)

## Unit-Step Responses for system Transfer

Functions defined by
1
G( s) 2
, 0, 0.2, 0.4,,1
s 2s 1
t = 0:0.2:10;
zeta = [0 0.2 0.4 0.6 0.8 1];
for n = 1:6;
num = [0 0 1];
den = [1 2*zeta(n) 1];
[y(1:51,n),x, t] = step(num,den,t);
end
plot(t,y)

% defines zeta,
numerator and
denominator

## % generates 2-D plot of

the n unit-step
responses (on same
graph)

## Unit-Step Responses for system Transfer

Functions defined by
1
G( s) 2
, 0, 0.2, 0.4,,1
s 2s 1
t = 0:0.2:10;
zeta = [0 0.2 0.4 0.6 0.8 1];
for n = 1:6;
num = [0 0 1];
den = [1 2*zeta(n) 1];
[y(1:51,n),x, t] = step(num,den,t);
end
mesh(t,zeta,y)

% defines zeta,
numerator and
denominator

## % generates 3-D plot of

the n unit-step
responses (on same
graph)

## Unit Step Response for a 3rd order system

defined by its Transfer Function
1
1
G(s) 2
3 2
s s 1 s s s s

num = [0 0 0 1];
den = [1 1 1 0];
step(num,den)

% defines numerator
% defines denominator
% generates plot of unit-step
response (with x- and y-labels)

## Impulse Response for a system Transfer

Function defined in num/den polynomial form

1
G( s) 2
s 0.2s 1
num = [0 0 1];
den = [1 0.2 1];
sys=tf(num,den);
impulse(sys)

% defines numerator
% defines denominator
% defines system by its transfer
function
% generates plot of impulse response
Note: an alternative use of impulse
command is:
impulse(num,den)

Response
Y( s )
1
G( s ) 2
X( s )
s 0.2s 1
1
s
1
Y( s ) 2
1 2
s 0.2s 1
s
0.2
s 1 s

Gnew ( s )

num = [0 1 0];
den = [1 0.2 1];
step(num,den)

unit step

## % defines numerator of sG(s)

% defines denominator
% generates plot of impulse
response (with x- and y-labels)

## Example 4: Transfer function in standard

2nd order system
Consider a standard second order system:

G( s ) 2
2
s 2 0 s 0
2
0

damping
ratio

natural
undamped
frequency

## MATLAB Description of Standard Second

Order System
w0 = 5;
damping_ratio = 0.4;

[num0,den] = ord2(w0,damping_ratio);
num = 5^2*num0;
printsys(num,den,s)

% defines natural
undamped frequency
% defines damping ratio
% defines numerator
% prints num/den as a
ratio of s-polynomials
num/den =

25
s 2 4s 25

## Example 5: Transfer function in polezero form

Consider a linear system whose the transfer
function is:

( s z1 )(s z2 ) ( s zm )
G( s)
( s p1 )(s p2 ) ( s pn )

## Unit-Step Response for a system Transfer

Function defined in pole-zero form
( s 2)( s 4)
G( s) 2
( s s)( s 3)
num = conv([1 2],[1 4]);
den = conv([1 1 0],[1 3]);

step(num,den)

## % defines zero ratios

% defines pole ratios
% plots unit-step response

## Example 6: Transfer function in Partial

Expansion Form
Consider a linear system whose the transfer
function is:

Kn
K1
K2
G( s)

s p1 s p2
s pn

## Unit-Step Response for a system Transfer

Function defined in partial expansion form
8 3 3 2 1/ 6
G( s)

s
s 1 s 3
r = [8/3 -3/2 -1/6];
p = [0 -1 -3];
K = [] ;
[num,den] = residue(r,p,K)
step(num,den)

% defines residues
% defines poles
% convert partial expansion
form to polynomial form
% plots unit-step response
Note: to see ratio use
printsys(num,den,s)

Convertion
Transfer function:

[num,den] = ss2tf(F,G,H,J)
In num-den polynomial
form
[z,p,k]=tf2zp(num,den)
[z,p,k] = ss2zp(F,G,H,J)
In zero-pole form

## In partial expansion form

[r,p,K]=residue(num,den)

State-variable form

Convertion
Transfer function:

[F,G,H,J] = tf2ss(num,den)
In num-den polynomial
form
[num,den]=zp2tf(z,p,k)
[F,G,H,J] = zp2ss(z,p,k)
In zero-pole form

## In partial expansion form

[num,den]=residue(r,p,K)

State-variable form

Cosmetic

symbols,

## Title, Grid & Labels on the graphical screen

title (Step-response);
grid;

## % writes the title Step-response

% draws a grid between ticks

sys = ;

% defines system by

t = 0:0.2:100;
y = step(sys,t);
plot (t,y);
xlabel(t (sec));
ylabel(response)

## % setup time vector ( dt = 0.2 sec)

% computes step response
% plots step response
% writes label t (sec) on x-axis.
% writes label response on y-axis.

## Writing Text on the Graphical Screen

text(3.4, -0.06, Y111);
text(4.1,1.86,\zeta);
gtext(blabla)

## % writes Y111 beginning at the

coordinates x=3.4, y=-0.06.
% writes at x=4.1, y=1.86
% waits until the cursor is
positioned (using the mouse) at
the desired position in the screen
and then writes on the plot at the
cursors location the text
enclosed in simple quotes.
Note: any number of gtext
command can be used in a plot.

## Use of Symbols in graph

25
G ( s) 2
s 6s 25
num = [0 0 25];
den = [1 6 25];
t = 0:0.5:5;
y = step(num,den,t);
plot(t,y,o,t,1,-);

% defines numerator
% defines denominator
% defines time vector
% computes unit-step response
% plot of unit step response y and
unit step input 1 using oooo and
---- symbols respectively.

## Use of Symbols in graph (contd)

25
G ( s) 2
s 6s 25
num = [0 0 25];
den = [1 6 25];
t = 0:0.5:5;
y = step(num,den,t);
plot(t,y,x,t,y,-);

% defines numerator
% defines denominator
% defines time vector
% computes step response
% plot of unit step response y
using -x-x-x-x- symbols