系统的时域分析

自动控制理论很大一部分时间在研究给定一个信号后系统的响应。即在分析输出,知道了系统对信号的响应规律以后,就可以通过一些手段调整改造系统,使得响应满足我们的要求,因此不止这一节的知识,后面的知识的展开逻辑都是先系统分析,然后系统校正。

系统对于一个信号能不能有稳定的响应输出?如果可以稳定,那么响应是不是又快又准?——系统分析

如果不稳,可不可以调整系统让其稳定?如果已经稳了,是不是可以让其更快更准?——系统校正

时域分析计算出输出的表达式,直接算出来\(c(t)\)就完事了,稳不稳准不准就直接看出来了。很好理解但是很难计算,二阶还可以勉强一战,到了四五阶系统,想精确给出解析解还是相当不容易的。

时域分析大概的样子

时域分析举例。不仅仅是举例,更是两个非常重要的典型系统:一阶系统,二阶系统。

一阶系统

在正式进入比较烦的数学内容之前,先来看看自动控制原理这门课在到底在干什么,有个直观感受。这里用《电路分析》里的RC电路(一阶系统)举个例子。

一阶系统的数学形式(a model of first-order system):

\[\varPhi(s) = \frac{1}{Ts+1}\]

其中 \(T\) 为时间常数,特征根 \(\lambda = -1/T\)

响应为

\[C(s) = \varPhi(s)R(s)\]

对于输入信号是阶跃(step),开关闭合后发的事情。首先,这个电容电压最后一定是不变(稳定的);其次,电压上升没有超过电源电压,上升的速度也还行(无超调,动态性能);最后,电容电压一定等于电源电压。(稳态误差为0)。

思考:我能不能让电容充电速度快一点?

如果输入信号是单位脉冲也是很容易考虑的,在《电路分析》里,有讲到正弦稳态电路的知识点,交流电也是控制系统里常见的一种信号,给这个系统通个交流信号,频率还是这个频率,输出信号的幅值和相位会有点小区别,这是后面频域分析会展开深入研究的东西。

上面这个简单的例子,基本上给出了自动控制原理要讨论的几个大问题:系统稳定性判断、动态性能分析、稳态性能分析、系统校正。

信号积分求导的响应等于信号响应的积分求导。。。

提示

用信号与系统的角度思考控制系统,也可以认为是信号通过系统后的一个变化,系统就像个滤波器,使阶跃信号变成光滑上升的信号,不过自动控制系统的目标是怎么让输出信号更接近输入信号。因此大多数时间在研究分析暂态响应的性质。

One of the most important characteristics of control systems is their transient response. Because the purpose of control systems is to provide a desired response, the transient response of control systems often must be adjusted until it is satisfactory.

信号也是数学上对实际信号的理想化表达,虽然很数学但是很合理,还挺妙的,比如单位脉冲的定义。

这里列出常用信号,有些前面已经提到了:单位脉冲、单位阶跃、单位斜坡、单位加速度、正弦信号。

Test signal inputs:

  • Impulse: Stability
  • Step: Transient response
  • Ramp: Tracking capability
  • Parabolic: Faster tracking capability

二阶系统

复杂一点的要来了,二阶系统会去着重分析,经典的例子是弹簧阻尼器系统、RLC电路。闭环标准形式:

\[\varPhi(s) = \frac{\omega_n^2}{s^2 + 2\xi\omega_ns + \omega_n^2}\]

特征方程(Characteristic equation):

\[D(s) = s^2 + 2\xi\omega_ns + \omega_n^2 = 0\]

其中 \(\xi\) 为阻尼比(damping ratio), \(\omega_n\) 为无阻尼自然频率(natural frequency)。二阶系统按照阻尼比分类有0阻尼、欠阻尼、临界阻尼、过阻尼。阻尼比不同,指标计算以及响应略有不同。不同系统的特征根

\(\xi = 0\) 0阻尼 \(\lambda_{1,2} = \pm j\omega_n\)
\(0<\xi<1\) 欠阻尼 \(\lambda_{1,2} = -\xi\omega_n \pm j\sqrt{1-\xi^2}\omega_n\)
\(\xi=1\) 临界阻尼 \(\lambda_{1,2} = -\omega_n\)
\(\xi>1\) 过阻尼 \(\lambda_{1,2} = -\xi\omega_n \pm \sqrt{\xi^2- 1}\omega_n\)

