online signal peak detection
3 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
Ahmed Redissi
on 15 Apr 2021
If you have the Signal Processing Toolbox, try using the function "findpeaks". Here's how to use it:
See Also
Categories
Find more on Measurements and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!