0% found this document useful (0 votes)
57 views

Assignment 1 Continued

The document discusses analyzing the step response of first and second order systems by varying the location of poles and zeros. For a first order system G1(s)=1/s+p, the rise time decreases as p increases, indicating faster response. For a second order system G2(s)=10/(s^2+as+10), rise time is fastest when a is lowest, while poles are at the origin for steady state value equal to input. Adding a pole or zero changes the response characteristics like rise time, overshoot etc. Location of poles and zeros significantly impacts the step response.

Uploaded by

PavanKumar Dani
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Assignment 1 Continued

The document discusses analyzing the step response of first and second order systems by varying the location of poles and zeros. For a first order system G1(s)=1/s+p, the rise time decreases as p increases, indicating faster response. For a second order system G2(s)=10/(s^2+as+10), rise time is fastest when a is lowest, while poles are at the origin for steady state value equal to input. Adding a pole or zero changes the response characteristics like rise time, overshoot etc. Location of poles and zeros significantly impacts the step response.

Uploaded by

PavanKumar Dani
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Assignment 1 Continued…

4. The objective of this exercise is to deduce the effect of location of pole and zero on the time-
domain response of a system.

a. First-order systems: Consider 𝐺1 (𝑠) = 1/𝑠+ . Compare in terms of rise time and steady-state value
the step responses of this system for different values of p. Choose p = 0.5, 1, 2, and 10. (For purposes
of this experiment, assume the following definition of rise time: the time taken for the output to
reach 90% of the final steady-state value.) Based on this, where should one locate the pole if the
requirement is a fast response? Where should one locate the pole if the steady-state value of the
output is expected to be equal to the input value? Can one independently satisfy both
requirements?

% 4 a) First order system


clc;
clear all;
close all;
k=4;
% To consider an array of p values
p=[0.5,1,2,10];
% To print the various Transfer functions
Tf1=tf(1,[1,0.5])
Tf2=tf(1,[1,1])
Tf3=tf(1,[1,2])
Tf4=tf(1,[1,10])

% To find various rise time values


Tr=zeros(k);
for c=1:k
Tr(c)=2.3/p(c);
end
% The lower the rise time faster is the response
Min_Tr=min(Tr);
disp("Fastest response is shown at rise time");
M = Min_Tr(1)
% we consider the steady state value as 1 hence G(s)=1
%S=zeros(k);
for t=1:k
S(t)=1-p(t);
end
disp("The locations of poles must be:");
S
%Plots of each transfer functions
stepplot(Tf1)
stepplot(Tf2)
stepplot(Tf3)
stepplot(Tf4)

OUTPUT-
b. Second-order systems: Consider 𝐺2 (𝑠) = 10 𝑠/2+𝑎𝑠+10 . Compare in terms of rise time, the
settling time, the peak overshoot, and steady-state value the step responses of this system for
different values of a: Choose a = 0.1, 2.5, 5, 7.5, 10. (Use the definitions in the prescribed text-book.)
Ask questions similar to that in 4.a, and discuss the results.

%4 b) Second order system


clc;
clear all;
close all;
k1=5;
k2=5;
% values of a
a=[0.1,2.5,5,7.5,10];
% transfer functions
TF1=tf([10],[1,0.1,10])
TF2=tf([10],[1,2.5,10])
TF3=tf([10],[1,5,10])
TF4=tf([10],[1,7.5,10])
TF5=tf([10],[1,10,10])
% Damping ratio and natural frequency
% E - damping ratio = a/(2.Wn) and Wn=sqrt(10)
E=zeros(k1);
Wn= 3.162;
Wn1= 2*Wn;
for c=1:k1
E(c)=a(c)/Wn1;
end
% Computation of Wd
Wd1= zeros(k1);
theta= zeros(k1);
for c=1:k1
Wd1(c)=sqrt(1-E(c));
theta(c)= acos(E(c));
end
Wd=Wn*Wd1;
% Computation of theta, rise time, peak time, peak overshoot
% Computation of settling time
Tr= zeros(k2);
Tp= zeros(k2);
Mp= zeros(k2);
Ts= zeros(k2);
for c=1:k2
Tr(c)=(pi-theta(c))/Wd(c);
Tp(c)=pi/Wd(c);
Mp(c)=expm((-pi*E(c))/Wd1(c));
Ts(c)=4/(E(c)*Wn);
end
% 1) To check for faster response
% For faster response rise time should decrease
% Subsequent values for peak time, peak overshoot and settling time is
% taken
Min_Tr=min(Tr);
k=find(min(Tr));
disp("For the faster response")
disp("Rise Time:")
Min_Tr(1)
disp("Peak time:")
Tp(k)
disp("Peak overshoot:")
Mp(k)
disp("Settling time:")
Ts(k)