过阻尼和临界阻尼

针对\(\xi \ge 1\)的情况。

When \(\xi>1\) , the poles are real, and the condition is overdamped case.

When \(\xi=1\) , the poles are repeated(重根) and real, and the condition is called critical damping;

★欠阻尼

When \(0 < \xi < 1\) , the poles are complex and conjugates(共轭):

\[s_{1,2} = -\xi\omega_n \pm j\sqrt{1-\xi^2}\omega_n = -\sigma \pm j \omega_d\]

对于输入信号为阶跃响应,时域法要做的就是硬算输出的数学表达式,在频域里有:

\[C(s) = R(s)\varPhi(s) = \frac{1}{s} \cdot \frac{\omega_n^2}{s^2 + 2\xi\omega_ns + \omega_n^2}\]

做个拉普拉斯反变换就出来了,然后简单的整合起来:

\[c(t) = 1 - \frac{e^{-\xi \omega_n t}}{\sqrt{1-\xi^2}} \sin ( \omega_n \sqrt{1-\xi^2} t + \beta )\]

对照特征方程的根:

\[s_{1,2} = -\xi\omega_n \pm j\sqrt{1-\xi^2}\omega_n = -\sigma \pm j \omega_d\] \[c(t) = 1 - \frac{e^{-\sigma t}}{\sqrt{1-\xi^2}} \sin ( \omega_d t + \beta )\]

可以得出结论:特征根的实部影响包络线收敛的速度,虚部引入震动。

在考虑极点(poles)对输出的影响时,各个指标变动的根源就在这里。

如果将来打算靠控制吃饭,那么这辈子都要记着的东西。注意这个公式只能用在二阶欠阻尼系统

