How Do I filter this zigzag wave?

9 次查看(过去 30 天)
William Lee
William Lee 2023-9-22
评论: Jon 2023-9-22
I use simulink to simulate my manipulator, and this is a data of position,velocity, acceleration and joint moment. My qestion is that there is some zigzag wave, why does this happen and how sovle is through filtering?
  2 个评论
Mathieu NOE
Mathieu NOE 2023-9-22
if you export your signals to the worspace , there are many funtions to use to smooth your data , like smoothdata or this Fex submission : smoothn - File Exchange - MATLAB Central (mathworks.com)
Jon
Jon 2023-9-22
I don't have the full context for your problem, but I think you may have some stability problems with your control that are displayed in your data. If this is the case you should determine how to stabilize the control (perhaps tuning of the controllers) rather than filtering the data and hiding the problem.

请先登录,再进行评论。

回答(1 个)

Mathieu NOE
Mathieu NOE 2023-9-22
following my comments above, if you use smoothn - File Exchange - MATLAB Central (mathworks.com)
the 'robust' method can remove your spikes quite efficiently :
x = linspace(0,100,256);
y = cos(x/10)+(x/50).^2 + randn(size(x))/10;
y([70 75 80]) = [5.5 5 6];
N = 100;
z = smoothn(y,N); % Regular smoothing
zr = smoothn(y,N,'robust'); % Robust smoothing
subplot(121), plot(x,y,'r',x,z,'k','LineWidth',2)
axis square, title('Regular smoothing')
subplot(122), plot(x,y,'r',x,zr,'k','LineWidth',2)
axis square, title('Robust smoothing')

类别

Help CenterFile Exchange 中查找有关 Polynomials 的更多信息

标签

产品


版本

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by