零阶保持模型和一阶保持模型离散的推导

鲁 鹏,北京理工大学宇航学院

为了将离散信号重新转换成连续信号,常使用零阶保持 (zero-order hold, ZOH) 模型或一阶保持 (first order hold) 模型 。本文将推导线性系统零阶保持器和一阶保持器离散公式

定义矩阵的指数函数
e A = exp ⁡ ( A ) = I + A + A 2 2 ! + A 3 3 ! + ⋯ = ∑ n = 0 ∞ A n n ! (1) e^{A} = \exp(A) = I+A+\frac{A^2}{2!} + \frac{A^3}{3!} + \cdots = \sum_{n=0}^{\infty}\frac{A^n}{n!} \tag{1} eA=exp(A)=I+A+2!A2+3!A3+=n=0n!An(1)
任意的方阵 A 均可以转换为 Jordan 标准型(矩阵论里的知识),即 A = P J P − 1 A = PJP^{-1} A=PJP1 ,并且 Jordan 标准型的幂可以轻松求解。此时再求 A n = P J n P − 1 A^{n} = PJ^{n}P^{-1} An=PJnP1 就很好求了。

我们考虑如下线性系统
x ˙ ( t ) = A ( t ) x ( t ) + B ( t ) u ( t ) + Σ ( t ) σ + z ( t ) (2) \dot{\boldsymbol{x}}(t) = A(t) \boldsymbol{x}(t) + B(t) \boldsymbol{u}(t) + \Sigma(t)\sigma + \boldsymbol{z}(t) \tag{2} x˙(t)=A(t)x(t)+B(t)u(t)+Σ(t)σ+z(t)(2)
其中, x ( t ) ∈ R n \boldsymbol{x}(t)\in\mathbb{R}^{n} x(t)Rn 是状态向量, u ( t ) ∈ R m \boldsymbol{u}(t)\in\mathbb{R}^{m} u(t)Rm 是控制向量, σ ∈ R \sigma\in\mathbb{R} σR 是参数, A ( t ) ∈ R n × n A(t)\in\mathbb{R}^{n\times n} A(t)Rn×n是状态矩阵, B ( t ) ∈ R n × m B(t)\in\mathbb{R}^{n\times m} B(t)Rn×m是控制矩阵, Σ ( t ) ∈ R n \Sigma(t)\in\mathbb{R}^{n} Σ(t)Rn是参数矩阵, z ( t ) ∈ R n \boldsymbol{z}(t)\in\mathbb{R}^{n} z(t)Rn是扰动。该系统的状态转移矩阵可以参考[1]

状态转移矩阵 Φ ( t , t 0 ) \Phi(t,t_{0}) Φ(t,t0)的性质 [3]

状态转移矩阵的性质
使用以上性质可以推导出线性系统 (2) 的解
x ˙ ( t ) − A ( t ) x ( t ) = B ( t ) u ( t ) + Σ ( t ) σ + z ( t ) Φ − 1 ( t , t k ) x ˙ ( t ) − Φ − 1 ( t , t k ) A ( t ) x ( t ) = Φ − 1 ( t , t k ) [ B ( t ) u ( t ) + Σ ( t ) σ + z ( t ) ] d d t [ Φ − 1 ( t , t k ) x ( t ) ] = Φ − 1 ( t , t k ) [ B ( t ) u ( t ) + Σ ( t ) σ + z ( t ) ] Φ − 1 ( t , t k ) x ( t ) − Φ − 1 ( t k , t k ) x ( t k ) = ∫ t k t Φ − 1 ( ξ , t k ) [ B ( ξ ) u ( ξ ) + Σ ( ξ ) σ + z ( ξ ) ] d ξ x ( t ) = Φ ( t , t k ) x ( t k ) + Φ ( t , t k ) ∫ t k t Φ − 1 ( ξ , t k ) [ B ( ξ ) u ( ξ ) + Σ ( ξ ) σ + z ( ξ ) ] d ξ \dot{x}(t) - A(t) x(t) = B(t) u(t) + \Sigma(t)\sigma + z(t) \\ \Phi^{-1}(t,t_{k}) \dot{x}(t) - \Phi^{-1}(t,t_{k}) A(t) x(t) = \Phi^{-1}(t,t_{k})\left[B(t) u(t) + \Sigma(t)\sigma + z(t)\right] \\ \frac{d}{dt}\left[\Phi^{-1}(t,t_{k}) x(t)\right] = \Phi^{-1}(t,t_{k})\left[B(t) u(t) + \Sigma(t)\sigma + z(t)\right] \\ \Phi^{-1}(t,t_{k}) x(t) - \Phi^{-1}(t_{k},t_{k}) x(t_{k}) = \int_{t_{k}}^{t}\Phi^{-1}(\xi,t_{k})\left[B(\xi) u(\xi) + \Sigma(\xi)\sigma + z(\xi)\right]d\xi \\ x(t) = \Phi(t,t_{k}) x(t_{k}) + \Phi(t,t_{k})\int_{t_{k}}^{t}\Phi^{-1}(\xi,t_{k})\left[B(\xi) u(\xi) + \Sigma(\xi)\sigma + z(\xi)\right]d\xi \\ x˙(t)A(t)x(t)=B(t)u(t)+Σ(t)σ+z(t)Φ1(t,tk)x˙(t)Φ1(t,tk)A(t)x(t)=Φ1(t,tk)[B(t)u(t)+Σ(t)σ+z(t)]dtd[Φ1(t,tk)x(t)]=Φ1(t,tk)[B(t)u(t)+Σ(t)σ+z(t)]Φ1(t,tk)x(t)Φ1(tk,tk)x(tk)=tktΦ1(ξ,tk)[B(ξ)u(ξ)+Σ(ξ)σ+z(ξ)]dξx(t)=Φ(t,tk)x(tk)+Φ(t,tk)tktΦ1(ξ,tk)[B(ξ)u(ξ)+Σ(ξ)σ+z(ξ)]dξ

