0% found this document useful (0 votes)
236 views6 pages

Lab 4: Linear Time-Invariant Systems and Representation: Objectives

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 6

Control Systems Lab FURC Department of Electrical Engineering

Lab 4: Linear Time-invariant Systems and Representation

Objectives: This experiment has following two 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:

1 Summarized learning outcomes.

2 MATLAB scripts and their results should be reported properly.

Mass-Spring System Model


The spring force is assumed to be either linear or can be approximated by a linear function
Fs(x)= Kx, B is the friction coefficient, x(t) is the displacement and Fa(t) is the applied force:

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

( M s 2+ Bs+ K )∗X ( s ) =Fa ( s)

Then the transfer function representation of the system is given by

1
T . F= 2
( M s + Bs+ K )

Linear Time-Invariant Systems in MATLAB:

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:

Transfer functions (TF), for example,

s+2
P ( s )= 2
s + s +10

Note: All LTI models are represented as a ratio of polynomial functions

Examples of Creating LTI Models

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.

Example of Creating Transfer Function Models

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.

Example of Creating Zero-Pole-Gain Models

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.

>>sys=zpk([1 0], [-1 -3 -.28],[.776])


Zero/pole/gain:
0.776 s (s-1)
--------------------
(s+1) (s+3) (s+0.28)

Plotting poles and zeros of a system:


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.

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)

Simulation of Linear systems to different inputs


impulse, step and lsim

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)

Simulation to Arbitrary Inputs:

To simulates the (time) response of continuous or discrete


linear systems to arbitrary inputs use

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).

Simulate and plot the response of the system

2 s2 +5 s+1
s 2+2 s+3

to a square wave with period of four seconds.


First generate the square wave with gensig. Sample every 0.1 second during 10 seconds:
>>[u,t] = gensig(‘square’,4,10,0.1);
Then simulate with lsim.
>> H = tf([2 5 1],[1 2 3])
Transfer function:
2 s^2 + 5 s + 1
s^2 + 2 s + 3
>> lsim(H,u,t)

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

b. Obtain the unit step response for the following system


s
C ( s) = 2
s +0.2 s+1

c. Explain why the results in a. and b. are same?

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.

You might also like