我试图更好地理解PID控制器,所以我想看看是否可以以传递函数的形式实现它,如下所示:
然而,当我在传递函数属性窗口中输入这些数字时,我得到以下错误:
我试着谷歌了一下,显然有这样的传递函数,其中分子的阶数高于分母的阶数,这意味着系统是非偶然的,但这是否意味着你不能用传递函数的形式来写PID控制器,或者只是因为Simulink不接受这种方式,因为从数学上讲,我相信这应该是PID控制器的正确表示。所以也许有人能帮我解释清楚。
ki1q1bka1#
正如您在问题中所述,分子阶数高于分母阶数的传递函数是非因果系统。因此,无法在传递函数中正确模拟。您可以使用Simulink块PID控制器。
6tdlim6h2#
虽然传统上使用的是PID控制器方程,但实际PID通常包含一个微分分量极点,这有助于抑制较高频率下的D增益,以实现系统稳定性(以及非因果关系问题),此外还有其他好处,我不太熟悉。添加极点的PID传递函数如下所示:PID(s)= k_p + k_i/s + k_d/(1 + s/k_f)
2条答案
按热度按时间ki1q1bka1#
正如您在问题中所述,分子阶数高于分母阶数的传递函数是非因果系统。因此,无法在传递函数中正确模拟。您可以使用Simulink块PID控制器。
6tdlim6h2#
虽然传统上使用的是PID控制器方程,但实际PID通常包含一个微分分量极点,这有助于抑制较高频率下的D增益,以实现系统稳定性(以及非因果关系问题),此外还有其他好处,我不太熟悉。
添加极点的PID传递函数如下所示:PID(s)= k_p + k_i/s + k_d/(1 + s/k_f)