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 and by using the cover method
(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 is a zero very close to the pole The partial fraction expansion of this transfer function is given by
(7)
where and . We can immediately see that the zero close to the pole significantly diminishes the value of the coefficient . This comes from the fact that
(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 is given by
(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 that does not contain zeros. The black line is the impulse response of the system with the zero close to the pole. However, we can observe that the impulse response of the system initially has a large value. This is mainly due to the derivative action interpretation of additional zeros. This will be explained in the sequel.
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 is the natural undamped frequency and is the damping ratio. We explained the motivation for introducing this prototypical system in our previous tutorial which can be found here. The poles of this system are given by
(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 is the parameter that we will vary. The final transfer function is given by
(15)
Since the real part of the poles is , for , the zero given in (14) will precisely be at the location of the real part of the pole. Next, we simulate the step response of the system (15) for several values of . The results are shown in the figure below.
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 is increased, the zero (14) is moved further away from the real part of the pole. That is, as is increased, the zero is moved further to the left in the complex plane. As the zero is moved away from the real part of the poles, the overshoot is decreased. On the other hand, as is decreased, the zero becomes closer and closer to the real part of the pole and the imaginary axis. For , the zero is precisely at the location of the real part of the pole. The overshoot gets larger and larger as becomes smaller and smaller. Also, we can observe that the introduced zero has almost no effect on the settling time. As k is decreased, that is, as zero approaches the imaginary axis the rise time of the system is decreased. The MATLAB code used to generate Fig. 3 is given below.
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 is a new scaled complex variable. In the time domain, this substitution corresponds to the scaling of time. By substituting (16) in (15), we obtain
(17)
where is now a new complex Laplace variable. We can expand this function as follows:
(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 . The impulse response is
(22)
where is the inverse Laplace transform operator, and is a scaled time induced by the transformation (16). Now, let us introduce this notation
(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 times the Laplace transform of the function (if we ignore the initial conditions). For example, if is a time domain function, and if is its Laplace transform, then we have
(25)
In our case, we have a scaled complex variable . Then, from (21), it follows that
(26)
where is the inverse Laplace transform of . Consequently, the second term in (24) can be interpreted as the first derivative of multiplied by a constant . That is, we can write (24) as follows
(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 in the second term can be interpreted as the derivative in the time domain. Consequently, we have
(29)
where is the step response in the time domain (inverse Laplace transform of ), and is the step response of (inverse Laplace transform of ).
The step responses of the functions , (scaled) , and are shown below.
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 . That is, the zero is in the right half of the complex plane.
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 . From Fig. 5 we can observe that this response first goes in the negative direction. This is a direct consequence of the nonminimum phase zero. In some applications, this phenomenon can cause damage and should be properly addressed and taken into account when designing the control system.