实例解读奈奎斯特稳定判据
实例解读奈奎斯特稳定判据
奈奎斯特稳定判据是控制系统稳定性分析的重要工具,它通过开环传递函数的特性来判断闭环系统的稳定性,避免了直接求解闭环传递函数的复杂性。本文将通过两个具体实例,详细解读奈奎斯特稳定判据的应用方法。
奈奎斯特判据
奈奎斯特稳定判据的基本公式为:
Z = P − R
其中:
- P 为开环传递函数在虚轴右侧的极点个数
- R 为开环奈奎斯特曲线逆时针绕(-1, j0)的圈数
- Z 为闭环传递函数的极点个数
若 Z = 0,则系统稳定;否则系统不稳定。
例1
- 计算开环极点,得出在虚轴右侧的极点数P
开环传递函数:
G(s)H(s) = \frac{s}{s^2 + 1} \cdot 1 = \frac{s}{s^2 + 1}
使用MATLAB计算开环极点:
num = [1 0];
den = [1 0 1];
open_root = roots(den);
计算结果:
open_root =
0.0000 + 1.0000i
0.0000 - 1.0000i
开环极点没有在虚轴右侧,故 P = 0。
- 绘制Nyquist图,逆时针绕(-1, j0)的圈数
使用MATLAB绘制Nyquist图:
num = [1 0];
den = [1 0 1];
open_root = roots(den);
open_sys = tf(num, den);
nyquist(open_sys);
逆时针绕(-1, j0)共 0 圈,即 R = 0。
- 判断结果
由于 Z = P - R = 0 - 0 = 0,故系统稳定。
- 验证
系统的闭环传递函数为:
Φ(s) = \frac{G(s)}{1+G(s)H(s)} = \frac{s}{s^2 + s + 1}
使用MATLAB绘制单位阶跃响应:
num = [1 0];
den = [1 1 1];
close_sys = tf(num, den);
step(close_sys);
可见系统振幅逐渐减小,趋于稳定。
例2
- 计算开环极点,得出在虚轴右侧的极点数P
开环传递函数:
G(s)H(s) = \frac{s-2}{s^3 + 1} \cdot 1 = \frac{s-2}{s^3 + 1}
使用MATLAB计算开环极点:
num = [1 -2];
den = [1 0 0 1];
open_root = roots(den);
计算结果:
open_root =
-1.0000 + 0.0000i
0.5000 + 0.8660i
0.5000 - 0.8660i
有 2 个开环极点在虚轴右侧,故 P = 2。
- 绘制Nyquist图,逆时针绕(-1, j0)的圈数
使用MATLAB绘制Nyquist图:
num = [1 -2];
den = [1 0 0 1];
open_root = roots(den);
open_sys = tf(num, den);
nyquist(open_sys);
逆时针绕(-1, j0)共 1 圈,即 R = 1。
- 判断结果
由于 Z = P - R = 2 - 1 ≠ 0,故系统不稳定。
- 验证
系统的闭环传递函数为:
Φ(s) = \frac{G(s)}{1+G(s)H(s)} = \frac{s-2}{s^3 + s - 1}
使用MATLAB绘制单位阶跃响应:
num = [1 -2];
den = [1 0 1 -1];
close_sys = tf(num, den);
step(close_sys);
可见系统振幅逐渐增大,不稳定。
总结
Z 的数学意义是闭环传递函数在右半平面的极点个数,P, R 都是开环传递函数的特性,因此奈奎斯特判据使用开环传递函数即可判断闭环系统的稳定性,避免求解闭环传递函数及闭环传递函数的根。由 Z 的实际意义,容易理解 Z = 0 时闭环系统自然稳定。
使用奈奎斯特判据,分三步走:
- 一是判断写出开环传递函数并计算在虚轴右侧的极点个数 P
- 二是绘制出Nyquist图并数出逆时针绕(-1, j0)点的圈数 R
- 三是计算 Z = P - R,若 Z = 0 则系统稳定,否则系统不稳定
需要注意的是,由于手工往往只画出一半的Nyquist图,另一半关于实轴对称,此时数得包含(-1, j0)的圈数 N 应乘以 2,即 Z = P - 2N。