天天看點

【ADRC/Matlab實作】跟蹤微分器TD

目錄

一、作用

二、理論分析

三、Matlab仿真

3.1 .m檔案實作

3.2 simulink仿真

四、與傳統微分環節對比

4.1 仿真

4.2 分析

一、作用

安排過渡過程,産生跟蹤信号和微分信号,濾除噪聲。

二、理論分析

【ADRC/Matlab實作】跟蹤微分器TD

三、Matlab仿真

3.1 .m檔案實作

function [x1,x2] = TD_2order(u)
T=0.001;
r=500;
h=0.01;
persistent x_1 x_2
if isempty(x_1)
    x_1=0;
end
if isempty(x_2)
    x_2=0;
end
x1k=x_1;
x2k=x_2;
x_1=x1k+T*x2k;
x_2=x2k+T*fst(x1k,x2k,u,r,h);
end
           

 fst.m

function f=fst(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)<=d0
    a=x2+y/h;
else
    a=x2+0.5*(a0-d)*sign(y);
end
if abs(a)<=d
    f=-r*a/d;
else
    f=-r*sign(a);
end
           

3.2 simulink仿真

輸入v=sin(t)+K*n(t),n(t)為均值為0的白噪聲,K=0.01,采樣時間T=0.001,速度因子r=20,濾波因子h=0.001

【ADRC/Matlab實作】跟蹤微分器TD

 仿真結果

【ADRC/Matlab實作】跟蹤微分器TD

可以看到跟蹤微分器TD的輸出v1跟蹤v的效果很好,微分v2 也很好。

四、與傳統微分環節對比

4.1 仿真

接下來和傳統微分環節

【ADRC/Matlab實作】跟蹤微分器TD

的微分輸出v_dot做對比

【ADRC/Matlab實作】跟蹤微分器TD

仿真結果

【ADRC/Matlab實作】跟蹤微分器TD

可以看到傳統微分環節相比,跟蹤微分器抗幹擾的性能是非常好的。

4.2 分析

為什麼傳統微分器抗噪能力差呢?

【ADRC/Matlab實作】跟蹤微分器TD