online signal peak detection

4 visualizaciones (últimos 30 días)
Rahim Yousefi
Rahim Yousefi el 15 de Abr. de 2021
Comentada: Rahim Yousefi el 15 de Abr. de 2021
Hello,
I have a script for reading sensor data from a gas sensor. The sensors are connected to an Arduino, I read the data from Arduino through Matlab. Attached you can find my Matlab script. The sensor generates a signal which has a peak every 5 minutes. I want to detect the point where the signal starts to increase and the point where the signal starts to increase (the min and max value of the peak). I want to perform this online (real time). The method I perform for peak detection is: I check the last 6 values of the sensor and if there is a increase in the last three values, I detect a min value and if there is an increase of the last three values, I detect an max value (this part of the script starts from line 263). However this method is not accurate and doesn’t work well sometimes. Could anyone recommend a better way of peak detection?
I have also attached an excel file so you can see how the data of the sensor look like.
Thanks in advance

Respuestas (1)

Ahmed Redissi
Ahmed Redissi el 15 de Abr. de 2021
If you have the Signal Processing Toolbox, try using the function "findpeaks". Here's how to use it:
  1 comentario
Rahim Yousefi
Rahim Yousefi el 15 de Abr. de 2021
Thank you for your answer, but as I mentioned I want to perform an online (real time) peak detection. This is not possible with the Matlab signal processing toolbox.

Iniciar sesión para comentar.

Categorías

Más información sobre Measurements and Feature Extraction en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by