\[\begin{array}{l} \left\{ \begin{align} t_r &= \frac{\pi - \beta}{\sqrt{1-\xi^2}\omega_n} \\ t_p &= \frac{\pi}{\sqrt{1-\xi^2}\omega_n} \\ t_s &= \frac{3.5}{\xi \omega_n} \ \ \ \ \ (\Delta\% = 5\%) \\ \sigma \% &= e^{-\frac{\xi\pi}{\sqrt{1-\xi^2}}} \\ \end{align} \right. \end{array}\]

欠阻尼系统极点位置对响应的影响,极点位置与响应的关系:

欠阻尼系统闭环极点与响应

图和表达式要对照起来。

二阶系统极点与响应关系

上面的欠阻尼系统内在含义是这个系统是稳定的,对上面做一个扩展。把欠阻尼、过阻尼、零阻尼、负阻尼的情况全部放在一个图上,更完整的理解极点对响应的影响:

系统闭环极点对响应的影响
注意

信号与系统里极点对系统影响的一个很猛的思路:

极点对系统有增强作用,极点越靠近虚轴,\(\omega\)在上升的时候,模值乘积会有个变小的过程,那么幅频特性取倒数就变大了,越靠近虚轴越大。这个思路也很有意思,从幅频特性出发理解极点的作用的。

同样的,零点靠近虚轴的作用使得,幅频特性,模值乘积接近于0,抑制作用。

那么零极点对消的数学原理也来了,模值接近一除就是1,对系统无影响。

这个思路也很有意思。

西安电子科技大学《信号与系统》郭宝龙

利用这个性质,可以设计低通、高通、带通、带组(陷波)滤波器

更高阶系统

然而实际几乎都是高阶系统。前面用二阶系统分析了极点对系统性能的影响,对于高阶系统,可以找闭环主导极点(Dominant roots),也用二阶大概看看。

一个高阶系统写出来,响应也就定了,极点决定了响应的情况(模态)。这是个纯数学上的关系,极点越靠近虚轴,对应模态衰减越慢,或者说时间常数越大。把一个系统看作是一堆典型环节串起来,时间常数最大的环节在后面,前面时间常数小的环节过程很快,所以最慢的那个环节决定了系统的整体性能。

换个说法:离虚轴最近的极点对应的响应分量衰减最慢,在系统响应中起主导作用,如果其他极点又远离虚轴(时间常数很小),那么基本上这个系统的响应就是由闭环主导极点决定的。

举个具体例子:

\[\varPhi(s) = \frac{1.05(0.4762s + 1)}{(0.125s+1)(0.5s+1)(s^2 + s + 1)}\]

写成零极点形式:

\[\varPhi(s) = \frac{8(s + 2.1)}{(s+8)(s+2)(s^2 + s + 1)}\]

基于不同时间常数的典型环节串联的思路,搭建一个仿真,输入为阶跃信号

响应结果如下图,这个结果是符合上面的思路的,时间常数越小的环节响应越迅速。第二部分实际上是个零极点对消,称为偶极子(Dipoles)。

那么直接拿掉对消的环节和时间常数很小的环节,对比一下响应的差距

主导极点对比仿真
响应对比

可以看到,这种思路是相当合理的,甚至可以使用二阶系统的那几个公式来近似估算一下高阶系统的一些动态性能。

用数学表达式写出来:

\[\varPhi(s) = \frac{1.05(0.4762s + 1)}{(0.125s+1)(0.5s+1)(s^2 + s + 1)} \approx \frac{1.05}{(s^2 + s + 1)}\]

从这个式子也可以看出使用闭环主导极点分析系统时传递函数的近似方法,环节省略的时候要用尾1标准环节形式。

定性分析以下非主导极点的影响。由于串入了一个时间常数比较小的环节,相当于阶跃信号变成了慢慢上升的阶跃信号,所以峰值时间变大了,响应变缓了,超调量也略微变小,借用二阶系统阻尼比的概念,就是非闭环主导极点增大了系统阻尼(但要时刻记得控制理论里的阻尼比是在二阶系统定义的)。越靠近虚轴这个增加阻尼效果越明显,这也很好理解,因为前面的一阶环节时间常数大了。

提示

The response of a third-order system can be approximated by the dominant roots of the second-order system as long as the real part of the dominant roots is less than one tenth of the real part of the third root.

系统的稳定性问题

闭环传递函数分母等于零的点影响系统的稳定性,也就是特征方程的解。如果闭环极点都在复平面的左半平面,那么就是稳定的。(还得说说为啥)

直接解特征方程当然也是可以的,但是高阶的情况下可能不是很容易做到。因此有人就想了,能不能不解方程也可以去判断一下系统的稳定性。这个方法居然还被找到了,这就是劳斯判据(Routh–Hurwitz stability criterion)。利用特征方程的系数,经过一系列标准化的操作,就可以判断s平面右侧有几个极点,这又是数学家留给工程师的财富,不必证明拿来就用。

举例子,系统稳不稳只和闭环极点有关,闭环零点只影响系数。

\[D(s) = a_ns^n + \cdots + a_1s + a_0 = 0\]

必要条件\(a_i > 0\),多项式因式相乘,肯定是越加越大的。缺项也是不稳定的,缺项属于是结构不稳定,靠调参是没法稳定的。

\[D(s) = s^5 + 3s^4 + 12s^3 + 35s +25 = 0\]
\(s^5\) \(1\) \(12\) \(35\)
\(s^4\) \(3\) \(35\) \(25\)
\(s^3\) \(\frac{16}{3}\) \(\frac{80}{3}\)  
\(s^2\) \(5\) \(25\)  
\(s^1\) \(\color{red}0 \color{black},10\) \(\color{red}0 \color{black},0\)  
\(s^0\) \(25\)    

劳斯表里\(s^1\)出现了全0行,那么用上一行元素组成辅助方程\(5s^2 + 25 = 0\),将其对\(s\)求导一次,用新方程的系数代替全零行系数,之后继续运算。出现全零行时,系统可能出现一对纯虚根;或一对符号相反的实根;或两对实部符号相异、虚部相同的复根。

真正使用的话,当然还是MATLAB一个函数搞定。作为考试来讲,记住一套标准化的流程就行,这个东西证明起来还是挺复杂的,我也不会,作为学习的一环,先理解这个东西为什么存在然后怎么使用。

在这个判据里,出现全零行,在分析的时候会作为稳不稳的依据,但是在根轨迹里可以用这个特性判断闭环极点落在虚轴上的参数取值,从这点来考虑,出现全零行意味极点在虚轴,就是振荡了。首先这种情况肯定不是大范围渐进稳定的,不是稳定到一个值。但是呢也不是指数发散,在不同的稳定语境下,对这种状态的描述略微有差异,在后面李雅普诺夫稳定性会说这个事情。这个状态是临界稳定(marginally stable)的。

提示

The stability of a linear closed-loop system is determined by the locations of the closed-loop poles in the 𝑠-plane.

If any of these poles lies in the right-half 𝑠-plane, with increasing time, they give rise to the dominant mode, and the transient response increases monotonically or oscillates with increasing amplitude.

A necessary and sufficient condition for a feedback system to be stable is that all the poles of the system transfer function have negative real parts.

系统的动态性能

又快又好,超调又小。

这里要引出几个指标了。

系统的稳态误差

提示

The steady-state error is the error that remains forever even after the transient response has decayed out.

下面这个事情主要是想研究纯积分环节开环增益对稳态误差的影响。先说个大概结论:PID控制里积分环节会消除稳态误差,增益大了也会减小稳态误差。

这个事情是先把开环传函的开环增益和积分环节拿出来作为一个部分放到闭环误差传递函数里面去看的,很巧的是,稳态误差正好就和这两有关系。(也有可能是有关系所以才单独拿出来,反正结论嘛,不巧就不能叫个结论。本来这个研究的问题,就是执果索因)

对于一个系统,开环传递函数为:

\[G(s)H(s) = \frac{K}{s^\nu} \cdot \frac{\prod \limits_{i=1}^m(\tau_is+1)}{\prod \limits_{j=1}^n(T_is+1)} = \frac{K}{s^\nu} \cdot G_0(s)\]

这个式子的意思是,一个开环传递函数,可以拆成积分环节,一堆零点一堆极点,再来个增益。积分环节的个数称为系统的型别(type number)这个系统的误差传递函数为:

\[\varPhi_e(s) = \frac{1}{1 + G(s)H(s)} = \frac{1}{1+\frac{K}{s^\nu} \cdot G_0(s)}\]

稳态误差使用终值定理计算:

\[e_{ss} = \lim_{s \to 0}sR(s)\varPhi_e(s)= \lim_{s \to 0}\frac{sR(s)}{1+\frac{K}{s^\nu} \cdot G_0(s)}\]

这不巧了吗? \(\lim_{s \to 0}G_0(s) = 1\),当输入为\(r(t) = A \cdot 1(t)\) 时:

\[e_{ssp} = \lim_{s \to 0}s \cdot \frac{A}{s} \cdot \frac{1}{1+\frac{K}{s^\nu} \cdot G_0(s)} = \frac{A}{1+ \lim_{s\to 0}G(s)} = \frac{A}{1+K_p}\]

这里定义了个位置误差系数(position error constant) \(K_p = \lim_{s \to 0}G(s) = \lim_{s \to 0}\frac{K}{s^\nu}\) 。

如果输入为 \(r(t) = A \cdot t\)

\[e_{ssv} = \lim_{s \to 0}s\cdot \frac{A}{s^2} \cdot \frac{1}{1 + \frac{K}{s^\nu} \cdot G_0(s)} = \frac{A}{\lim_{s\to 0}sG(s)}\]

看起来东西这么多,实际上根源是终值定理,因为这三个信号用的多,所以要定义一点控制理论(和工程)特有的东西出来,不然全是数学的东西这让控制理论多没有面子。

其实这么搞的也是想直接用开环传递函数算闭环系统稳态误差,定义的复杂是为了使用的直接。有了这个定义以后,拿到开环传递函数整整,就知道闭环稳态误差了,这就是用开环来分析闭环的思路。

这里的位置、速度、加速度讲的是输入信号。

系统的性能改善

二阶系统提高性能的两个方法

提高性能的两个方法:测速反馈,PD控制。

测速反馈结构图

这里使用时域的角度看这两种方法改善性能的机理。后面系统校正会有个大总结。

PD控制,是个串联校正装置。控制器为\(1+T_ds\)

很明显加了个零点,有零点的二阶系统,不改变自然频率\(\omega_n\)

测速反馈,增加阻尼比。