前几章,我们主要学习的知识可以概括为,离散时间系统的建模。依照自动控制原理的学习过程,接下来,我们要学的无非是离散时间系统的分析、离散时间系统的控制设计。因此紧接着需要学习的就是,离散时间系统的分析。
对于系统的分析无非分为以下几个方面:稳定性分析(系统是否稳定)、稳态分析(系统稳态误差如何)、暂态分析(系统瞬态响应如何)。在这一章,我们先解决离散时间系统的稳定性分析。(思路主要是从连续时间系统那一套一一对应着来)
Stability
与连续时间系统中稳定性的一般定义一致,这里的稳定性指的是BIBO稳定,即
\[|r(kT)| < \infty, \, \forall k = 0, 1, 2, \ldots \implies |c(kT)| < \infty, \, \forall k = 0, 1, 2, \ldots\]那么,如何判定一个离散时间系统是 BIBO 稳定的呢?在连续时间系统中,我们通过特征方程(传递函数分母)的根是否均小于 0 (s域)来判定一个系统是否稳定;同样在离散时间系统中,如果我们能够得到该系统的脉冲传递函数,就能够得到该系统的特征方程,通过特征方程的根是否均在单位圆内(z域)来判定该系统的稳定性。但,当真如此简单吗?或者说,系统特征方程当真如此轻易获得吗?
-
一般的离散时间系统(能够得到脉冲传递函数)
假如我们能够将系统建模为:
\[C(z) = G_{cl}(z)R(z)\]即能够得到系统的脉冲传递函数,那么该脉冲传递函数的分母即是该系统的特征方程
-
复杂的离散时间系统(不能够得到脉冲传递函数)
但是并非所有的 Sampled-Data System 都能够如上述那般建模,比如
该系统的建模方程如下:
\[C(z) = \mathcal{Z} \left[ \frac{R(s)}{2 + G_2(s)} \right] + \frac{\mathcal{Z} \left[ \frac{G_1(s)G_2(s)}{2 + G_2(s)} \right]}{1 + \mathcal{Z} \left[ \frac{G_1(s)G_2(s)}{2 + G_2(s)} \right]} \mathcal{Z} \left[ \frac{(1 + G_2(s))R(s)}{2 + G_2(s)} \right]\]是不能够分解为脉冲传递函数乘以系统输入的形式的。那么该系统的特征方程如何得到?这里直接给出方法:
- 这类系统的特征方程就是建模方程中,与输入 $R$ 无关部分的分母
比如,上述建模方程中与输入 $R$ 无关部分是 $\frac{\mathcal{Z} \left[ \frac{G_1(s)G_2(s)}{2 + G_2(s)} \right]}{1 + \mathcal{Z} \left[ \frac{G_1(s)G_2(s)}{2 + G_2(s)} \right]}$,因此该系统的特征方程就是$1 + \mathcal{Z} \left[ \frac{G_1(s)G_2(s)}{2 + G_2(s)} \right] = 0$。
-
注意: Sampled-Data System 的特征方程是从连续时间系统中采样得到的,因此采样周期会影响特征方程的根的位置。简单来说,采样周期影响离散时间系统的稳定性!
实际上,到这已经能够判定一个离散时间系统的稳定性了,流程如下:
- 对离散时间系统进行建模(z 域)
- 得到该系统的特征方程(两类系统、两种方法)
- 得到特征方程的根,如果均在 z 平面单位圆内,则系统稳定;否则,不稳定。
Jury’s Stability Test
当系统阶数较高时,直接求解特征方程的根计算量较大,且求解过程复杂。因此直接从系统特征方程的根是否在单位圆内的角度来判定系统的稳定性不是一个具备扩展性的方法。反观连续时间系统,当特征方程阶数较高时,可以使用劳斯判据来判断该系统的稳定性;同样,在离散时间系统中,当特征方程阶数较高时,可以使用 Jury 判据来判断该系统的稳定性。
下面给出使用 Jury 判据的具体流程:
-
得到系统的特征方程:
\[Q(z) = a_n z^n + a_{n-1} z^{n-1} + \cdots + a_1 z + a_0 = 0, \quad a_n > 0\]注意,一定要保证最高次项的系数为正数!
-
建立 Jury 表
注意,一共是 $2n - 3$ 行!最后一行是三个数!如果最高阶是 2 次,则只有 $2*2-3=1$ 行!
-
Jury 判据
该离散时间系统是稳定的,当且仅当以下条件均满足:
\[\begin{aligned} Q(1) & > 0 \\ (-1)^n Q(-1) & > 0 \\ |a_0| & < a_n \\ |b_0| & > |b_{n-1}| \\ |c_0| & > |c_{n-2}| \\ |d_0| & > |d_{n-3}| \\ & \vdots \\ |m_0| & > |m_2| \end{aligned}\]
以上,就是 Jury 判据的全部流程。
-
Jury判据是离散时间系统稳定性的充分必要条件
我们不仅可以用 Jury 判据来判断一个系统的稳定性,同样可以使用 Jury 判据来设计一个系统使得其稳定。
Bilinear Transform & Routh-Hurwitz criterion
当然,这个世界上还是懒人多,总是希望能够用已有的方法来解决新的问题。那么很自然的,有没有办法使用劳斯判据来判定离散时间系统的稳定性呢?那么我们首先得重新理解一下劳斯判据和朱莉判据。
- 劳斯判据和朱莉判据都是对特征方程进行判定。
- 劳斯判据判定为稳定 $\Leftrightarrow$ 特征方程的根实部均小于 0
- 朱莉判据判定为稳定 $\Leftrightarrow$ 特征方程的根均在单位圆内
那是不是,只用对特征方程做一个变换,将原本的单位圆映射为虚轴,将原本单位圆内的部分映射到左半平面,将原本单位圆外的部分映射到右半平面,就能够使用劳斯判据了!(s 平面和 z 平面之间的映射)
因此,可以给出理想的双线性变换:
\[\begin{aligned} w &= \frac{z + 1}{z - 1}, & z &= \frac{w + 1}{w - 1} \\ w &= \frac{2}{T} \frac{z - 1}{z + 1}, & z &= \frac{1 + (T/2)w}{1 - (T/2)w} \end{aligned}\]一般来说,用第一行的变换即可,可以自行验证变换的正确性。($z = \varepsilon^{Ts} = \frac{\varepsilon^{\frac{T}{2}s}}{\varepsilon^{-\frac{T}{2}s}} \approx \frac{1+\frac{T}{2}s}{1-\frac{T}{2}s}$)
将 z 域映射到 s 域之后,就可以使用劳斯判据来判定系统的稳定性了。