Select data above a specific threshold & minimum length
12 views (last 30 days)
You could find attached a signal which represents ground reaction force during running.
My aim is to cut each subsamples (each "big wave") above 50 Newtons.
However, you could see that there are some "little wave" near 70-100 Newtons. Thus, some steps are not right...
How could I cut properly these subsamples ?
I've already write this :
DataON =GRF > 50
[pks2,locs2] = findpeaks(DataONOFF)); %Heel strike +1 si Heel Strike
[pks3,locs3] = findpeaks(DataONOFF*(-1)); %Toe Off -1 si Toe Off
but I guess that I need to precise "a minimum width" ?
Thanks in advance for your help !
Aghamarsh Varanasi on 19 Apr 2021
Edited: Aghamarsh Varanasi on 19 Apr 2021
You can use the 'MinPeakHeight' and 'MinPeakWidth' Name-Value pairs in the findpeaks function to set the minimum peak height and minimum peak width. You can try to visualize the results from the findpeaks function as shown below.
% suppose the minimum peak height is 50 and minimum peak width is 20
[peakValues, peakValueLocation, widthofPeak] = findpeaks(GRF, 'MinPeakHeight' , 50, 'MinPeakWidth', 20);
% you can visualize the peaks by plotting them as follows
Hope this helps