微分跟踪器simulink实现(含代码)"/>
ADRC——TD微分跟踪器simulink实现(含代码)
1、理论基础
参照《从PID技术到"自抗扰控制"技术》。
对于离散系统:
其中,h为采样时间。r确定跟踪速度,称为速度因子;h0起对噪声的滤波作用,成为滤波因子
fst函数定义为:
2、simulink代码:
建立matlab fcn,代码如下:
function [x1,x2] = TD(u)
T=0.01;
r=100;
h=0.07;
persistent x_1 x_2
if isempty(x_1)x_1=u;x_2=0;
end
x1k=x_1;
x2k=x_2;
x_1=x1k+T*x2k;
x_2=x2k+T*fhan(x1k,x2k,u,r,h);
x1=x_1;
x2=x_2;
endfunction f=fhan(x1,x2,u,r,h)
d=r*h; %h为滤波因子 r为调节系数,r越大跟踪效果越好,但微分信号会增加高频噪声
d0=d*h; %反之,微分信号越平滑,会产生一定的滞后
y=x1-u+h*x2;
a0=sqrt(d^2+8*r*abs(y));
if abs(y)<=d0a=x2+y/h;
elsea=x2+0.5*(a0-d)*sign(y);
end
if abs(a)<=df=-r*a/d;
elsef=-r*sign(a);
end
end
3、总结
TD在传统的PID控制中应用效果极佳,TD的滤波效果很不错,做PID控制时可以取代传统的数值滤波。
更多推荐
ADRC——TD微分跟踪器simulink实现(含代码)
发布评论