差分方程
连续系统的动态过程采用拉普拉斯变换求解微分方程描述,离散系统的动态过程采用z变换求解差分方程描述。差分方程表示出系统离散输入与离散输出之间的函数关系。
一阶前向差分:
\[\Delta f(k)=f(k+1)-f(k) \]二阶前向差分:
\[\Delta^2f(k)=\Delta[\Delta f(k)]=\Delta f(k+1)-\Delta f(k)=f(k+2)-2f(k+1)+f(k) \]N 阶前向差分:
\[\Delta^n f(k)=\Delta[\Delta^{n-1}f(k)] \]一阶后向差分:
\[\nabla f(k)=f(k)-f(k-1) \]二阶后向差分:
\[\nabla^2f(k)=\nabla[\nabla f(k)]=\nabla f(k)-\nabla f(k-1)=f(k)-2f(k-1)+f(k-2) \]N 阶后向差分:
\[\nabla^n f(k)=\nabla[\nabla^{n-1}f(k)] \]如果一个方程中除了含有函数本身外,还有函数的差分,称此方程为差分方程。差分方程的阶次为最高差分与最低差分之差。
\[\varphi [k,x(k),\Delta x(k),\Delta^2 x(k),\cdots,\Delta^n x(k)] \]传递函数离散化
将s域下的传递函数\(G(s\))经过\(z\)变换将\(s\)变量全部替换为\(z\)得到\(G(z)\)。常用\(s\)域和\(z\)域的对应关系如下,\(T\)为采样时间
前向差分变换(嵌入式常用离散方法)
\[z=e^{Ts}\approx 1+Ts\Leftrightarrow s=\frac{z-1}{T} \]后向差分变换
\[z=e^{Ts}=(e^{Ts})^{-1}\approx \frac{1}{1-Ts} \Leftrightarrow s=\frac{1-z^{-1}}{T} \]双线性变换(Tustin)
\[z=e^{Ts}=e^{\frac{Ts}{2}}(e^{-\frac{Ts}{2}})^{-1} \approx \frac {1+\frac{Ts}{2}}{1-\frac{Ts}{2}} \Leftrightarrow s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}} \]Z变换转为差分方程
\[zy(z)=y(k+1),z^{-1}y(z)=y(k-1) \]以连续系统的一阶传递函数为例,对其进行z变换离散化,然后写成差分方程的形式即可在嵌入式设备运行。
一阶传递函数,\(G(z)\)为连续系统输出与输入之比。
\[G(s)=\frac{b}{s+a} \]对一阶传递函数使用前向差分法离散化,G(z)为离散系统输出与输入之比。将z变换写成差分方程形式,
\[G(z)=\frac{Tb}{z+(Ta-1)}=\frac{y(z)}{u(z)}\\ \Rightarrow [z+(Ta-1)]y(z)=Tbu(z)\\ \Rightarrow zy(z)=(1-Ta)y(z)+Tbu(z)\\ \Rightarrow y(k+1)=(1-Ta)y(k)+Tbu(k) \]状态空间方程离散化
连续系统的状态空间方程表示为
\[\begin{cases} \dot{x}=\mathbf{A}x+\mathbf{B}u\\ y = \mathbf{C}x+\mathbf{D}u \end{cases} \]将状态空间方程离散化方法有欧拉法和零阶保持法等,采样时间为 T。
欧拉法
欧拉法也称前向差分法,采用如下公式近似微分
\[\dot{x}=\frac{x(k+1)-x(k)}{T} \]带入连续状态空间方程得
\[\dot{x}=\frac{x(k+1)-x(k)}{T}=\mathbf{A}x(k)+\mathbf{B}u(k)\\ \Rightarrow x(k+1)-x(k)=T[\mathbf{A}x(k)+\mathbf{B}u(k)]\\ \Rightarrow x(k+1)=(\mathbf{I}+T\mathbf{A})x(k)+T\mathbf{B}u(k) \]最终得到离散状态空间方程
\[\begin{aligned} & \begin{cases} x(k+1)=\mathbf{A_z}x(k)+\mathbf{B_z}u(k)\\ y(k)=\mathbf{C_z}x(k)+\mathbf{D_z}u(k)\\ \end{cases}\\ & \mathbf{A_z}=\mathbf{I}+T\mathbf{A}; \mathbf{B_z}=T\mathbf{B};\\ & \mathbf{C_z}=\mathbf{C};\mathbf{D_z}=\mathbf{D} \end{aligned} \]零阶保持器法
在连续系统的状态空间方程添加零阶保持器,然后一起Z变换离散化结合泰勒公式得到离散状态空间方程,其中离散状态空间方程的矩阵A和B的求解可以参照矩阵的一阶非齐次微分方程。
\[\dot x = \mathbf{A}x+ \mathbf{B}u \]两边左乘\(e^{-\mathbf{A}t}\),整理得
\[e^{-\mathbf{A}t}[\dot x(t)-\mathbf{A}x(t)]=e^{-\mathbf{A}t}\mathbf{B}u(t)\\ \frac{\text{d}}{\text{d}t}[e^{-\mathbf{A}t}x(t)]=e^{-\mathbf{A}t}\mathbf{B}u(t) \]两边积分整理可得到
\[x(t)=e^{\mathbf{A}t}x(0)+\int_0^te^{\mathbf{A}(t-\tau)}\mathbf{B}u(\tau)\text{d}(\tau) \]当\(t=kT\)时
\[x(kT)=e^{\mathbf{A}kT}x(0)+\int_0^{kT}e^{\mathbf{A}(kT-\tau)}\mathbf{B}u(\tau)\text{d}(\tau) \]当\(t=(k+1)T\)时
\[x[(k+1)T]=e^{\mathbf{A}[(k+1)T]}x(0)+\int_0^{(k+1)T}e^{\mathbf{A}[(k+1)T-\tau]}\mathbf{B}u(\tau)\text{d}(\tau) \]整理得
\[x[(k+1)T]=e^{\mathbf{A}T}x(kT)+\int_{kT}^{(k+1)T}e^{\mathbf{A}[(k+1)T-\tau]}\mathbf{B}u(\tau)\text{d}(\tau) \]当使用零阶保持器时,有
\[u(t)\approx u_h(t),\quad kT\leq t \leq (k+1)T \]变换积分空间得
\[x[(k+1)T]=e^{\mathbf{A}T}x(kT)+(\int_0^Te^{\mathbf{A}T}\text{d}t)u(kT) \]例:
线性定常系统的状态方程描述为
\[\dot x=\mathbf{A}x+\mathbf{B}u\\ \mathbf{A}=\begin{bmatrix}0 & 0 \\ 0 & 3\\ \end{bmatrix},\mathbf{B}=\begin{bmatrix}\frac{2}{3} \\ -\frac{2}{3} \\ \end{bmatrix} \]则
\[e^{\mathbf{A}T} = \begin{bmatrix} 1& 0\\ 0 & e^{-3T}\end{bmatrix}\\ \int_0^T e^{\mathbf{A}T}\mathbf{B}\text{d}t = \int_0^T\begin{bmatrix} 1& 0\\ 0 & e^{-3T}\end{bmatrix}\begin{bmatrix} \frac{2}{3} \\ -\frac{2}{3}\end{bmatrix}\text{d}t= \begin{bmatrix} \frac{2}{3}T \\ \frac{2}{9}(e^{3T}-1)\end{bmatrix} \]采用零阶保持器得差分方程为
\[\begin{aligned} & x_1(k+1)=x_1(k)+\frac{2}{3}Tu(k) \\ & x_2(k+1)=e^{-3T}x_2(k)+\frac{2}{9}(e^{3T}-1)u(k) \end{aligned} \] 标签:方程,mathbf,差分,bmatrix,Delta,frac,离散系统 From: https://www.cnblogs.com/conpi/p/17608304.html