我正在尝试在 Python 中实现一个 PID 控制器,但我的离散信号的实时数值微分存在一些问题。
我正在使用以下方法:
在哪里是测量时间的时间差和.
微分在某种程度上是准确的,但实时系统上的结果并不像我希望的那样准确。在大多数情况下,微分控制器并不能真正提高系统的稳定性。在高增益时,它开始将噪声引入系统。
大多数数值微分方法建议进入未来() 可悲的是,对于我的系统来说这是不可能的。如:
是否有任何方法可以更准确地计算实时微分?
我正在尝试在 Python 中实现一个 PID 控制器,但我的离散信号的实时数值微分存在一些问题。
我正在使用以下方法:
在哪里是测量时间的时间差和.
微分在某种程度上是准确的,但实时系统上的结果并不像我希望的那样准确。在大多数情况下,微分控制器并不能真正提高系统的稳定性。在高增益时,它开始将噪声引入系统。
大多数数值微分方法建议进入未来() 可悲的是,对于我的系统来说这是不可能的。如:
是否有任何方法可以更准确地计算实时微分?
您的原始差异化因素,应该是,称为“一阶差分”微分器。该微分器放大了高频噪声。作为下一步,我建议您尝试通过以下方式定义的所谓“中心差异”微分器:
它不会放大高频噪声。
在 2003 年的法语论文中,“ Estimation par maximum de vraisemblance de la dérivée d'un signal bruité。Application à la caractérisation de vérins pneumatiques ”(噪声信号导数的最大似然估计。应用于气缸表征) [来自早期的GRETSI法语信号和图像处理会议],有更高滞后的公式,允许基于最大似然的递归估计器,并假设信号行为:恒定速度、恒定加速度、恒定加加速度。您可以找到更高滞后的导数(在噪声处理方面可能更好),例如:
或者
我希望他们能满足一些需求。法语可能是一个问题,但公式是自包含的。