I have a question regarding control theory. Say I have a closed loop feedback system and I have found the closed loop transfer function, how would I then assess the stability of my closed loop system ? I have heard about the terms "poles and zeros". How would one find these and use them to comment on the stability ? Could I use software such as matlab for this analysis?
-
1$\begingroup$ Write out the closed loop transfer function as ratio of two polynomials. Zeros are roots of the numerator polynomial. Poles are roots of denominator. Stable if all the poles are in left half of complex plane, i.e. their real component is <0. $\endgroup$– Pete WCommented Mar 22, 2021 at 19:48
-
$\begingroup$ @PeteW, bingo! I haven't heard of that explanation, it is very good! -NN $\endgroup$– niels nielsenCommented Mar 22, 2021 at 21:00
1 Answer
A transfer function of a closed-loop feedback control system is written in the form:
$$ T(s) = \frac{H(s)}{G(s)} $$
where $G(s)$ is called the characteristic polynomial of the system. The poles and zeros of the system are defined:
- Zeros $\rightarrow$ Roots of $H(s)$
- Poles $\rightarrow$ Roots of $G(s)$
The stability of the closed-loop system can be determined by looking at the roots of the characteristic polynomial. Consider the general case at which the poles are complex numbers of the form $p = \sigma + j\omega$ (if $\omega = 0 \rightarrow$ poles are real numbers). Now, there will always be one of these three following cases:
- If at least one pole has positive real part (i.e. $\sigma > 0$) then the closed-loop system is unstable.
- If all the poles have negative real part (i.e. $\sigma <0$) then the closed-loop system is strictly stable.
- If all the poles have negative real parts and at least one has real part equal to $0$ (i.e. $\sigma = 0$) then the closed-loop system may be marginally stable or unstable. Generally, in this case you need to further investigate the stability of the system.
Finally, of course you can use software like MATLAB to determine the stability of an open-loop or closed-loop system. Let's consider the system:
$$ G(s) = \frac{10}{s^2+3s+2} $$
By using the following piece of code you can find the poles, zeros and check the stability of the system:
s = tf('s');
G = 10/(s^2+3*s+2);
zero(G)
pole(G)
isstable(G)
You can check the MATLAB official documentation for more information on these functions.
-
$\begingroup$ the poles tell us about the stability of the system so what do the zeros tell us about the system? $\endgroup$– Goku113Commented Mar 25, 2021 at 12:04