% 2) To get poles at steady state value


S1=0;
for c=1:k1
S2=2*Wn*E(c);
disp("The poles for a:");
a(c)
disp("is");
S1
S2
end

OUTPUT-

TF1 =

10
----------------
s^2 + 0.1 s + 10

Continuous-time transfer function.

TF2 =

10
----------------
s^2 + 2.5 s + 10

Continuous-time transfer function.

TF3 =

10
--------------
s^2 + 5 s + 10

Continuous-time transfer function.

TF4 =

10
----------------
s^2 + 7.5 s + 10

Continuous-time transfer function.

TF5 =

10
---------------
s^2 + 10 s + 10
Continuous-time transfer function.

For the faster response


Rise Time:

ans =

0.5058

Peak time:

ans =

1.0015

Peak overshoot:

ans =

0.9512

Settiling time:

ans =

80.0000

S1 =

The poles for a:

ans =

0.1000

is

S1 =

S2 =

0.1000

The poles for a:

ans =

2.5000

is

S1 =
0

S2 =

2.5000

The poles for a:

ans =

is

S1 =

S2 =

The poles for a:

ans =

7.5000

is

S1 =

S2 =

7.5000

The poles for a:

ans =

10

is

S1 =

S2 =

10
c. The effect of an additional pole: Consider 𝐺3 (𝑠) = 10/𝑠^2+2𝑠+10 in cascade with a first order
system 𝐺4 (𝑠) = 𝑝/𝑠+ . Repeat the experiment 4.b for different values of p. Choose p = 5, 10, 20. In
your discussions, include as well a comparison of these results with those obtained in 4.b.

% 4 c) Effect of adding a pole to a transfer function


% For p=5 and poles(steady state) are given by
g1=tf(10,[1 2 10]);
f1=tf(5,[1 5]);
h1=series(g1,f1);
display(h1)
stepinfo(h1)
disp("Poles at steady state value are")
s1=[0 -2 -5]
% For p=10 and poles(steady state) are given by
g2=tf(10,[1 2 10]);
f2=tf(5,[1 5]);
h2=series(g2,f2);
display(h2)
stepinfo(h2)
disp("Poles at steady state value are")
s2=[0 -2 -10]
% For p=20 and poles(steady state) are given by
g3=tf(10,[1 2 10]);
f3=tf(5,[1 5]);
h3=series(g3,f3);
display(h3)
stepinfo(h3)
disp("Poles at steady state value are")
s3=[0 -2 -20]
stepplot(h3)
Output

h1 =

50
-----------------------
s^3 + 7 s^2 + 20 s + 50

Continuous-time transfer function.

ans =

struct with fields:

RiseTime: 0.5131
TransientTime: 3.6966
SettlingTime: 3.6966
SettlingMin: 0.9006
SettlingMax: 1.2824
Overshoot: 28.2355
Undershoot: 0
Peak: 1.2824
PeakTime: 1.2710
Poles at steady state value are

s1 =

0 -2 -5

h2 =

50
-----------------------
s^3 + 7 s^2 + 20 s + 50

Continuous-time transfer function.

ans =

struct with fields:

