implementation of mean shift filtering for 1 dimensional array

2 views (last 30 days)
i wanted to implement mean shift filter on a 1 dimensional array data (sampled noisy square output from DAQ).
Pls find the attached file 'testdata' which has the data required for filtering.
Can any one help me in this regard?

Answers (2)

Wayne King
Wayne King on 28 Feb 2014
Edited: Wayne King on 28 Feb 2014
You can just do
x = detrend(testdata,0);
Now compare:
subplot(211)
plot(testdata)
subplot(212)
plot(x)
  1 Comment
Shailendra
Shailendra on 28 Feb 2014
Dear Mr. King,
Thanks for your early reply. i wanted to have mean shift filtering so that i get almost perfect square waves, and then i would apply min and max on that filtered data to get the peak to peak voltage. That was my intention. can you suggest something in this regard.

Sign in to comment.


Wayne King
Wayne King on 28 Feb 2014
Shailendra, there is a function in the Signal Processing Toolbox peak2peak that will do that.
You do have some noise in your data so simply mean shifting the data will not get rid of that problem.
I recommend peak2peak() if you have access to it.
Otherwise, you're going to have do some lowpass filtering and then peak detection.

Tags

Community Treasure Hunt

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

Start Hunting!