How can I remove noisy data from my plots
Show older comments
I am doing simulation for kinematic analysis of rover using matlab. But due to discretization of the terrain I am getting some noisy data in my graphs which comes as peaks at the connecting points when I am calculating velocity-ratios. How can I remove them.... I dont want to fit a curve or smoothen the graph..I just want to remove noise... Thanks in advance for any sort of help..
1 Comment
Jan
on 2 Aug 2011
Remove noise, but do not smoothen? Isn't this a contradiction?
Can you define the properties of the peaks mathematically?
Accepted Answer
More Answers (3)
Sean de Wolski
on 2 Aug 2011
X(X>some_noise_threshold) = [];
removes stuff greater than the threshold you set for noise. Show us a small set of sample data or a picture of the plot for more details.
2 Comments
Prateek
on 2 Aug 2011
Walter Roberson
on 7 Aug 2011
See http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
Image Analyst
on 7 Aug 2011
0 votes
Perhaps Brett Shoelson's "deleteoutliers" function may be what you want: http://www.mathworks.com/matlabcentral/fileexchange/3961
Image Analyst
on 7 Aug 2011
0 votes
Which toolboxes do you have? Do you have the Signal Processing or Image Processing Toolboxes? You could use a smoothing filter such as a box filter with conv(), or sgolay(), or medfilt1(). Then subtract your original image and find the indexes (with the find() function) where the difference exceeds some threshold and replace those indexes in the original data with the smoothed data.
Categories
Find more on Neighborhood and Block Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!