Azzera filtri
Azzera filtri

implementation of mean shift filtering for 1 dimensional array

1 visualizzazione (ultimi 30 giorni)
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?

Risposte (2)

Wayne King
Wayne King il 28 Feb 2014
Modificato: Wayne King il 28 Feb 2014
You can just do
x = detrend(testdata,0);
Now compare:
subplot(211)
plot(testdata)
subplot(212)
plot(x)
  1 Commento
Shailendra
Shailendra il 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.

Accedi per commentare.


Wayne King
Wayne King il 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by