Lab # 05
Lab # 05
Lab Experiment # 05
Implementation of Linear Time-Invariant Systems in MATLAB
Mass‐Spring System Model
Transfer Function
Linear Time‐Invariant Systems
Examples of Creating LTI Models
Simulation of Linear systems to different inputs
Objective:
This experiment has following two objectives:
Apparatus/Software:
Following equipment/software is required:
MATLAB
Theory:
Mass-Spring System Model:
Fig. 3.1
The differential equation for the above Mass-Spring system can be derived as follows
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Transfer Function:
Applying the Laplace transformation while assuming the initial conditions are zeros,
we get
num=[1 0];
den=[1 2 1];
sys=tf(num,den)
sys =
s
-------------
s^2 + 2 s + 1
sys =
s
-------------
s^2 + 2 s + 1
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
s
-------
(s+1)^2
Continuous-time zero/pole/gain model. Produces the same transfer function built in
the TF example, but the representation is now ZPK.
sys =
-0.776 s (s-1)
--------------------
(s+1) (s+3) (s+0.28)
pzmap
Compute pole-zero map of LTI models
pzmap(sys)
pzmap(sys1,sys2,...,sysN)
[p,z] = pzmap(sys)
Description:
pzmap(sys) plots the pole-zero map
of the continuous- or discrete-time LTI
model sys. For SISO systems, pzmap plots
the transfer function poles and zeros. The
poles are plotted as x's and the zeros are
plotted as o's. 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.
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Fig. 3.2
Sample:
Plot the poles and zeros of the continuous-time system.
Matlab Code:
pzmap(H)
Output:
Pole-Zero Map
1.5
1
Imaginary Axis (seconds-1)
0.5
-0.5
-1
-1.5
-2.5 -2 -1.5 -1 -0.5 0
Real Axis (seconds -1)
Fig. 3.3
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Fig. 3.4
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)
Impulse Response
1
0.5
0
Amplitude
-0.5
-1
-1.5
-2
0 1 2 3 4 5 6
Time (seconds)
Fig. 3.5
To obtain a step response type
>> H=tf([2 5 1],[1 2 3]);
>> step(H)
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Step Response
2.5
1.5
Amplitude
0.5
0
0 1 2 3 4 5 6 7 8
Time (seconds)
Fig. 3.6
Time-Interval Specification:
To contain the response of the system you can also specify the time interval to
simulate the system to. For example,
0.5
0
Amplitude
-0.5
-1
-1.5
-2
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
Fig. 3.7
For step response:
Step Response
2.5
1.5
Amplitude
1
0.5
0
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
Fig. 3.8
Simulation To Arbitrary Inputs:
To simulates the (time) response of continuous or discrete linear systems to arbitrary
inputs use ‘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). Simulate and plot the response of the system.
First generate the square wave with gensig. Sample every 0.1 second during 10
seconds:
[u,t]=gensig('square',4,10,0.1);
H = tf([2 5 1],[1 2 3])
H=
2 s^2 + 5 s + 1
---------------
s^2 + 2 s + 3
Continuous-time transfer function.
lsim(H,u,t)
Linear Simulation Results
2.5
1.5
0.5
Amplitude
-0.5
-1
-1.5
-2
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
Fig. 3.9
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Lab Tasks
Q1: Consider the transfer function
Using MATLAB plot the pole zero map of the above system.
Solution:
Matlab Code:
sys=tf([6 0 1],[1 3 3 7])
pzmap(sys)
Output:
sys =
6 s^2 + 1
---------------------
s^3 + 3 s^2 + 3 s + 7
Pole-Zero Map
2
1.5
1
Imaginary Axis (seconds-1)
0.5
-0.5
-1
-1.5
-2
-3 -2.5 -2 -1.5 -1 -0.5 0
Real Axis (seconds -1)
Fig. 3.10
Q2:
a) Obtain the impulse response for the following system:
Solution:
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
a)
Matlab Code:
sys=tf([1],[1 0.2 1])
impulse(sys)
Output:
sys =
1
---------------
s^2 + 0.2 s + 1
Impulse Response
1
0.8
0.6
0.4
0.2
Amplitude
-0.2
-0.4
-0.6
-0.8
0 10 20 30 40 50 60
Time (seconds)
Fig. 3.11
b)
Matlab Code:
sys=tf([0 1 0],[1 0.2 1])
step(sys)
Output:
sys =
s
---------------
s^2 + 0.2 s + 1
Continuous-time transfer function.
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Step Response
1
0.8
0.6
0.4
0.2
Amplitude
-0.2
-0.4
-0.6
-0.8
0 10 20 30 40 50 60
Time (seconds)
Fig. 3.12
c)
The results in a and b are same because in part a, numerator has no zero but in part b
numerator has zero due to this reason they are same.
Q3: A system has a transfer function
Plot the response of the system when R(s) is a unit impulse and unit step for the
parameter z=3, 6 and 12.
Solution:
For Impulse response:
At z=3
Matlab Code:
z=3;
sys=tf([15/z 15],[1 3 15])
impulse(sys)
Output:
sys =
5 s + 15
--------------
s^2 + 3 s + 15
Continuous-time transfer function.
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Impulse Response
5
Amplitude
1
-1
-2
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
Fig. 3.13
At z=6
Matlab Code:
z=6;
sys=tf([15/z 15],[1 3 15])
impulse(sys)
Output:
sys =
2.5 s + 15
--------------
s^2 + 3 s + 15
2.5
1.5
Amplitude
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (seconds)
Fig. 3.14
At z=12
Matlab Code:
z=12;
sys=tf([15/z 15],[1 3 15])
impulse(sys)
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
Output:
sys =
1.25 s + 15
--------------
s^2 + 3 s + 15
2.5
1.5
Amplitude
0.5
-0.5
-1
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (seconds)
Fig. 3.15
sys =
5 s + 15
--------------
s^2 + 3 s + 15
1.4
1.2
Amplitude
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
Fig. 3.16
At z=6
Matlab Code:
z=6;
sys=tf([15/z 15],[1 3 15])
step(sys)
Output:
sys =
2.5 s + 15
--------------
s^2 + 3 s + 15
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
Fig. 3.17
At z=12
Matlab Code:
z=12;
sys=tf([15/z 15],[1 3 15])
Linear Control System, Lab Manual, MTE Department, Wah Engineering College
step(sys)
Output:
sys =
1.25 s + 15
--------------
s^2 + 3 s + 15
Continuous-time transfer function.
Step Response
1.4
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
Fig. 3.18
Conclusion:
In this lab we learnt about the Linear Time-Invariant Systems and Representation. We
have also learnt 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.