零阶保持器(ZOH)对系统的影响
- 粗略的看,视为在系统中加了一个延迟时间为 0.5Ts 的纯延时环节。
- 模不变,相角延迟,相位裕度有所损失,系统的稳定程度降低,动态性能指标变差。
- 加入ZOH不影响系统的阶数,不改变开环极点,只改变开环零点。
- 零阶保持器之所以使用广泛,是因为便于实现。计算机计算的输出会暂时存储在寄存器中,需要读取时,也是从寄存器中读取,上一拍与下一拍修改之前的信号都是定值,因此,读取时就相当于实现了零阶保持器的功能。
连续系统和离散系统转换
理论推导
常用方法:欧拉法和Tustin方法。
- 欧拉法采用积分的矩形法则,s在拉普拉斯变换表示微分,将传递函数中的 s 换成下面形式:
向前差分法:
s = ( z − 1 ) / T s=(z-1) /T s=(z−1)/T
向后差分法:
s = ( z − 1 ) / ( T z ) s = (z-1)/(Tz) s=(z−1)/(Tz)
其中, z − 1 z^{-1} z−1 表示延迟算子。 - Tustin 方法,梯形法则。
s = [ 2 ∗ ( z − 1 ) ] / [ T ∗ ( z + 1 ) ] s = [2*(z-1)]/[T*(z+1)] s=[2∗(z−1)]/[T∗(z+1)]
matlab命令
c2d: sysd = c2d(sysc,Ts,'method');
d2c: sysc = d2c(sysd,'method');
method分为:
zoh | 零阶保持器 |
---|---|
foh | 一阶保持器 |
imp | 脉冲不变变换方法 |
tustin | 双线性变换方法 |
如matlab程序:
Ks=200;JM=0.04*0.09;B=0.02;
h=1/4000;
Gc=tf([Ks],[JM B Ks]);
Gd=c2d(Gc,h) %//默认零阶保持器
Gdd=c2d(Gc,h,'tustin');