38
MATLAB Applications No. (2)
Block Diagram Reduction
Objective:
The objective of this application is to reduce block diagrams
to a single transfer function through block diagram
manipulation and reduction.
Transfer Function:
A transfer function is a property of the system elements only,
and is not dependent on the excitation and initial conditions.
The transfer function is a mathematical relationship between
the input and output of a control system component. The
transfer function of each component is a placed in a block.
Specifically, the transfer function is defined as the output
divided by the input, expressed as:
Transfer Function = Input
Output
The transfer function description does not include an
information concerning the internal structure of the system
and its behavior.
Block Diagram:
A block diagram it is representation of the control system
giving the interrelation between the transfer function of
various components. The block diagram is obtained after
obtaining the differential equation and transfer function of
all components of a control system. The arrow head pointing
Khaled Mustafa Mahmoud Session: Spring 2020/2021
39
towards the block indicates the input, and pointing away
from the block indicates the output.
Figure 3.1: General block representation of SISO system.
The block diagram representation of a given system often can
be reduced to a simplified block diagram with fewer blocks
than the original diagram. Since the transfer functions
represent linear systems, the addition and multiplication is
commutative.
There are three block diagrams elementary:
1. The blocks connected in series: The system transfer function
can be obtained by the product this blocks as shown in
Figure 3.2.
Figure 3.2: Reduction of two blocks connected in series.
Therefore, the transfer function relating the output Y (s)to the
input U (s) is:
Y (s )
=G1 ( s ) G2 ( s )
U (s )
2. The blocks connected in parallel: The system transfer
function can be obtained by the sum or subtract this blocks
as shown in Figure 3.3.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
40
Figure 3.3: Reduction of two blocks connected in parallel.
Therefore, the transfer function relating the output Y (s)to the
input U ( s) is:
Y (s )
=G1 ( s ) ±G 2 ( s )
U (s )
3. The blocks connected in feedback loop: The system
transfer function can be obtained as shown in Figure 3.4.
Figure 3.4: Reduction of two blocks connected in feedback loop.
Therefore, the transfer function relating the output Y (s) to
the input R(s) is:
Y ( s) G(s )
=
R ( s) 1 ± G ( s ) H (s)
The block diagram representation of a given system often
can be reduced to a simplified block diagram with fewer
blocks than the original diagram.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
41
Example 3.1: Represent the following transfer functions
using MATLAB:
(s+ 2)
1. G ( s )=
( s + 4 s+5 )
3
5
2. G ( s )=
(s+2)(s+ 4)(s +6)
2(s+ 4)
3. G ( s )=
s (s +2)(s +3)
−3 s
2e
4. G ( s )=
(s+ 2)(s+5)
Solution:
>> % 1. To represent the transfer function: G(s)=(s+2)/(s^3+4s+5)
%
>> num=[1 2]; >> s=tf(‘s’);
Khaled Mustafa Mahmoud Session: Spring 2020/2021
42
>> den=[1 0 4 5]; >> G=(s+2)/(s^3+4*s+5)
>> G=tf(num,den)
Transfer function:
s+2
-----------------
s^3 + 4 s + 5
>> % 2. To represent the transfer function: G(s)=5/((s+2)(s+4)(s+6))
%
>> G=zpk([],[-2 -4 -6],5) >> s=zpk(‘s’);
Zero/pole/gain: >>
G=5/((s+2)*(s+4)*(s+6))
5
-------------------------
(s+2) (s+4) (s+6)
>> % 3. To represent the transfer function: G(s)=2(s+4)/(s(s+2)
(s+3)) %
>> G=zpk([-4],[0 -2 -3],2) >> s=zpk(‘s’);
Zero/pole/gain: >>
G=2*(s+4)/(s*(s+2)*(s+3))
2 (s+4)
------------------
s (s+2) (s+3)
>> % 4. To represent the transfer function: G(s)=2 exp(-3s)/((s+2)
(s+5)) %
>> s=tf('s'); >> num=[2]; den=conv([1
2],[1 5])
>> G=2*exp(-3*s)/((s+2)*(s+5)) >> G=tf(num,den,’inputdelay’,3)
Transfer function:
2
exp(-3*s) * --------------------
Khaled Mustafa Mahmoud Session: Spring 2020/2021
43
s^2 + 7 s + 10
>> G=zpk(G)
Zero/pole/gain:
2
exp(-3*s) * ----------------
(s+5) (s+2)
Example 3.2: Determine the open loop transfer function for
the system shown in Figure 3.5.
Figure 3.5: Block diagram of Example 3.2.
Solution:
>> % To determine the open loop transfer function of Example 4.2 %
>> s=tf('s');
>> G1=1/(s*(s+1));
>> G2=2*(s+1)/(s+5);
>> G=series(G1,G2) % or: G=G1*G2
Transfer function:
2s+2
------------------------
s^3 + 6 s^2 + 5 s
>> G=minreal(G) % Cancel common factors %
Transfer function:
2
------------
s^2 + 5 s
Example 3.3: Determine the Y (s)/U ( s )for the system shown in
Figure 3.6.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
44
Figure 3.6: Block diagram of Example 3.3.
Solution:
>> % To determine the Y(s)/U(s) of Example 4.3 %
>> s=tf('s');
>> G1=4*(s+2)/(s*(s+4));
>> G2=2*s/(s+6);
>> G=parallel(G1,G2) % or: G=G1+G2
Transfer function:
2 s^3 + 12 s^2 + 32 s + 48
------------------------------------
s^3 + 10 s^2 + 24 s
Example 3.4: Consider the feedback control system in Figure
3.7. Determine the closed loop transfer function in the case:
1. Negative feedback.
2. Positive feedback.
Figure 3.7: Block diagram of Example 3.4.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
45
Solution:
>> % To determine the closed loop transfer function of Example 3.4 %
>> % 1. In the case: Negative feedback %
>> s=tf('s');
>> G1=500/(s+1);
>> G2=1/(s+10);
>> H=1/(0.5*s+1);
>> G=series(G1,G2);
>> T=feedback(G,H) % T=feedback(G,H,-1), or T=G/(1+G*H) %
Transfer function:
250 s + 500
-------------------------------------------
0.5 s^3 + 6.5 s^2 + 16 s + 510
>> T=minreal(T)
T=
500 s + 1000
---------------------------------------
s^3 + 13 s^2 + 32 s + 1020
>> % 2. In the case: Positive feedback %
>> T=feedback(G,H,+1) % T=G/(1- G*H) %
Transfer function:
250 s + 500
----------------------------------------
0.5 s^3 + 6.5 s^2 + 16 s – 490
>> T=minreal(T)
T=
500 s + 1000
----------------------------------
s^3 + 13 s^2 + 32 s - 980
Khaled Mustafa Mahmoud Session: Spring 2020/2021
46
Example 3.5: A multi loop feedback control system is shown
in Figure 3.8:
Figure 3.8: Block diagram of Example 3.5.
Compute the closed loop transfer function using the series,
parallel, and feedback functions.
Solution:
>> % To determine Y(s)/R(s) using series, parallel, and feedback
functions %
>> s=tf('s');
>> G1=2/(s+1);
>> G2=1/(s*(s+4));
>> G3=5/s;
>> H1=3;
>> H2=1/s;
>> G4=parallel(G1,G2);
>> G5=feedback(G3,H1);
>> G=series(G4,G5);
>> T=feedback(G,H2)
Khaled Mustafa Mahmoud Session: Spring 2020/2021
47
Transfer function:
10 s^3 + 45 s^2 + 5 s
-------------------------------------------------------
s^5 + 20 s^4 + 79 s^3 + 70 s^2 + 45 s + 5
Example 3.6: A system has a block diagram as shown in
Figure 3.9:
Figure 3.9: Block diagram of Example 3.6
Find the transfer function T ( s )=Y ( s)/ R ( s ) using MATLAB.
Solution:
First, to eliminate the loop G3 G4 H 1, we move H 2 behind block
G4 and obtain Figure 3.10.
Figure 3.10: Block diagram reduction of the system of Figure 3.9.
>> % To determine Y(s)/R(s) using MATLAB %
>> syms G1 G2 G3 G4 H1 H2 H3
>> T1=G3*G4/(1-G3*G4*H1);
Khaled Mustafa Mahmoud Session: Spring 2020/2021
48
>> T2=T1*G2/(1+G2*T1*H2/G4);
>> T=T2*G1/(1+T2*G1*H3);
>> pretty(simplify(T))
G1 G2 G3 G4
---------------------------------------------------------
1 - G3 G4 H1 +G2 G3 H2 + G1 G2 G3 G4 H3
Example 3.7: Simplify the block diagram shown in Figure
3.11. Then obtain the closed loop transfer functionY (s)/ R ( s )
using MATLAB.
Figure 3.11: Block diagram of a system.
Solution:
First, move the branch point between G3 and G4 to the right-
hand side of the loop containing G3, G4 , and H 2. Then move the
summing point between G1 and G2 to the left-hand side of the
first summing point. See Figure 3.12.
Figure 3.12: Successive reduction of the block diagram shown in
Figure 3.11.
>> % To determine Y(s)/R(s) using MATLAB %
>> syms s KI
Khaled Mustafa Mahmoud Session: Spring 2020/2021
49
>>G1=KI/s;G2=1/(2*s+1);G3=(s+5);
>>G4=1/(3*s+1);H1=1;H2=H1;H3=1/s;
>>T1=G1*G2/(1+G1*G2*H1);
>>T2=G3*G4/(1+G3*G4*H2);
>>T=T1*T2/(1-T1*T2*H3/(G1*G4))
>>pretty(simplify(T))
KI (s + 5)
--------------------------------------------
8 s3+13 s2 + 4 KI s -10 s + 6 KI -5
Homework 3.1: Use MATLAB to determineY (s)/ R ( s ) for the
system is shown in Figure 3.13.
Figure 3.13: Block diagram of Homework 3.1.
--------------------------------------------------------------------------------------------------------------
--
Homework 3.2: Consider the printer belt drive system
represented by the block diagram as shown in Figure 3.14.
Figure 3.14: Printer belt drive system.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
50
Do the following:
1. Find the open loop transfer function.
2. Find the closed loop transfer function.
3. Are there any pole-zero cancellations? If so, use the
minreal function to cancel common poles and zeros in the
open loop and closed loop transfer function.
4. Why is it important to cancel common poles and zeros in
the transfer function?
Homework 3.3: A control system has a block diagram shown
in Figure 3.15:
If: G1 ( s )=1/ s , G2 ( s ) =10/(2 s+ 4),G3 ( s )=3 /s , G4 ( s ) =3/( s+1) ,
and H 1 ( s )=2/ s .
Find the closed loop transfer function Y (s)/ R ( s ).
Figure 3.15: Block diagram of Homework 3.3.
----------------------------------------------------------------------------------------------------------------
-
Homework 3.4: For the multi loop feedback system shown in
Figure 3.16.
Khaled Mustafa Mahmoud Session: Spring 2020/2021
51
Figure 3.16: Multi loop feedback control system.
Use MATLAB to determine the overall transfer function
Y ( s ) / R(s).
Khaled Mustafa Mahmoud Session: Spring 2020/2021