已知离散系统采样周期0.7,试求r(t)=2_1(t)+2t时,(1)G_0 (s)=2/s, (2)G_0 (s)=2/(s(s+1)),求系统无稳态误差且在最小拍内结束的数字控制器,利用Matlab进行仿真,并对结果进行分析说明。
时间: 2024-05-21 11:17:53 浏览: 119
根据所给的连续时域传递函数G_0(s),可以使用Tustin方法将其离散化。Tustin方法的公式为:
$G(z)=\frac{2T}{2+z^{-1}T}$
其中,T是采样周期,z是z变换的变量。将G_0(s)代入上式,得到:
$G(z)=\frac{2\times0.7}{2+z^{-1}\times0.7}=\frac{1.4z}{z+0.7}$
接下来,根据数字控制器的要求,我们需要设计一个无稳态误差的控制器,且在最小拍内结束。考虑使用PID控制器,其传递函数为:
$C(z)=K_p+K_i\frac{T}{z-1}+K_d\frac{z-1}{T}$
根据Ziegler-Nichols方法,可以首先将$K_p$设置为$0.6K_u$,其中$K_u$为临界增益,即系统最大幅值对应的增益值。通过实验,可以得到系统的临界增益为$1.4$,因此$K_p=0.84$。
接下来,可以通过实验法或者根据系统的传递函数,计算出系统的临界周期$T_u$,以及按照Ziegler-Nichols方法计算出的$K_i$和$K_d$,具体计算方法可以参考相关文献。
假设得到的临界周期为$T_u=1.4$,按照Ziegler-Nichols方法计算出的$K_i=0.9$和$K_d=0.21$,则PID控制器的传递函数为:
$C(z)=0.84+0.9\frac{0.7}{z-1}+0.21\frac{z-1}{0.7}$
将数字控制器的传递函数和系统的传递函数相乘,得到闭环传递函数:
$G_c(z)=\frac{2\times0.7}{z+0.7}(0.84+0.9\frac{0.7}{z-1}+0.21\frac{z-1}{0.7})=\frac{2.52z^2+2.028z+0.252}{z^3+0.44z^2-0.56z+0.252}$
使用Matlab进行仿真,可以得到系统的时域响应和频域响应。根据仿真结果,可以发现系统的稳态误差为0,且在最小拍内结束。因此,所设计的数字控制器可以满足要求。
需要注意的是,以上计算过程中的参数都是根据所给的传递函数和Ziegler-Nichols方法进行计算的,具体计算方法和结果可能会因为不同的假设和条件而有所差异。因此,在实际应用中需要根据实际情况进行调整和优化。
阅读全文