Select data above a specific threshold & minimum length

조회 수: 9 (최근 30일)
Louise
Louise 2021년 4월 1일
편집: Aghamarsh Varanasi 2021년 4월 19일
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

답변 (1개)

Aghamarsh Varanasi
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

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by