常见的离散化方法有很多,大致可分为解析与数值两类,核心都是在精度与成本之间做取舍,工程中了解每种方法的精度的损失来源与排序,选择满足自己要求的离散模型即可。这篇文章重点是讨论“精确”离散化这一概念与ZOH离散化方法的理论推导,并以二阶积分器系统为例,给出具体实现步骤。
1. 精确的离散系统模型
理解精确的离散系统模型(Exact Discrete-Time Model)需要从连续系统到离散系统的转换来入手。精确的离散系统模型是指在离散化过程中,不仅保留了系统的动态特性,还确保了离散系统模型的输出在采样点上与连续系统的输出完全一致。
1.1 零阶保持器(ZOH)的特点
在零阶保持器方法中,假设系统的输入在每个采样周期内保持恒定,也就是输入信号是分段恒定的。这种假设在许多实际系统中是合理的,因为采样频率通常较高,输入的变化较缓慢。但由于这个假设,ZOH方法并不能精确反映连续系统的动态特性,而是提供了一种近似模型。
示意图
1.2 零阶保持器(ZOH)的精确性
- 近似精确:在采样周期较短的情况下,零阶保持器方法提供的离散模型能够很好地近似连续系统的动态行为。离散化后的模型与连续系统在采样点上的输出接近,因此可以用于控制设计中。
- 误差:由于输入在每个采样周期内被视为恒定,ZOH方法会引入一些近似误差。采样周期越长,误差越大;采样周期越短,误差越小。因此,ZOH方法的精确性高度依赖于采样周期的选择。
在数学上,“精确离散化”意味着从连续时间系统到离散时间系统的转换完全无误差,通常是通过解析方法得到离散模型。ZOH方法并非严格的精确离散化,而是通过一种特定的假设进行的近似离散化。对于精确的离散化,需要考虑系统在整个采样周期内的输入变化,而不仅仅是将输入视为分段恒定。
2. ZOH 离散化推导
想要将连续状态空间
{ x ˙ ( t ) = A x ( t ) + B u ( t ) y ( t ) = C x ( t ) \left\{\begin{array}{l}\dot{x}(t)=A x(t)+B u(t) \\y(t)=C x(t)\end{array}\right. { x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)
离散化为
{ x ( k + 1 ) = F x ( k ) + G u ( k ) y ( k ) = H x ( k ) \left\{\begin{array}{l}x(k+1)=F x(k)+G u(k) \\y(k)=H x(k)\end{array}\right. { x(k+1)=Fx(k)+Gu(k)y(k)=Hx(k)
先将连续状态空间定义的线性时不变系统的输入响应写为零输入响应(zero-input response)和零状态响应(zero-state response)之和。
x ( t ) = e A t x ( 0 ) + ∫ 0 t e A ( t − τ ) B u ( τ ) d τ x(t)=e^{A t} x(0)+\int_0^t e^{A(t-\tau)} B u(\tau) d \tau x(t)=eAtx(0)+∫0teA(t−τ)Bu(τ)dτ
令 t = t k + 1 t=t_{k+1} t=tk+1,有
x ( t k + 1 ) = e A t k + 1 x ( 0 ) + ∫ 0 t k + 1 e A ( t k + 1 − τ ) B u ( τ ) d τ x\left(t_{k+1}\right)=e^{A t_{k+1}} x(0)+\int_0^{t_{k+1}} e^{A\left(t_{k+1}-\tau\right)} B u(\tau) d \tau x(tk+1)=eAtk+1x(0)+∫0tk+1eA(tk+1−τ)Bu(τ)dτ
观察一下目标形式 x ( k + 1 ) = F x ( k ) + G u ( k ) x(k+1)=F x(k)+G u(k) x(k+1)=Fx(k)+Gu(k),还有 t k + 1 = t k + T t_{k+1}=t_k+T tk+1=tk+T,发现右边都是 x ( t k )