传递函数和状态空间方程

#控制工程
Table of Contents

状态空间

对于一个系统的状态空间方程,可以使用 laplace 变换来得到系统的运行状态方程

状态空间方程——一个包含输入,输出,状态变量的集合的一阶微分方程,但是对于高阶的系统,可以选择合适的状态量来消除高阶的系数

根据下式求出的状态空间方程中,对于矩阵 A 的特征值是决定系统极点的位置,可能会决定系统的稳定性

状态空间方程的解

过程不再写了,直接结论

$$ X(t)=e^{A(t-t_0)}X(t_0)+\int_{t_0}^t{e^{A(t-\tau)}Bu(\tau)}d\tau $$

其中 $e^{A(t-t_0)}$ 是状态转移矩阵,表示系统状态转移变化的规律,是一个实时变化的矩阵,A 矩阵对其有着重要的作用,当 A 的特征值小于0时, $X(t)$ 是不断趋近于 0 的,是系统稳定性分析的一个重要方式,但是 A 矩阵的特征值中含有虚数就表示该系统是有震荡的(根据欧拉公式,引入虚数相当于是引入了 sint 和 cost,实际上是引入了震荡),要保证系统稳定,一定要保证特征值的实部小于零

1708342322241.png

第二项是一个卷积,表示输入与输出之间的动态变化的关系

传递函数→状态空间方程

一阶系统

假设传递函数为

$$ G(s)=\frac{Y(s)}{U(s)}=\frac{a_0}{b_0s+b_1} $$

可以写作

$$ Y(s)(b_0s+b_1)=a_0U(s) $$

$$ b_0\dot{y}+b_1y=a_0u $$

则可设

$$ x_1=y $$

则有

$$ \dot{x_1}=-\frac{b_1}{b_0}x_1+\frac{a_0}{b_0}u\\\\ y=x_1 $$

得到状态方程

$$ A=-\frac{b_1}{b_0}\\\\ B=\frac{a_0}{b_0}\\\\ C=1 $$

二阶系统

设传递函数为

$$ G(s)=\frac{Y(s)}{U(s)}=\frac{a_0s+a_1}{b_0s^2+b_1s+b_2} $$

写作

$$ Y(s)(b_0s^2+b_1s+b_2)=(a_0s+a_1)U(s) $$$$ b_0\ddot{y}+b_1\dot{y}+b_2y=a_0\dot{x}+a_1{x} $$

$$ b_0\ddot{y_1}+b_1\dot{y_1}+b_2y_1=u\\\\ y=a_0\dot{x_1}+a_1x_1 $$$$ \left\{\begin{aligned}&x_1=y_1\\&x_2=\dot{y_1}\end{aligned}\right. $$$$ \left\{\begin{aligned}&\begin{bmatrix}\dot{x_1}\\\dot{x_2}\end{bmatrix}=\begin{bmatrix}0&1\\-\frac{b_2}{b_0}&-\frac{b_1}{b_0}\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}+\begin{bmatrix}0\\\frac{1}{b_0}\end{bmatrix}u\\&y=\begin{bmatrix}a_1&a_0\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}\end{aligned}\right. $$

$$ A=\begin{bmatrix}0&1\\-\frac{b_2}{b_0}&-\frac{b_1}{b_0}\end{bmatrix}\\\\ B=\begin{bmatrix}0\\\frac{1}{b_0}\end{bmatrix}\\\\ C=\begin{bmatrix}a_1&a_0\end{bmatrix} $$

高阶系统

$$ G(s)=\frac{Y(s)}{X(s)}=\frac{\sum_{i=0}^{N-1}a_is^i}{\sum_{i=0}^{N}b_is^i} $$

$$ \left\{\begin{aligned}&\dot{X}=AX+BU\\&Y=CX\end{aligned}\right. $$

其中

$$ A=\begin{bmatrix}0&1&0&&0\\0&0&1&&0\\\\0&0&0&&1\\-\frac{b_0}{b_N}&-\frac{b_1}{b_N}&-\frac{b_2}{b_N}&&-\frac{b_{N-1}}{b_N}\end{bmatrix}\\\\ B=\begin{bmatrix}0\\0\\\\\frac{1}{b_N}\end{bmatrix}\\\\ C=\begin{bmatrix}a_0&a_1&a_2&&a_{N-1}\end{bmatrix} $$

状态空间方程→传递函数

对于一个状态空间方程

$$ \left\{\begin{aligned}&\dot{X}=AX+BU\\&Y=CX+Du\end{aligned}\right. $$

对方程两侧进行 laplace 变换,得

$$ L(\dot{X})=L(AX+Bu)\\\\ sX(s)=AX(s)+Bu(s)\\\\ (sI-A)X(s)=Bu(s) $$

其中 $I$ 是单位对角阵,所以可以得出

$$ X(s)=(SI-A)^{-1}Bu(s) $$

对另一个式子进行 laplace 变换得到

$$ L(Y)=L(CX+Du)\\\\ Y(s)=CX(s)+Du(s) $$

带入得

$$ Y(s)=(C(SI-A)^{-1}B+D)u(s) $$

所以得到传递函数

$$ G(s)=C(sI-A)^{-1}B+D $$

连续系统离散化

对于传递函数

$$ \dot{x}=Ax+Bu $$

该系统进行离散化之后可以得到

$$ x(k+1)=\overline Ax(k)+\overline{B}u(k) $$

其中

$$ \overline{A}=e^{AT}\\\\ \overline{B}=\int $$

对 $e^{AT}$ 进行泰勒级数展开,得到

$$ e^{AT}=I+AT+\frac{1}{2!}A^2T^2+ $$

一般来说可以只取前三项