EMG during Walking : On/Off detection
12 views (last 30 days)
Show older comments
I would like to define an accurate threshold to detect ON/OFF bursts.
Please find attached my EMG signal (rectified).
I am able to code when the muscle activity exceeds the double or triple SD rang (i.e. the muscle is defined to be
“On” or activated).
Threshold=std(A(1:800,1)).*(2.5)
if A>Threshold
DataON=A>Threshold
DataONOFF=diff(DataON)
BUT : Because single spontaneous spikes can easily exceed the SD range, I need to define
a minimum time (minimum subperiod duration) that the EMG signal has to constantly stay OVER the threshold
to be accepted as “On” (e.g. 50 ms). So I would like to translate something like that :
if A>Threshold (and data over threshold during 50 ms)
2 Comments
Star Strider
on 9 Feb 2024
The 'Threshold' value is really low — about 17.5 — with the peaks in the range of 100 to 2000. Also, the sampling frequency is missing, so it’s not possible to determine the activation duration. I would use a differerent approach to this, however I first need to understand what exactly you want to do.
It would also help to know what release you’re using, and if you have the Signal Processing Toolbox.
Accepted Answer
Alex Wu
on 25 Mar 2024
Hi Marie-Caroline
Please check this example Label High-Amplitude Regions in EMG Signal, where we use sigrangebinmask function to label regions where the EMG amplitude is greater than 0.25 (threshold) for at least 0.5 seconds (minimum subperiod duration).
0 Comments
More Answers (0)
See Also
Categories
Find more on Spectral Measurements 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!