0

基本上我需要在 Simulink 中制作 k*(T*s+1) 传递函数块。在 Matlab 中,这很容易,我只是让分母低于分子,一切都很好。但是当我试图用 Simulink 的块做同样的事情时,它给了我一个错误。[分母不应低于分子。所以你怎么看?

4

1 回答 1

3

您所描述的是包含一个纯衍生组件 ( kTs)。数值求解器无法使用这些组件,自然也无法实现它们。直观地说,Simulink 中的纯导数模块在非常小的时间步长上会对数值误差产生不合理的大响应。如果您对波德图感到满意,则微分分量在高频下具有任意大的响应

使用微分组件时,您通常会在响应曲线中选择一个中断频率。这相当于在微分运算之前对输入应用低通滤波器。如果低通滤波器频率足够快于系统动力学,那么您将在您感兴趣的频率处获得导数行为,同时仍然具有可实现的系统。

因此,要在 Simulink 中处理此问题,您可以自己修改传递函数,或使用具有微分感知功能的 Simulink 模块之一,例如“微分”模块或“PID 控制器”模块。(然后 Simulink 应该在幕后工作以完成这项工作。)

例如,将您的方程式改写为:

kTs + k

并使用四个块,如下所示:

---+---GAIN=kT----DERIVATIVE----SUM--
   |                             |
   +---GAIN=K--------------------+
于 2013-05-30T21:32:12.513 回答