Lab 4: Linear Time-Invariant Systems and Representation: Objectives
Lab 4: Linear Time-Invariant Systems and Representation: Objectives
Lab 4: Linear Time-Invariant Systems and Representation: Objectives
1. Continued with the learning of Mathematical Modeling from previous experiment, we now
start focusing the linear systems. We will learn commands in MATLAB that would be used to
represent such systems in terms of transfer function or pole-zero-gain representations.
2. We will also learn how to make preliminary analysis of such systems using plots of poles and
zeros locations as well as time response due to impulse, step and arbitrary inputs.
Deliverables
A complete lab report including the following:
The differential equation for the above Mass-Spring system can be derived as follows
d 2 x( t) dx(t )
M 2
+B + kx ( t )=F a (t)
dt dt
1
Control Systems Lab FURC Department of Electrical Engineering
Transfer Function:
Applying the Laplace transformation while assuming the initial conditions are zeros, we get
1
T . F= 2
( M s + Bs+ K )
Control System Toolbox in MATLAB offers extensive tools to manipulate and analyze linear
time-invariant (LTI) models. It supports both continuous- and discrete-time systems. Systems
can be single-input/single-output (SISO) or multiple-input/multiple-output (MIMO). You can
specify LTI models as:
s+2
P ( s )= 2
s + s +10
Building LTI models with Control System Toolbox is straightforward. The following sections
show simple examples. Note that all LTI models, i.e. TF, ZPK and SS are also MATLAB
objects.
You can create transfer function (TF) models by specifying numerator and denominator
coefficients. For example,
>>num = [1 0];
>>den = [1 2 1];
>>sys = tf(num,den)
Transfer function:
s
-------------
2
Control Systems Lab FURC Department of Electrical Engineering
s^2 + 2 s + 1
A useful trick is to create the Laplace variable, s. That way, you can specify polynomials using s
as the polynomial variable.
>>s=tf('s');
>>sys= s/(s^2 + 2*s + 1)
Transfer function:
s
-------------
s^2 + 2 s + 1
This is identical to the previous transfer function.
To create zero-pole-gain (ZPK) models, you must specify each of the three components in vector
format. For example,
>>sys = zpk([0],[-1 -1],[1])
Zero/pole/gain:
s
-------
(s+1)^2
produces the same transfer function built in the TF example,
but the representation is now ZPK. This example shows a
more complicated ZPK model.
3
Control Systems Lab FURC Department of Electrical Engineering
pzmap(sys1,sys2,...,sysN) plots the pole-zero map of several LTI models on a single figure. The
LTI models can have different numbers of inputs and outputs. When invoked with left-hand
arguments,
[p,z] = pzmap(sys) returns the system poles and zeros in the column vectors p and z. No plot is
drawn on the screen. You can use the functions sgrid or zgrid to plot lines of constant damping
ratio and natural frequency in the s- or z- plane.
Example
Plot the poles and zeros of the continuous-time system.
2 s2 +5 s+1
s 2+2 s+3
>>H = tf([2 5 1],[1 2 3]); sgrid
>>pzmap(H)
You can simulate the LTI systems to inputs like impulse, step and other standard inputs and see
the plot of the response in the figure window. MATLAB command ‘impulse’ calculates the unit
impulse response of the system, ‘step’ calculates the unit step response of the system and ‘lsim’
simulates the (time) response of continuous or discrete linear systems to arbitrary inputs. When
invoked without left-hand arguments, all three commands plots the response on the screen. For
example:
To obtain an impulse response
>> H = tf([2 5 1],[1 2 3]);
>>impulse(H)
To obtain a step response type
>>step(H)
Time-interval specification:
To contain the response of the system you can also specify the time interval to simulate the
system to. For example,
>> t = 0:0.01:10;
>> impulse(H,t)
Or
>> step(H,t)
4
Control Systems Lab FURC Department of Electrical Engineering
‘lsim’. When invoked without left-hand arguments, ‘lsim’ plots the response on the screen.
lsim(sys,u,t) produces a plot of the time response of the LTI model sys to the input time history
‘t’,’u’. The vector ‘t’ specifies the time samples for the simulation and consists of regularly
spaced time samples.
T = 0:dt:Tfinal
The matrix u must have as many rows as time samples (length(t)) and as many columns as
system inputs. Each row u(I) specifies the input value(s) at
the time sample t(i).
2 s2 +5 s+1
s 2+2 s+3
5
Control Systems Lab FURC Department of Electrical Engineering
Exercise 1:
Consider the transfer function
6 s2 +1
G ( s )= 3
s +3 s 2+3 s+7
Using MATLAB plot the pole zero map of the above system.
Exercise 2:
a. Obtain the unit impulse response for the following system
1
C ( s) = 2
s +0.2 s+1
Exercise 3:
A system has a transfer function
15
X (s)
=
( z )
( s+ z )
2
R( s) s +3 s+15
Plot the response of the system when R(s) is a unit impulse and unit step for the parameter z=3, 6
and 12.
Exercise 4:
Consider the differential equation ÿ + 4 ẏ +4 y =u where y (0) = ẏ ( 0 )=0 and u(t ) is a unit step.
Determine the solution analytically and verify by co-plotting the analytical solution and the step
response obtained with ‘step’ function.