Need help programming a 2-sliding mode differentiator by Arie Levant in matlab mfile.
2 次查看(过去 30 天)
显示 更早的评论
I am working on a model free iPID control which uses the derivative of the system output. I need to apply the 2-sliding mode differentiator designed by Arie Levant http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.218.6376&rep=rep1&type=pdf. The main three equations for the differentiator algoritm is as follows:
I have already made a small program using these equations. I am working with discrete data that updates the values of the parameters each Iterations. Miu and lambda are user defined, and all initial values are 0.
for k=1:200
y(k)=k; %Desired Trajectories (a linear lineas ás an input)
end
% code
for k=2:200
x(k) = x(k-1)+d_y(k-1); %Integration of X (internal variable) using Euler backward method (x-dot= u)
u_1(k) = (-miu)*sign(x(k)-y(k-1)); % Formula of u_1 dot in the algorithm
U_1(k) = U_1(k-1)+u_1(k); % Integration of u_1 dot to obtain u_1 using Euler forward method
d_y(k) = U_1(k) - lamda*sqrt(abs(x(k)-y(k-1)))*sign(x(k)-y(k-1)); % derivative of y (U in the algorithm)
dy(k)=y(k)-y(k-1); % Derivative of Y using differece formula
end
end
My main question is that how do i integrate the x-dot and u1-dot (x(k) and U_1(k) in the program). I am using the Euler backward and forward method that are used by the discrete integrator block in simulink. I am geting the following result when i give a linear line as an input. Can anyone please check my program and suggest how to smooth the curve
0 个评论
回答(1 个)
Mostafa Sallam
2018-9-14
编辑:Mostafa Sallam
2018-9-14
you can directly use Arie Levant algorithm from the following link:
in this website, the authors built a Simulink block which include the mentioned algorithm
to use it under m-file, you can call this block
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!