Hi,

I have an input EEG signal, I need to filter the data in Matlab, which means that I need to remove the noise that is the really long narrow spikes, the input data is attached in this question.

as you can see there are almost 12 events (large narrow spikes) - and by using the find peaks function I get almost 2000 pks, which means that I get also the low maximum points, how can I find only the maximum/minimum points of the large spikes or at least how do find the threshold of the lowest point of the long narrow spikes so I can plot the points under it for example?

this an answer that I got on the Matlab forum :

'' The find peaks function has a number of name-value pair arguments that can customize its behavior to give the desired results. One option here is to use 'MinPeakProminencce', and, 'MinPeakHeight' alone or together. Use find peaks twice, once on the data vector to get the positive peaks, and once on the negative of the data vector to get the negative peaks. Make the appropriate corrections to get the actual peak amplitudes of the negative peaks, if necessary. ''

but how do I define what is the correct 'MinpeakPromincce' or 'MinPeakHeight'? since I need my code to run generally and not just on my specific data.

thanks.

More Rami Zaboura's questions See All
Similar questions and discussions