先进PID控制MATLAB仿真(第5版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.9 带滤波器的PID控制算法

采用低通滤波器可有效地滤掉噪声信号,在控制系统的设计中是一种常用的方法。通过以下两个实例验证低通滤波器的滤波性能。

【仿真实例1】 基于低通滤波器的信号处理

设低通滤波器为

采样时间为1ms,输入信号为带有高频(100Hz)正弦噪声的低频(0.2Hz)正弦信号。采用低通滤波器滤掉高频正弦信号。滤波器的离散化采用Tustin变换,其Bode图如图1-32和图1-33所示。仿真结果表明,该滤波器对高频信号具有很好的滤波作用。

图1-32 低通滤波器Bode图

图1-33 原始信号及滤波后信号

〖仿真程序〗 chap1_17.m

【仿真实例2】 采用低通滤波器的PID控制

被控对象为三阶传递函数:

低通滤波器为

采样时间为1ms,噪声信号加在对象的输出端。

【仿真之一】 采用M语言进行仿真

分三种情况进行:M=1时,为未加噪声信号;M=2时,为加噪声信号未加滤波;M=3时,为加噪声信号加滤波。三种情况的阶跃响应仿真结果如图1-34~图1-36所示。

图1-34 普通PID控制阶跃响应(M=1)

图1-35 无滤波器时PID控制阶跃响应(M=2)

图1-36 加入滤波器后PID控制阶跃响应(M=3)

〖仿真程序〗 chap1_18.m

【仿真之二】 采用Simulink进行仿真

控制器采用积分分离PI控制,即当误差的绝对值小于等于0.80时,加入积分控制,仿真结果如图1-37和1-38所示。

图1-37 加入滤波器时PID控制阶跃响应

图1-38 无滤波器时PID控制阶跃响应

〖仿真程序〗

(1)初始化程序:chap1_19int.m

(2)Simulink主程序:chap1_19.mdl

PI控制器子程序如下:

(3)作图程序:chap1_19plot.m