How to find the average of peaks in a noisy signal?

3 visualizaciones (últimos 30 días)
Delfim Joao
Delfim Joao el 30 de Jul. de 2018
Comentada: Delfim Joao el 31 de Jul. de 2018
I want to find the average values of peaks on my signal. Only using the function "findpeaks()" won't work because its a very noisy signal.
  4 comentarios
Delfim Joao
Delfim Joao el 30 de Jul. de 2018
thank you so much for responding. Jonas, I tried that but it will just flatten the peaks and the values won't be that much accurate.
Adam, I want the average value of the points inside a single red circle.
Image Analyst
Image Analyst el 30 de Jul. de 2018
Did you try my solution below? Did you even scroll down and see it? I believe it should work. If you attach your data in a .mat file, and explain exactly what the ambiguous "average of peaks" means, I can try it.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 30 de Jul. de 2018
To find the average value of all the peaks, why not simply mask and use mean()?
mask = signal < -0.3;
meanValue = mean(signal(mask))
If you need the mean value of each peak individually, use regionprops():
props = regionprops(mask, signal, 'MeanIntensity');
meanValues = [props.MeanIntensity];
  1 comentario
Delfim Joao
Delfim Joao el 31 de Jul. de 2018
Hey analyst, I saw this and I was looking into it because I've never used this command before. So Basically what I'm trying to do is to plot automatically a graph of force vs the number of pass in the workpiece by taking the average value of the peak each time the tool passes the workpiece on the Force vs time graph. I'm trying to plot something like this:
THANK YOU SO MUCH for your help!!!

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by