RiseTime: 0.5131
TransientTime: 3.6966
SettlingTime: 3.6966
SettlingMin: 0.9006
SettlingMax: 1.2824
Overshoot: 28.2355
Undershoot: 0
Peak: 1.2824
PeakTime: 1.2710

Poles at steady state value are

s2 =

0 -2 -10

h3 =

50
-----------------------
s^3 + 7 s^2 + 20 s + 50

Continuous-time transfer function.


ans =

struct with fields:

RiseTime: 0.5131
TransientTime: 3.6966
SettlingTime: 3.6966
SettlingMin: 0.9006
SettlingMax: 1.2824
Overshoot: 28.2355
Undershoot: 0
Peak: 1.2824
PeakTime: 1.2710

Poles at steady state value are

s3 =

0 -2 -20

Inference-

Here if the pole is very far away from origin then the system responds faster whereas if the pole is
closer to origin then the system response to input is slower.

d. The effect of an additional zero: Consider 𝐺4 (𝑠) = 10( /𝑎 +1)/𝑠^2+2𝑠+10 . Repeat the experiment
4.b for different values of a. Choose a = 0.1, 1, 10, 100. In your discussion, include as well a
comparison of these results with those obtained in 4.b.

% 4d) Effect on the second order system due to addition of a zero


clc;
clear all;
close all;
% For a=0.1 and poles(steady state) are given by
g1=tf([10/0.1 10],[1 2 10]);
display(g1)
stepinfo(g1)
disp("Poles at steady state value are")
s1=[0 98]
% For a=1 and poles(steady state) are given by
g2=tf([10 10],[1 2 10]);
display(g2)
stepinfo(g2)
disp("Poles at steady state value are")
s2=[0 8]
% For a=10 and poles(steady state) are given by
g3=tf([10/10 10],[1 2 10]);
display(g3)
stepinfo(g3)
disp("Poles at steady state value are")
s3=[0 -1]
% For a=100 and poles(steady state) are given by
g4=tf([10/100 10],[1 2 10]);
display(g4)
stepinfo(g4)
disp("Poles at steady state value are")
s3=[0 -1.9]
stepplot(g2)

Output

g1 =

100 s + 10
--------------
s^2 + 2 s + 10

Continuous-time transfer function.


ans =

struct with fields:

RiseTime: 0.0084
TransientTime: 3.9626
SettlingTime: 7.0744
SettlingMin: -6.1753
SettlingMax: 21.4323
Overshoot: 2.0432e+03
Undershoot: 617.5283
Peak: 21.4323
PeakTime: 0.4145

Poles at steady state value are

s1 =

0 98

g2 =

10 s + 10
--------------
s^2 + 2 s + 10

Continuous-time transfer function.

ans =

struct with fields:

RiseTime: 0.0855
TransientTime: 4.0599
SettlingTime: 4.9646
SettlingMin: 0.3764
SettlingMax: 2.7745
Overshoot: 177.4549
Undershoot: 0
Peak: 2.7745
PeakTime: 0.5066

Poles at steady state value are

s2 =
0 8

g3 =

s + 10
--------------
s^2 + 2 s + 10

Continuous-time transfer function.

ans =

struct with fields:

RiseTime: 0.3934
TransientTime: 3.4405
SettlingTime: 3.4405
SettlingMin: 0.8700
SettlingMax: 1.3699
Overshoot: 36.9931
Undershoot: 0
Peak: 1.3699
PeakTime: 0.9210

Poles at steady state value are

s3 =

0 -1

g4 =

0.1 s + 10
--------------
s^2 + 2 s + 10

Continuous-time transfer function.

ans =

struct with fields:
RiseTime: 0.4247
TransientTime: 3.5259
SettlingTime: 3.5259
SettlingMin: 0.8769
SettlingMax: 1.3503
Overshoot: 35.0254
Undershoot: 0
Peak: 1.3503
PeakTime: 1.0592

Poles at steady state value are

s3 =

0 -1.9000

Inference

Due to the addition of a pole we observe that shape of the graph changes that is the peak overshoot
increases, peak time and rise time both decreases.

You might also like