In this tutorial, we cover one very important topic that is often overlooked in control engineering university courses. We explain the effect of zeros of transfer functions on dynamical system behavior. A proper understanding of the zeros of dynamical systems is very important for properly designing feedback control systems. The YouTube video tutorial accompanying this tutorial is given below. This tutorial is partly based on the material presented in Chapter 3.5 of Feedback Control of Dynamic Systems (third edition), by Franklin, Powell, and Emami-Naeini and on the basis of the material presented in Modern Control Engineering by K. Ogata.
Zero close to the real pole attenuates the effect of that pole on the system response
Let us consider the following transfer function
(1)
The impulse response of this system can be computed by computing the partial fraction expansion. The partial fractional expansion is given by
(2)
We compute the coefficients
(3)
Consequently, we have
(4)
The impulse response in the time domain is given by the inverse Laplace transform of
(5)
Later on, we will plot this response in MATLAB. Next, let us modify the transfer function by including a zero close to the pole, and let us scale the new transfer function such that it has the same steady-state gain as the steady-state gain of the original transfer function. Let the modified transfer function be given by
(6)
where
(7)
where
(8)
That is, a zero close to a pole decreases the effect of that pole on the response of the system. The impulse response of the system
(9)
Let us now plot the impulse responses of the two systems. We use the MATLAB code shown below to plot the impulse response.
clear
s=tf('s')
W1=4/((s+1)*(s+4))
figure (1)
hold on
impulse(W1,'r')
W2=(4*(s+0.9))/(0.9*(s+1)*(s+4))
impulse(W2,'k')
The impulse response is shown in the figure below.
The red line represents the impulse response of the system
Zeros Tend to Increase the Overshoot of the System
Next, we explain another phenomenon caused by zeros. Namely, under certain circumstances, the zeros tend to increase the overshoot of the system’s step response. Let us explain this important phenomenon by considering a prototype second-order system given by the following equation:
(10)
where
(11)
These poles are illustrated in the figure below.
The system (10) can be transformed as follows
(12)
Next, let us add a zero term to the prototype system
(13)
The zero is given by
(14)
where
(15)
Since the real part of the poles is
The blue line in the figure above shows the step response of the system (12) without the zero. On the other hand, lines with other colors show the responses of the system (15) with the zero given by (14). We can observe that the overshoot of the system is significantly increased compared to the system without the zero. As
clear,clc
zeta=0.4
omega_n=3
s=tf('s')
k=0.35
Wm1=((s/(k*zeta*omega_n))+1)/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
figure(1)
hold on
step(Wm1,'y')
k=0.5
W0=((s/(k*zeta*omega_n))+1)/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
figure(1)
hold on
step(W0,'g')
k=1
W1=((s/(k*zeta*omega_n))+1)/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
figure(1)
hold on
step(W1,'r')
k=2
W2=((s/(k*zeta*omega_n))+1)/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
hold on
step(W2,'k')
k=5
W3=((s/(k*zeta*omega_n))+1)/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
hold on
step(W3,'m')
W4=1/((s/omega_n)^2+2*zeta*(s/omega_n)+1)
hold on
step(W4,'b')
Next, we explain the reason for the increase of overshoot. Let us make the following substitution
(16)
where
(17)
where
(18)
Next, let us define the following transfer functions
(19)
That is, we have
(20)
It should be observed that
(21)
Our task is to first compute the impulse response of
(22)
where
(23)
By using this new notation, we can write
(24)
It is a very well-known fact that the Laplace transform of the first derivative of a function is actually
(25)
In our case, we have a scaled complex variable
(26)
where
(27)
From this analysis, we conclude that the zeros introduce a derivative action during the initial part of the transient response. This analysis can also be applied to the step response of the system simply because the step response in the complex domain is given by
(28)
and the action of
(29)
where
The step responses of the functions
This graph is generated by using the MATLAB code given below.
clear,clc
zeta=0.4
omega_n=3
k=1
s=tf('s')
W1=1/(s^2+2*zeta*s+1)
W2=(1/(k*zeta))*s*W1
W3=W1+W2
figure(1)
hold on
step(W1,'r')
step(W2,'k')
step(W3,'b')
Nonminimum Phase Zeros – Effect on the Transient Response
So far, we considered zeros in the left half of the complex plane. Next, we explain the effect of zeros that are in the right half of the complex plane. The zeros in the right half of the complex plane are called nonminimum phase zeros. Systems with nonminimum phase zeros are called nonminimum phase systems and control design for such systems is more challenging compared to the systems without nonminimum phase zeros.
Consider the system given below.
(30)
where the zero is given by
By using the substitution (16), we can write the transfer function as follows
(31)
By using the previously defined transfer functions
(32)
We can write (31), as follows
(33)
Consequently, the analysis presented in the previous section also applies to this case. The difference is that the second transfer function in (33) has a negative sign. This means that the step response of the system will initially go in the negative direction since this negative term originating from the derivative dominates the beginning of the transient process. This is numerically illustrated in the figure below.
The code for generating the above figure is given below.
clear,clc
zeta=0.4
omega_n=3
k=1
s=tf('s')
S1=1/(s^2+2*zeta*s+1)
S2=(1/(k*zeta))*s*S1
S=S1-S2
figure(1)
hold on
step(S1,'r')
step(-S2,'k')
step(S,'b')
grid
In Fig. 5, the blue line represents the step response of the system