本文主要是介绍自动控制原理 (四): 时域下的性能分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一章中已经简单介绍过调节时间、 超调量等一些性能的定性分析和定量计算。 本章主要介绍在时域下的系统稳定性分析和稳态误差分析。
系统稳定性分析
对于一个控制系统, 如果其受到扰动, 偏离了原来的平衡状态, 而当扰动消失后, 系统又能够逐渐恢复到原来的平衡状态, 则称系统是稳定的, 如果扰动消失后系统无法恢复至原来的平衡状态, 甚至偏差越来越大, 则称系统是不稳定的, 或不具有稳定性。
稳定性是系统的一种固有属性, 对于现在讨论的线性定常系统来说, 稳定性只与系统的内部结构参数有关, 而与 初始条件 和 外作用 无关。
稳定还可以定义为: 在有界的输入下, 系统输出响应也是有界的。 这种定义被称作 BIBO 稳定。
稳定的数学条件
设一个 LTI (线性定常) 系统的闭环传递函数为 G(s)=N(s)/D(s) ; 脉冲响应函数为 g(t) , 则该闭环系统稳定的充分必要条件是:
∫ 0 + ∞ ∣ g ( t ) ∣ d t < K \int^{+\infty}_{0}\left|g(t)\right|\text{d}t<K ∫0+∞∣g(t)∣dt<K
系统 BIBO 稳定的充要条件为: G(s) 的极点均具有负实部, 或者说都位于复平面虚轴以左
也可以说系统稳定的充要条件是系统的特征方程 D(s) 所有根都具有负实部。
系统的特征方程是指令闭环传递函数分母等于 0 的方程。 如果系统的开环传递函数为 G(s), 反馈通路传递函数为 H(s), 则闭环传递函数即为: G c ( s ) = G ( s ) 1 + G ( s ) H ( s ) G_c(s)=\frac{G(s)}{1+G(s)H(s)} Gc(s)=1+G(s)H(s)G(s)1, 因为一般是负反馈, 所以分母里是+号, 所以如果给出的是开环传递函数, 应当经过上式的计算, 令 1+G(s)H(s)=0 得系统的特征方程。
对于所有情况, 总结如下:
- 所有根实部小于0: 稳定
- 单根实部等于0: 临界情况, 系统既不发散, 也不能恢复, 不属于稳定
- 重根实部等于0: 系统会发散, 不稳定
- 有根实部大于0: 系统会发散, 不稳定
稳定性判据
经过上面的分析, 我们知道通过求解系统的特征根可以用来判断系统的稳定性。 但如果系统阶数高, 则特征方程很难求解, 此时可以用下面介绍的判据:
赫尔维茨 (Hurwitz) 判据
系统稳定的充分必要条件是: 特征方程的赫尔维茨行列式全部为正。
各阶赫尔维茨行列式分别为:
D 1 = a 1 , D 2 = ∣ a 1 a 3 a 0 a 2 ∣ , D 3 = ∣ a 1 a 3 a 5 a 0 a 2 a 4 0 a 1 a 3 ∣ , … , D n = ∣ a 1 a 3 a 5 … a 2 n − 1 a 0 a 2 a 4 … a 2 n − 2 0 a 1 a 3 … a 2 n − 3 0 a 0 a 2 … a 2 n − 4 ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 … a n ∣ \begin{gathered} D_1=a_1,\quad D_2=\left|\begin{matrix}a_1&a_3\\a_0&a_2\end{matrix}\right|,\quad D_3=\left|\begin{matrix}a_1&a_3&a_5\\a_0&a_2&a_4\\0&a_1&a_3\end{matrix}\right|,\quad \dots,\\ D_n=\left|\begin{matrix}a_1&a_3&a_5&\dots&a_{2n-1}\\a_0&a_2&a_4&\dots&a_{2n-2}\\0&a_1&a_3&\dots&a_{2n-3}\\0&a_0&a_2&\dots&a_{2n-4}\\\vdots&\vdots&\vdots&\ddots&\vdots\\0&0&0&\dots&a_n\end{matrix}\right| \end{gathered} D1=a1,D2=∣ ∣a1a0a3a2∣ ∣,D3=∣ ∣a1a00a3a2a1a5a4a3∣ ∣,…,Dn=∣ ∣a1a000⋮0a3a2a1a0⋮0a5a4a3a2⋮0…………⋱…a2n−1a2n−2a2n−3a2n−4⋮an∣ ∣
💡 例: 系统特征方程为:
a 0 s 3 + a 1 s 2 + a 2 s + a 3 = 0 ( a 0 > 0 ) a_0s^3+a_1s^2+a_2s+a_3=0\quad(a_0>0) a0s3+a1s2+a2s+a3=0(a0>0)
则系统稳定的充分必要条件为:
D 1 = a 1 > 0 D 2 = ∣ a 1 a 3 a 0 a 2 ∣ = a 1 a 2 − a 0 a 3 > 0 D 3 = ∣ a 1 a 3 a 5 a 0 a 2 a 4 0 a 1 a 3 ∣ = a 1 a 2 a 3 − a 0 a 3 2 > 0 \begin{aligned} D_1&=a_1>0\\ D_2&=\left|\begin{matrix}a_1&a_3\\a_0&a_2\end{matrix}\right|=a_1a_2-a_0a_3>0\\ D_3&=\left|\begin{matrix}a_1&a_3&a_5\\a_0&a_2&a_4\\0&a_1&a_3\end{matrix}\right|=a_1a_2a_3-a_0a_3^2>0 \end{aligned} D1D2D3=a1>0=∣ ∣a1a0a3a2∣ ∣=a1a2−a0a3>0=∣ ∣a1a00a3a2a1a5a4a3∣ ∣=a1a2a3−a0a32>0
林纳德-奇帕特 (Lienard-Chipard) 判据
该判据其实是赫尔维茨判据的推广, 减少了计算量
系统稳定的充分必要条件为:
- 系统特征方程的各项系数均大于0, 即 a i > 0 , ( i = 0 , 1 , 2 , … , n ) a_i>0,\;(i=0,1,2,\dots,n) ai>0,(i=0,1,2,…,n)
- 奇数阶或偶数阶的赫尔维茨行列式大于0, 即 D 奇 > 0 D_{\text奇}>0 D奇>0 或 D 偶 > 0 D_{\text偶}>0 D偶>0
劳斯 (Routh) 判据
以上两个判据计算较为复杂, 三阶及以下可以使用 (直接套上面例子里的式子就好), 阶数较高的一般直接用劳斯判据。
使用劳斯判据时先列出劳斯表:
s n s^n sn | a 0 a_0 a0 | a 2 a_2 a2 | a 4 a_4 a4 | a 6 a_6 a6 | … \dots … |
---|---|---|---|---|---|
s n − 1 s^{n-1} sn−1 | a 1 a^1 a1 | a 3 a_3 a3 | a 5 a_5 a5 | a 7 a_7 a7 | … \dots … |
s n − 2 s^{n-2} sn−2 | c 13 = a 1 a 2 − a 0 a 3 a 1 c_{13}=\frac{a_1a_2-a_0a_3}{a_1} c13=a1a1a2−a0a3 | c 23 = a 1 a 4 − a 0 a 5 a 1 c_{23}=\frac{a_1a_4-a_0a_5}{a_1} c23=a1a1a4−a0a5 | c 33 = a 1 a 6 − a 0 a 7 a 1 c_{33}=\frac{a_1a_6-a_0a_7}{a_1} c33=a1a1a6−a0a7 | ||
s n − 3 s^{n-3} sn−3 | c 14 = c 13 a 3 − a 1 c 23 c 13 c_{14}=\frac{c_{13}a_3-a_1c_{23}}{c_{13}} c14=c13c13a3−a1c23 | c 24 = c 13 a 5 − a 1 c 33 c 13 c_{24}=\frac{c_{13}a_5-a_1c_{33}}{c_{13}} c24=c13c13a5−a1c33 | |||
⋮ \vdots ⋮ | ⋮ \vdots ⋮ | ⋮ \vdots ⋮ | |||
s 2 s^2 s2 | c 1 , n − 1 c_{1,n-1} c1,n−1 | c 2 , n − 1 c_{2,n-1} c2,n−1 | |||
s s s | c 1 , n c_{1,n} c1,n | ||||
s 0 s^0 s0 | c 1 , n + 1 = a n c_{1,n+1}=a_n c1,n+1=an |
Routh 判据:
- 闭环系统稳定当且仅当:
- 特征方程 D(s) 的所有系数为正;
- Routh 表的第一列所有元素为正。
- D(s) 正实部根的个数等于 Routh 表第一列元素符号改变的次数。
从劳斯表的构造过程可以看出, 劳斯表的每一行都取决于其前两行。 但有些特殊情况会让劳斯表无法计算下去, 比如第一列的元素为0, 或某一行的元素全为0。 这两种特殊情况的处理方法如下:
-
当某一行的第一列元素为0时:
- 可以用一个极小的正数 ε \varepsilon ε 来代替0, 继续运算。
- 也可以给原特征方程乘以 (s+1) 后, 再构造新特征方程的劳斯表。 用该劳斯表判稳, 结果与原特征方程一样。
-
当某行的元素全为0时:
用上一行构造辅助函数 F ( s ) = c 1 , n − k s k + c 2 , n − k s k − 2 + … F(s)=c_{1,n-k}s^k+c_{2,n-k}s^{k-2}+\dots F(s)=c1,n−ksk+c2,n−ksk−2+…; 对辅助函数求导, 将求导后各项的系数作为零行的元素。
💡 辅助函数的次数通常为偶数, 求解 F ( s ) = 0 F(s)=0 F(s)=0 可以得到数值相等, 符号相反的根, 这些根同样也是系统特征方程的根
相对稳定性分析
离虚轴越近的根对系统的影响越大, 因此通常使用实部最大的特征根2距虚轴的距离来表示系统的相对稳定性, 或叫稳定裕度。
设稳定裕度为 σ \sigma σ, 为了能用上述判据来分析系统的稳定裕度, 可以用新变量 s ′ = s + σ s'=s+\sigma s′=s+σ 代入原特征方程, 即令 s = s ′ − σ s=s'-\sigma s=s′−σ。 求解D(s’) 或使用上面的稳定性判据分析即可。 这个操作相当于把虚轴往左平移了 σ \sigma σ , 然后看系统特征点是否还能在它的左边。
稳态误差分析与计算
误差与稳态误差
误差一般定义为期望值与实际值之差, 对于常见的负反馈闭环系统来说, 误差有两种定义:
- 实际值为 c(t), 期望值为 r(t) : 误差 e(t)=r(t)-c(t)
- 实际值为 b(t), 期望值为 r(t) : 误差 e(t)=r(t)-b(t)
稳态误差是指稳定系统的误差的终值, 当时间 t 趋于无穷时, e(t) 极限存在, 则稳态误差为
e s s = lim t → ∞ e ( t ) e_{ss}=\lim_{t\rightarrow\infty}e(t) ess=t→∞lime(t)
稳态误差可以使用终值定理来计算, 当且仅当 sE(s) 的极点均具有负实部时3, 稳态误差的值为:
e s s = lim s → ∞ e ( t ) = lim s → 0 s E ( s ) e_{ss}=\lim_{s\rightarrow\infty}e(t)=\lim_{s\rightarrow 0}sE(s) ess=s→∞lime(t)=s→0limsE(s)
输入信号作用下的稳态误差与系统结构参数的关系
当只有输入 r(t) 作用时, 系统如下图所示:
此时误差定义为 E ( s ) = R ( s ) − B ( s ) E(s)=R(s)-B(s) E(s)=R(s)−B(s)
根据等效变换的计算1, 可得:
E ( s ) = 1 1 + G ( s ) H ( s ) R ( s ) E(s)=\frac{1}{1+G(s)H(s)}R(s) E(s)=1+G(s)H(s)1R(s)
而 G(s)H(s) 可写作:
G ( s ) H ( s ) = K ∏ ( τ j s + 1 ) ∏ ( τ l 2 s 2 + 2 ζ k τ l s + 1 ) s V ∏ ( T i s + 1 ) ∏ ( T k 2 s 2 + ζ k T k s + 1 ) = K ⋅ N o ( s ) s V ⋅ D o ( s ) G(s)H(s)=\frac{K\prod(\tau_js+1)\prod(\tau_l^2s^2+2\zeta_k\tau_ls+1)}{s^V\prod(T_is+1)\prod(T_k^2s^2+\zeta_kT_ks+1)}=\frac{K\cdot N_o(s)}{s^V\cdot D_o(s)} G(s)H(s)=sV∏(Tis+1)∏(Tk2s2+ζkTks+1)K∏(τjs+1)∏(τl2s2+2ζkτls+1)=sV⋅Do(s)K⋅No(s)
式中, K 为系统的开环增益, V 为开环传递函数中积分环节的个数。 V=0 称系统为 0 型系统, V=1 称系统为 I 型系统, V=2 称系统为 II 型系统。
则系统的稳态误差:
e s s = lim s → 0 s E ( s ) = lim s → 0 s V + 1 D o ( s ) s V D o ( s ) + K N o ( s ) R ( s ) = lim s → 0 s V + 1 s V + K R ( s ) \begin{aligned} e_{ss}&=\lim_{s\rightarrow 0}sE(s)=\lim_{s\rightarrow 0}\frac{s^{V+1}D_o(s)}{s^VD_o(s)+KN_o(s)}R(s)\\ &=\lim_{s\rightarrow0}\frac{s^{V+1}}{s^V+K}R(s) \end{aligned} ess=s→0limsE(s)=s→0limsVDo(s)+KNo(s)sV+1Do(s)R(s)=s→0limsV+KsV+1R(s)
由此可得, 系统的稳态误差主要由三方面确定:
- 输入信号 R(s);
- 系统的开环增益 K;
- 系统的型别 V
下面对不同的情况进行讨论:
阶跃信号 R ( s ) = r 0 s R(s)=\frac{r_0}{s} R(s)=sr0
定义静态位置误差系数 K p = lim s → 0 G ( s ) H ( s ) K_p=\lim_{s\rightarrow0} G(s)H(s) Kp=lims→0G(s)H(s)
则易得:
K p = { K V = 0 ∞ V ≥ 1 ⇒ e s s = r 0 1 + K p = { r 0 1 + K V = 0 0 V ≥ 1 K_p=\begin{cases} K&V=0\\ \infty&V\geq1 \end{cases}\quad\Rightarrow\quad e_{ss}=\frac{r_0}{1+K_p}=\begin{cases} \frac{r_0}{1+K}&V=0\\ 0&V\geq1 \end{cases} Kp={K∞V=0V≥1⇒ess=1+Kpr0={1+Kr00V=0V≥1
对于 0 型系统, 开环增益越大, 稳态误差越小; 对于 V ≥ 1 V\geq1 V≥1 型系统, 稳态误差为0。
斜坡信号 R ( s ) = v 0 s 2 R(s)=\frac{v_0}{s^2} R(s)=s2v0
定义静态速度误差系数 K v = lim s → 0 s G ( s ) H ( s ) K_v=\lim_{s\rightarrow0} sG(s)H(s) Kv=lims→0sG(s)H(s)
则易得:
K v = { 0 V = 0 K V = 1 ∞ V ≥ 2 ⇒ e s s = v 0 K v = { ∞ V = 0 v 0 K V = 1 0 V ≥ 2 K_v=\begin{cases} 0&V=0\\ K&V=1\\ \infty&V\geq2 \end{cases}\quad\Rightarrow\quad e_{ss}=\frac{v_0}{K_v}=\begin{cases} \infty&V=0\\ \frac{v_0}{K}&V=1\\ 0&V\geq2 \end{cases} Kv=⎩ ⎨ ⎧0K∞V=0V=1V≥2⇒ess=Kvv0=⎩ ⎨ ⎧∞Kv00V=0V=1V≥2
0 型系统不稳定; 对于 I 型系统, 开环增益越大, 稳态误差越小; 对于 V ≥ 2 V\geq 2 V≥2 型系统, 稳态误差为0。
加速度信号 R ( s ) = a 0 s 3 R(s)=\frac{a_0}{s^3} R(s)=s3a0
定义静态加速度误差系数 K a = lim s → 0 s 2 G ( s ) H ( s ) K_a=\lim_{s\rightarrow0} s^2G(s)H(s) Ka=lims→0s2G(s)H(s)
则易得:
K a = { 0 V ≤ 1 K V = 2 ∞ V ≥ 3 ⇒ e s s = a 0 K a = { ∞ V ≤ 1 a 0 K V = 2 0 V ≥ 3 K_a=\begin{cases} 0&V\leq1\\ K&V=2\\ \infty&V\geq3 \end{cases}\quad\Rightarrow\quad e_{ss}=\frac{a_0}{K_a}=\begin{cases} \infty&V\leq1\\ \frac{a_0}{K}&V=2\\ 0&V\geq3 \end{cases} Ka=⎩ ⎨ ⎧0K∞V≤1V=2V≥3⇒ess=Kaa0=⎩ ⎨ ⎧∞Ka00V≤1V=2V≥3
V ≤ 1 V\leq1 V≤1 型系统不稳定; 对于 II 型系统, 开环增益越大, 稳态误差越小; 对于 V ≥ 3 V\geq 3 V≥3 型系统, 稳态误差为0。
‼️ 注意上述的推导都是在只有输入信号 r(t) 作为外作用的情况下进行的, 也就是说, 系统型别与稳态误差之间的关系不适用于有干扰 n(t) 作用的情况。
计算稳态误差
计算稳态误差的步骤可归纳为:
- 根据误差定义计算 E(s);
- 判断 sE(s) 的极点是否均具有负实部 (可用系统稳定性判据来判断);
- 若 sE(s) 的极点均具有负实部, 应用终值定理计算稳态误差。
见第二章反馈等效变换: 自动控制原理 (二): 控制系统的微分方程 | Mond’s Page ↩︎ ↩︎
当系统稳定时, 这个根就是离虚轴最近的那个根 ↩︎
也就是闭环系统稳定时 ↩︎
这篇关于自动控制原理 (四): 时域下的性能分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!