x ( t ) = Φ ( t , t k ) x ( t k ) + ∫ t k t Φ ( t , ξ ) [ B ( ξ ) u ( ξ ) + Σ ( ξ ) σ + z ( ξ ) ] d ξ (3) x(t) = \Phi(t,t_{k}) x(t_{k}) + \int_{t_{k}}^{t}\Phi(t,\xi)\left[B(\xi) u(\xi) + \Sigma(\xi)\sigma + z(\xi)\right]d\xi \tag{3} x(t)=Φ(t,tk)x(tk)+tktΦ(t,ξ)[B(ξ)u(ξ)+Σ(ξ)σ+z(ξ)]dξ(3)

零阶保持模型

使用零阶保持模型离散时,控制量在采样时刻之间保持不变,即
u ( t ) = u ( t k ) , ∀ t ∈ [ t k , t k + 1 ) (4) \boldsymbol{u}(t) = \boldsymbol{u}(t_{k}), \forall t\in [t_{k},t_{k+1}) \tag{4} u(t)=u(tk),t[tk,tk+1)(4)
t k , t k + 1 t_{k}, t_{k+1} tk,tk+1是时间离散点。

当控制有上面 (4) 的形式时,公式 (3) 可以简化为
零阶保持

一阶保持模型

使用一阶保持模型离散时,控制量在采样时刻之间线性变化,即
u ( t ) = λ k − ( t ) u ( t k ) + λ k + ( t ) u ( t k + 1 ) , ∀ t ∈ [ t k , t k + 1 ) λ k − ( t ) ≜ t k + 1 − t t t + 1 − t k λ k + ( t ) ≜ t − t k t t + 1 − t k (5) \boldsymbol{u}(t) = \lambda_{k}^{-}(t)\boldsymbol{u}(t_{k})+\lambda_{k}^{+}(t)\boldsymbol{u}(t_{k+1}), \forall t\in [t_{k},t_{k+1}) \tag{5} \\ \lambda_{k}^{-}(t) \triangleq \frac{t_{k+1}-t}{t_{t+1}-t_{k}} \\ \lambda_{k}^{+}(t) \triangleq \frac{t-t_{k}}{t_{t+1}-t_{k}} u(t)=λk(t)u(tk)+λk+(t)u(tk+1),t[tk,tk+1)λk(t)tt+1tktk+1tλk+(t)tt+1tkttk(5)
当控制有上面 (5) 的形式时,公式 (3) 可以简化为

一阶保持

参考:

[1] https://blog.csdn.net/qq_25777815/article/details/102509131

[2] https://dsp.stackexchange.com/questions/59725/derivation-of-zoh-discretization

[3] Danylo Malyuta, Taylor Reynoldsm, Michael Szmuk .et al. Discretization Performance and Accuracy Analysis for the Rocket Powered Descent Guidance Problem [C] AIAA Scitech 2019 Forum, https://arc.aiaa.org/doi/abs/10.2514/6.2019-0925.

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oPengLuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值