从线性连续时间状态转移方程推导离散状态转移方程

线性连续时间状态转移方程具有如下形式:

\[\dot{x} = \mathscr{A}x + \mathscr{B}u \tag{1} \]

现在考虑在一个一个离散控制系统中的一个控制周期的时间范围\([t_k, t_{k+1}]\),其中\(t_{k+1} = t_k + \Delta{t}\)。使用\(x_k\)\(x_{k+1}\)来分别表示状态\(x\)\(t_k\)\(t_{k+1}\)时刻的值,控制输入\(u\)在这个控制周期中保持不变,使用\(u_k\)来表示这个值。根据上述定义,可以得到该系统的离散状态转移方程具有如下形式:

\[x_{k+1} = A x_k + Bu_k \tag{2} \]

只需要计算\(A\)\(B\)就可以得到该系统的离散状态转移方程。
\(\mathscr{A}\)对角化,\(\mathscr{A} = P^{-1}DP\),根据(1),有:

\[\begin{aligned} \dot{x} &= \mathscr{A}x + \mathscr{B}u \\ &=P^{-1}DPx + \mathscr{B}u \\ P\dot{x} &= DPx + P\mathscr{B}u \end{aligned} \tag{3} \]

进行变量替换,\(y=Px\),于是得到:

\[\begin{aligned} \dot{y} &= Dy + P\mathscr{B}u \\ \end{aligned} \tag{4} \]

由于\(D\)是对角阵,公式(4)中的每一项都是一个一阶线性微分方程,其中第\(i\)项的形式如下:

\[ \dot{y}^i = d^{ii}y^i + [P\mathscr{B}u]^i \tag{5} \]

其通解具有如下形式:

\[\begin{aligned} y^i(t) &= m^ie^{d^{ii}t} + n^i \\ \dot{y}^i(t) &= m^id^{ii}e^{d^{ii}t} \end{aligned} \tag{6} \]

代入\(t_k\),得到:

\[\dot{y}^i(t_k) = \dot{y}^i_{t_k} = m^id^{ii}e^{d^{ii}t_k} = d^{ii}y^i(t_k) + [P\mathscr{B}u_k]^i = d^{ii}y^i_k + [P\mathscr{B}u_k]^i\\ \begin{aligned} m^i &= e^{-d^{ii}t_k}(y^i_k + (1 / d^{ii})[P\mathscr{B}u_k]^i) \\ n^i &= -(1/d^{ii})[P\mathscr{B}u_k]^i \end{aligned} \tag{7} \]

将结果代入到公式(6),可以得到:

\[y(t) = e^{D(t-t_k)}y_k + (e^{D(t-t_k)}-1)D^{-1}P\mathscr{B}u_k \tag{9} \]

其中我们定义\(\begin{bmatrix} e^{d^{11}} & 0 & \cdots & 0 \\ 0 & e^{d^{22}} & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & e^{d^{nn}} \end{bmatrix} = e^D \quad D = \begin{bmatrix} d^{11} & 0 & \cdots & 0 \\ 0 & d^{22} & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d^{nn} \end{bmatrix}\)

代入\(y=Px\),可以得到:

\[\begin{aligned} Px(t) &= e^{D(t-t_k)}Px_k + (e^{D(t-t_k)} - 1)D^{-1}P\mathscr{B}u_k \\ x(t) &= P^{-1}e^{D(t-t_k)}Px_k + P^{-1}(e^{D(t-t_k)} - 1)D^{-1}P\mathscr{B}u_k \\ &= P^{-1}e^{D(t-t_k)}Px_k + (P^{-1}e^{D(t-t_k)}PP^{-1}D^{-1}P - P^{-1}D^{-1}P)\mathscr{B}u_k \\ &= P^{-1}e^{D(t-t_k)}Px_k + (P^{-1}e^{D(t-t_k)}P - 1)P^{-1}D^{-1}P\mathscr{B}u_k \end{aligned} \tag{10} \]

下面需要定义矩阵的指数,算是对\(\mathbb{R}^1\)定义域下的指数函数\(e^x \quad x\in\mathbb{R^1}\)上的解析延拓。下面定义:

\[\begin{aligned} e^A &= \sum_{i=0}^{\infty}{\frac{1}{i!}{A}^i} \\ A &\in \mathbb{R}^{n \times n} \end{aligned} \tag{11} \]

根据定义,如果\(A=F^{-1}DF\),其中\(D\)是对角矩阵,那么有:

\[\begin{aligned} e^A &= \sum_{i=0}^{\infty}{\frac{1}{i!}{(F^{-1}DF)^i}} \\ &= \sum_{i=0}^{\infty}{\frac{1}{i!}{[(F^{-1}DF)(F^{-1}DF)\cdots(F^{-1}DF)]}} \\ &= F^{-1}(\sum_{i=0}^{\infty}{\frac{1}{i!}{D^i}})F \\ &= F^{-1}e^DF \end{aligned} \tag{12} \]

根据(12)和(10),可以得到:

\[\begin{aligned} x(t) &= P^{-1}e^{D(t-t_k)}Px_k + (P^{-1}e^{D(t-t_k)}P - 1)P^{-1}D^{-1}P\mathscr{B}u_k \\ &= e^{P^{-1}DP(t-t_k)}x_k + (e^{P^{-1}DP(t-t_k)} - 1)P^{-1}D^{-1}P\mathscr{B}u_k \\ &= e^{\mathscr{A}(t-t_k)}x_k + (e^{\mathscr{A}(t-t_k)} - 1)\mathscr{A}^{-1}\mathscr{B}u_k \end{aligned} \tag{13} \]

\(t_{k+1}\)代入(13),可以得到:

\[\begin{aligned} x(t_{k+1}) = x_{k+1} &= e^{\mathscr{A}(t_{k+1}-t_k)}x_k + (e^{\mathscr{A}(t_{k+1}-t_k)} - 1)\mathscr{A}^{-1}\mathscr{B}u_k \\ &= e^{\mathscr{A}\Delta{t}}x_k + (e^{\mathscr{A}\Delta{t}} - 1)\mathscr{A}^{-1}\mathscr{B}u_k \end{aligned} \tag{14} \]

显然,根据(2),可以得到:

\[\begin{aligned} A&=e^{\mathscr{A}\Delta{t}} \\ B&=(e^{\mathscr{A}\Delta{t}}-1)\mathscr{A}^{-1}\mathscr{B} \end{aligned} \tag{15} \]

推导完毕。

未经授权,禁止转载

posted @ 2023-11-24 22:35  xinyu_khan  阅读(438)  评论(0)    收藏  举报