Select data above a specific threshold & minimum length
9 次查看(过去 30 天)
显示 更早的评论
Hi,
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
DataONOFF=diff(DataON)
[pks2,locs2] = findpeaks(DataONOFF)); %Heel strike +1 si Heel Strike
T_HS=locs2+1;
[pks3,locs3] = findpeaks(DataONOFF*(-1)); %Toe Off -1 si Toe Off
T_TO=locs3+1;
but I guess that I need to precise "a minimum width" ?
Thanks in advance for your help !
Louise
0 个评论
回答(1 个)
Aghamarsh Varanasi
2021-4-19
编辑:Aghamarsh Varanasi
2021-4-19
Hi,
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.
load GRF.mat
% 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
plot(GRF)
hold on
plot(peakValueLocation, peakValues,'o')
Hope this helps
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!