自动控制原理·采样系统和状态空间
这两部分之间其实没啥太大联系,写在一起只是为了方便,就这样。
采样系统分析
在前面讨论的系统中,信号都是连续时间信号,系统都是连续时间系统。在本节,将对有一处或者数处的信号是离散的(数码或者脉冲序列)的系统进行讨论。
关于奈奎斯特采样定理,已经提过非常非常多遍了,这里就略过了。只提一点:用\(f(t),G(s)\)表示采样前的信号,系统;用\(f^*(t),G^*(s)\)表示采样后的信号(冲击串)、系统。
保持器
由采样定理得,采样频率是输入信号频率的两倍以上时,可以通过理想低通滤波器把信号恢复出来。但是理想滤波器是不存在的,于是我们转而使用保持器来恢复信号。
零阶保持器
零阶保持器是把采样时刻\(nT\)的采样值恒定不变地保持到下一个采样时刻\((n+1)T\)的电路。它的系统函数是 \[ G_h(s)=\frac{1-e^{Ts}}{s} \]
一阶保持器
一阶保持器是一种按线性规律外推的保持器,其外推规律是: \[ x_h(t)=x(kT)+\frac{x(kT)-x[(k-1)T]}{T}(t-kT) \] 即:每个区间是线性函数,斜率是上一个区间的平均斜率
其传递函数是 \[ G_h(s)=T(1+Ts)\left(\frac{1-e^{Ts}}{Ts}\right)^2 \]
Z变换
Z变换是拉普拉斯变换的一种变形,也学过很多遍了。
脉冲传递函数
类似于以前的系统传递函数,离散时间系统的特性可以用脉冲传递函数\(H(z)\)来描述。对于开环系统
有: \[ C(s)=G(s)R^*(s) \] 和 \[ C^*(s)=G^*(s)R^*(s) \] 写成脉冲传递函数的形式,就是 \[ C(z)=G(z)R(z) \] 一般来说,由连续部分求得脉冲传递函数的步骤是:
- 由\(H(s)\)求得\(h(t)\)
- 确定单位冲激响应序列\(h[nT]\)
- 求\(h[nT]\)的Z变换,得\(H(z)\)
在实际操作上,并没有这么麻烦。在进行接下来的说明之前,首先要辨析两个表达式: \[ G_1(z)G_2(z) \] 指的是\(G_1(z)\)和\(G_2(z)\)两个表达式的乘积,两个系统之间通过采样开关串联,即:
而 \[ G_1G_2(z) \] 指的是先把两个连续时间系统级联,得到\(G_1G_2(s)=G_1(s)G_2(s)\),然后求出\(G_1G_2(s)\)对应的Z变换形式,即为\(G_1G_2(z)\),即:
这两种情况一般是不一样的。比如\(G_1(s)=1/(s+a),G_2(s)=1/(s+a)\),对于第一个串联系统,有: \[ G(z)=\frac{z^2}{(z-e^{-aT})(z-e^{-bT})} \] 对于第二个串联系统,则有: \[ G(s)=\frac 1{b-a}\left(\frac{1}{s+a}+\frac{1}{s+b}\right) \] 从而 \[ G(z)=\mathscr Z[G(s)]=\frac{\mathrm{e}^{-a T}-\mathrm{e}^{-b T}}{b-a} \frac{z}{\left(z-\mathrm{e}^{-a T}\right)\left(z-\mathrm{e}^{-b T}\right)} \] 在分析闭环系统时,系统函数有时候不能直接求出(详见下面的例题),所以会转而求输出函数\(C(z)\),可以遵循以下步骤:
- 从\(C(z)\)开始逆着前向通道找到最靠近比较器的采样器,采样信号设为\(X(z)\);
- 利用前向通道和回路分别写出\(C(z)\)和\(X(z)\)的表达式,联立解出\(C(z)\)。
如果系统有多个反馈环,则:
- 从比较器最靠近\(C(z)\)的回路开始,每个回路找到一个\(X(z)\)(没有则先归并该连续回路为一个连续环节),即\(X_n(z), \cdots , X_1(z)\);
- 用前向通道写出\(C(z)\)的表达式,从\(n\sim 1\)依次用各回路写出\(X(z)\)表达式,联立\(n+1\)个方程解出\(C(z)\)。
在实际操作时,先写\(C(s)\)和\(X(s)\)方程,再加星得到\(C^*(s)\)和\(X^*(s)\)方程,然后得到\(C(z)\)和\(X(z)\)方程.
【例1】求以下系统的\(C(z)\)
【解】\(X(z)\)已经在图中标好了。
列方程: \[ \begin{cases} C(s)=G_2(s)X^*(s)\\ X(s)=G_2(s)R(s)-G_1(s)H(s)G_2(s)X^*(s) \end{cases} \]
加星号(采样):在加星号时,要分清楚一个表达式里面是系统、连续时间还是离散时间。对级联的系统、连续时间信号传入连续系统的部分合并为整体然后加星号,对离散时间信号传入系统的部分,只给系统加星号,离散时间信号保持不变,也不合并: \[ \begin{cases} C(s)=G_2^*(s)X^*(s)\\ X(s)=G_2R^*(s)-G_1HG_2^*(s)X^*(s) \end{cases} \]
Z变换,就是把星号都去了,然后把\(s\)换成\(z\) \[ \begin{cases} C(z)=G_2(z)X(z)\\ X(z)=G_2R(z)-G_1HG_2(z)X(z) \end{cases} \]
消元求解,有: \[ C(z)=\frac{G_2(z)G_1R(z)}{1+G_1HG_2(z)} \]
可以看出,在上面这个例子中,\(R\)的存在形式是\(G_1R(z)\),并不能单独分出来,所以只能求到\(C(z)\),而不能求出系统函数。
系统稳定性判定
采样系统稳定的充要条件是闭环系统的特征根全部都在\(z\)平面的单位圆内,即\(|z|<1\)。为了复用以前的劳斯判据,需要找到一个变换\(z\to w\),把\(z\)屏幕的单位圆映射到\(w\)平面的虚轴之左。有: \[ z=\frac{w+1}{w-1} \] 在应用时,把特征方程的\(z\)全都替换成这个,然后对\(w\)使用劳斯判据即可。
系统的稳态误差
首先我们研究的是稳态误差,所以系统首先要有稳态,也就是稳定。所有不讨论稳定性而直接对稳态误差进行讨论的都没有意义。
则根据终值定理,系统稳态误差为 \[ e^*(\infty)=\lim_{z\to 1}(1-z^{-1})\frac {R(z)}{1+G(z)} \] 如果是阶跃输入,即\(R(z)=z/(z-1)\),则 \[ e^*(\infty)=\frac 1{1+K_P} \] 如果是斜坡输入,\(R(z)=Tz/(z-1)^2\),则 \[ e^*(\infty)=\frac T{K_v} \] 如果是加速输入,\(r(t)=0.5t^2\),\(R(z)=T^2z(z+1)/2(z-1)^2\),则 \[ e^{*}(\infty)=\frac{T^2}{K_a} \]
总结如下:
输入 | 0 | I | II | III | 静态误差系数 |
---|---|---|---|---|---|
\(r(t)=1\) | \(\frac{1}{1+K_p}\) | \(0\) | \(0\) | \(0\) | \(K_p=\lim_{z\to 1}G(z)\) |
\(r(t)=t\) | \(\infty\) | \(T/K_v\) | \(0\) | \(0\) | \(K_v=\lim_{z\to 1}(z-1)G(z)\) |
\(r(t)=0.5t^2\) | \(\infty\) | \(\infty\) | \(T^2/K_a\) | \(0\) | \(K_a=\lim_{z\to 1}(z-1)^2G(z)\) |
型别指\(G(z)\)分母包含\((z-1)\)因子的个数,即\(z=1\)处极点的个数
【例】对采样周期\(T=0.2s\)的系统 \[ G(z)=\frac{0.24z-0.16}{(z-1)^2} \] 求输入为\(r(t)=1+t+0.5t^2\)时的稳态误差
【解】有: \[ e^*(\infty)=\frac 1{K_p+1}+\frac T{K_v}+\frac{T^2}{K_a} \] 其中\(K_p=K_v=\infty\),而 \[ \lim_{z\to 1}(z-1)^2G(z)=0.08 \] 所以稳态误差为 \[ e^*(\infty)=0+0+\frac{0.2^2}{0.08}=0.5 \]
状态空间分析方法
状态空间分析方法是一种和前面讲的所有方法都不一样的方法。用传递函数描述系统只能反映系统输出和输入变量的关系,而不了解系统内部的变化情况,而且是建立在零初始状态的基础上的。而状态空间分析方法会客服这些困难。在介绍状态空间分析法前,需要定义:
状态变量:如果以最少的\(n\)个变量\(x_1(t),\cdots,x_n(t)\)就能完整描述一个系统的行为,这\(n\)个变量就称为一组状态变量
状态向量:把上面这\(n\)个状态变量拼成一个列向量,就叫做状态向量
状态空间:以各状态变量为轴的空间是状态空间,状态向量是状态空间里的一个点
状态方程:描述状态变量和输入之间关系的一阶微分方程组: \[ \mathbf{\dot x}=A\mathbf x+B\mathbf {u} \] 其中\(\mathbf x\)是状态向量,\(\mathbf u\)是\(r\)维输入向量,\(A\)是\(n\times n\)矩阵,叫系统矩阵,\(B\)是\(n\times r\)矩阵,叫输入控制阵
输出方程:描述系统输出和输入之间关系的方程组: \[ \mathbf y=C\mathbf x+D\mathbf u \] 其中\(y\)是\(m\)维输出向量,\(C\)是\(m\times n\)输出矩阵,\(D\)是\(m\times r\)矩阵。一个线性时不变系统可用\((A,B,C,D)\)直接描述。
求解系统状态方程和输出方程
对状态方程左右两边做拉普拉斯变换,有: \[ sX(s)-X(0)=AX(s)+BU(s) \] 化简一下: \[ X(s)=(sI-A)^{-1}[X(0)+BU(s)] \] 设预解矩阵 \[ \phi(s)=(sI-A)^{-1}=\frac{(sI-A)^*}{|sI-A|} \] 所以系统的特征方程为\(|sI-A|=0\)。则 \[ X(s)=\phi(s)X(0)+\phi(s)BU(s) \] 同理,对输出方程有: \[ Y(s)=C\phi(s)X(0)+[C\phi(s)B+D]U(s) \] 如果是零状态,则\(C\phi(s)B+D\)在这里就起到了传递函数的作用,所以定义传递函数矩阵: \[ G(s)=C\phi(s)B+D \]
可控和可观
概念和基本判别方法
对于任意初始状态,如果存在一个控制量能在有限时刻将状态转译为零状态,则称系统状态可控。定义系统可控性阵为: \[ Q_c=[B\quad AB\quad A^2B\cdots\quad A^{n-1}B] \] 如果有\(|Q_c|\neq0\),即\(Q_c\)满秩,那么系统可控。
如果\(u(t)\)已知,能由一段时间内的输出测量值唯一确定任意时刻的状态,称为系统可控。定义系统可控性阵为 \[ Q_o=[C\quad CA\cdots CA^{n-1}]^T \] 如果它是满秩的,那么系统可观。
标准型
如果一个\(n\)阶单输入系统可控,则一定存在一个可逆线性变换,将其变为可控标准型。系统的可控标准型为: \[ A_c=\begin{pmatrix} 0&1&0&\cdots&0\\ \vdots&\vdots&\ddots&\ddots&\vdots\\ 0&0&\cdots&\cdots&0\\ 0&0&\cdots&\cdots&1\\ -a_0&-a_1&\cdots&\cdots&-a_{n-1} \end{pmatrix},B_c=\begin{pmatrix} 0\\ \vdots\\ 0\\ 1 \end{pmatrix},C_c=(\beta_0,\cdots,\beta_{n-1}) \] 此时,对应的系统函数为: \[ G(s) =\frac{\beta_{n-1} s^{n-1}+\cdots+\beta_1 s+\beta_0}{s^n+a_{n-1} s^{n-1}+\cdots+a_1 s+a_0} \] 类似的,有可观测标准型: \[ A_o=\left[\begin{array}{ccccc} 0 & 0 & \cdots & 0 & -a_0 \\ 1 & \cdots & \cdots & 0 & -a_1 \\ 0 & \ddots & & \vdots & \vdots \\ \vdots & & \ddots & \vdots & \vdots \\ 0 & \cdots & 0 & 1 & -a_{n-1} \end{array}\right], \quad B_o=\left[\begin{array}{c} \gamma_0 \\ \gamma_1 \\ \vdots \\ \gamma_{n-1} \end{array}\right],C_o=[0,0,\cdots,1] \] 对应的单输入单输出系统传递函数: \[ G(s)=\frac{\gamma_{n-1} s^{n-1}+\cdots+\gamma_1 s+\gamma_0}{s^n+a_{n-1} s^{n-1}+\cdots+a_1 s+a_0} \] 把一个系统的一般形式化成可控标准型,遵循以下步骤:
计算可控性矩阵\(Q_c\)
计算\(Q_c^{-1}\),记其最后一行为\(h^T\)
构造矩阵\(P\),并求逆 \[ \boldsymbol{P}=\left[\begin{array}{c} \boldsymbol{h}^T \\ \boldsymbol{h}^T \boldsymbol{A} \\ \boldsymbol{h}^T \boldsymbol{A}^2 \\ \vdots \\ \boldsymbol{h}^T \boldsymbol{A}^{n-1} \end{array}\right] \]
得\(\overline A=PAP^{-1},\overline B=PB,\overline C=CP^{-1},\overline D=D\)
【例】把以下系统化为可控标准型 \[ \dot{\boldsymbol{x}}=\left[\begin{array}{ccc} -2 & 2 & -1 \\ 0 & -2 & 0 \\ 1 & -4 & 0 \end{array}\right] \boldsymbol{x}+\left[\begin{array}{l} 0 \\ 1 \\ 1 \end{array}\right] u \] 【解】有: \[ Ab=\left[\begin{array}{c} 1 \\ -2 \\ -4 \end{array}\right],A^2b=\left[\begin{array}{c} -2 \\ 4 \\ 9 \end{array}\right] \] 得 \[ Q_c=[b\quad Ab\quad A^2b]=\left[\begin{array}{ccc} 0 & 1 & -2 \\ 1 & -2 & 4 \\ 1 & -4 & 9 \end{array}\right] \] 求逆,有: \[ Q_c^{-1}=\left[\begin{array}{ccc} 2 & 1 & 0 \\ 5 & -2 & -2 \\ 2 & -1 & 1 \end{array}\right] \] 取最后一行: \[ h^T=[2\quad -1\quad -1] \] 所以 \[ P=\left[\begin{array}{c} h^T \\ h^TA \\ h^TA^2 \end{array}\right]=\left[\begin{array}{ccc} 2 & -1 & 1\\ -3 &2 & -2 \\ 4 & -2 & 3 \end{array}\right] \] 所以 \[ \overline A=PAP^{-1}=\left[\begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ -2 & -5 & -4 \end{array}\right] \]
状态反馈和极点配置
对于定常系统 \[ \begin{cases} \dot x=Ax+Bu\\ y=Cx \end{cases} \] 如果系统的输入\(u\)和\(x\)有关系,即 \[ u=hx+r \] 这就叫做状态反馈系统。
对于系统\((A,B,C,0)\)来说,其极点为特征方程\(|sI-A|=0\)的根,如果系统不能达到设计指标,那么就需要修改系统的极点的位置,可以适当选取状态反馈变量\(h\),使得状态反馈系统的特征方程\(|sI-(A+Bh)|=0\)的根满足性能要求。这样的过程就是极点配置过程。
只有系统\((A,B,C,0)\)完全可控时,才能进行极点配置。
【例】系统 \[ \begin{cases} \dot x=Ax+\begin{bmatrix} 2\\1 \end{bmatrix}u\\ y=[1\quad 1]x \end{cases} \] 的状态转移矩阵 \[ \phi(t)=\begin{bmatrix} e^{-t} & 0\\ \beta(e^{-t}-e^{-2t}) & e^{-2t} \end{bmatrix} \]
- 求\(A\)
- 计算传递函数,写出可控标准型
- 设\(\beta=1\),考虑状态反馈\(u=hx\),设计\(h\)使得闭环系统极点为\(-1,-3\)
【解】
做拉普拉斯变换,有: \[ \phi(s)=\begin{bmatrix} \frac 1{s+1} & 0\\ \frac \beta{s+1}-\frac \beta{s+2} & \frac 1{s+2} \end{bmatrix} \] 由\(\phi=(sI-A)^{-1}\),先求\(\phi^{-1}\): \[ \phi^{-1}={(s+1)(s+2)}\begin{bmatrix} \frac 1{s+2} & 0\\ \frac{-\beta}{(s+1)(s+2)} & \frac 1{s+1} \end{bmatrix}=\begin{bmatrix} {s+1} & 0\\ {-\beta} & {s+2} \end{bmatrix}=sI-A \] 所以 \[ A=\begin{bmatrix} -1 & 0\\ \beta & -2 \end{bmatrix} \]
传递函数(法1) \[ G(s)=C\phi(s)B=\frac{2\beta+2}{s+1}-\frac{2\beta-1}{s+2} \] 即 \[ G(s)=\frac{s+2\beta+5}{s^2+3s+2} \] 所以 \[ A=\begin{bmatrix} 0 & 1\\ -2 & -3 \end{bmatrix},B=\begin{bmatrix} 0\\1 \end{bmatrix},C=[2\beta+5\quad 1] \]
有: \[ \begin{aligned} |sI-(A+BH)|&=\det\begin{bmatrix} s-2H_1+1 & -2H_2\\ -H_1-1 & s-H_2+2 \end{bmatrix}\\ &=s^2+(3-2H_1-H_2)s+2-4H_1-3H_2 \end{aligned} \] 要达到题设要求的极点,则要求特征方程为 \[ (s+1)(s+3)=s^2+4s+3 \] 对比系数,解方程,得 \[ H=[-1\quad 1] \]