控制器的离散化(一)
有几个人问我控制系统离散化的事情,我也很想对这个问题深入了解一下,把我之前的理解和最新查的资料整理一下,斗胆发出来,有问题希望大佬们指正,以免误人子弟。
除了少数的控制器,如MPC,大多的控制器都在连续域来设计的,但是控制器的实现一定是在单片机等计算单元内以离散的方式实现的。那么为什么不在离散域下直接设计控制器呢?
1 连续域下的控制器有比较成熟的设计与分析方案,比如根轨迹,伯德图,零极点配置等,非常的方便。
2 绝大部分的控制理论都是在连续域下来推导和讲解的。
3 在连续域下设计的控制器,只要满足某种条件,离散化之后就可以在保持连续域下的性能,这样在离散域设计控制器显得很没有必要了。
其中一些滤波器和观测器,尤其是在控制系统中使用的,也是同样的道理。在连续域中的观测器和滤波器的设计都是有章可循,可以保证系统的性能满足设计要求和稳定性。
但是有一些特殊的情况,是要反着来的。比如均值滤波器和中值滤波器,明显是离散域下的,为了在连续域下一起分析性能,反而要做一些连续域的近似处理。例如延迟环节的pade近似处理。
因此,在控制系统中,连续域设计,之后离散化是必然的。
举一个简单的例子:
我要设计一个PID控制器来控制一个单积分系统。
设计的目标是:带宽是:8.7,相位裕度是63.
通过设计零极点是可以实现的。但是我比较懒,就通过了matlab的工具箱来设计了。