removing spikes from test data.

27 views (last 30 days)
hao liu
hao liu on 19 Sep 2018
Commented: Muhammad Waqar on 16 Sep 2020
I was trying to remove the spikes from the test data. I used the medfilt1 method like below: Data_B = medfilt1(Data,7); the left is original data, the right is after process. but it did not work very well. other method like filloutliers also has been tried. I also tried to use the medfilt1 twice, but it's still nearly the same. what I want is to figure out the trend of the test data, the processed data has already showed the trending but there were still some spikes in the figure which is annoying. how should I do to remove the spikes? thanks in advance:)
  2 Comments
Greg Dionne
Greg Dionne on 24 Sep 2018
Would you be willing to post your data?
Sher Akbar
Sher Akbar on 30 Dec 2019
search literature for this purpose... basically we dont remove spikes we do replace them with the normal values.

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 19 Sep 2018
If you have the newly-released R2018b, see if the rmoutliers (link) function will do what you want.
If you have R2017a or later, experiment with the isoutlier (link) and filloutliers (link) functions to determine if they will do what you want.

Arihant Sureka
Arihant Sureka on 19 Sep 2018
Hi
Maybe you can refer to this link:
<https://in.mathworks.com/help/curvefit/smooth.html Data Smooth>
  1 Comment
Muhammad Waqar
Muhammad Waqar on 16 Sep 2020
Smooth is not recommended. It is because Smooth function will also damage the physical features of the signal.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!