pau*_*ulj 1 matlab signal-processing
我在生成具有滤波器系数的 PID 算法时遇到问题。带有滤波器系数的 PID 的框图如下所示。

我在这个链接中找到了一个算法/代码。https://www.mathworks.com/matlabcentral/answers/63762-filter-coefficient-n-in-pid-block
问题:为什么FilterCoefficient 有一个未知变量Filter_DSTATE,而Filter_DSTATE 有一个未知变量FilterCoefficient?FilterCoefficient 的代码有一个未知的 Filter_DSTATE 变量,而 Filter_DSTATE 的代码有一个未知的 FilterCoefficient 变量?
假设。其中之一是否应该由某个值初始化?
如果您打开一个空白的 simulink 模型并添加PID controller,则双击后会出现一个对话框
PID 控制器的微分项永远不会实现为纯微分,因为这对噪声极其敏感。因此,添加了截止频率。
因此,D 项几乎就像是一个频率的导数,通过
Ns
s ---> --------
s + N
Run Code Online (Sandbox Code Playgroud)
N 是您提到的滤波器系数。这也使得使用积分器实现 D 项成为可能,避免了嘈杂的导数运算。