【问题标题】:How to make linear transfer function in Simulink?如何在 Simulink 中制作线性传递函数?
【发布时间】:2013-05-30 18:59:10
【问题描述】:

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

【问题讨论】:

  • 其实我已经尝试过导数和增益的并联,并且我尝试了PID没有我的部分。但是所有这一切,当我试图在 matlab 上检查时,给了我不同的波特图。而且它和 s = tf('s'); 不一样。 H = k*(T*s+1);所以这是不对的。
  • 或者,我需要怎么做才能使 Simulink 中分子低于分母的传递函数?

标签: matlab function transfer simulink


【解决方案1】:

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

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

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

例如,将方程式改写为:

kTs + k

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

---+---GAIN=kT----DERIVATIVE----SUM--
   |                             |
   +---GAIN=K--------------------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多