不完全微分pid的matlab实现
一、背景 从PID控制的基本原理我们知道,微分信号的引入可改善系统的动态特性,但也存在一个问题,那就是容易引进高频干扰,在偏差扰动突变时尤其显出微分项的不足。为了解决这个问题人们引入低通滤波方式来解决这一问题。 二、解决办法 上面两种形式都可以,下面将对第一种形式进行m语言仿真和simuink仿真。 三、仿真 被控对象为:… 采样时间20s 滤波器为:1/(180s+1) % 程序中m用来选择是否用不完全篇pid % m=1:用不完全篇pid % m=2:不用不完全篇pid,用普通pid clear all ; close all ; % 获取控制对象离散化模型 ts = 20 ; % 采样时间 sys = tf ( [ 1 ] , [ 60 , 1 ] , 'inputdelay' , 80 ) ; dsys = c2d ( sys , ts , 'zoh' ) ; [ num , den ] = tfdata ( dsys , 'v' ) ; % 获取滤波器离散化模型 sys1 = tf ( [ 1 ] , [ 180 , 1 ] ) ; % 滤波器模型 dsys1 = c2d ( sys1 , ts , 'tucsin' ) ; % 模型离散化 [ num1 , den1 ] = tfdata ( dsys1 , 'v' ) ; d_filter_out_1 = 0 ; y