online signal peak detection

3 次查看(过去 30 天)
Rahim Yousefi
Rahim Yousefi 2021-4-15
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

回答(1 个)

Ahmed Redissi
Ahmed Redissi 2021-4-15
If you have the Signal Processing Toolbox, try using the function "findpeaks". Here's how to use it:
  1 个评论
Rahim Yousefi
Rahim Yousefi 2021-4-15
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Measurements and Feature Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by