Finding Heelstrike and Toe-off with only Ground Reaction Force Data
14 views (last 30 days)
Is there anyone out there who has developed a really robust algorithm for detecting heelstrike and toe-off using only Ground Reaction Force (GRF) data?
I have made my own program that uses a threshold of 300 newtons (locates where force drops below and then where it goes above). From there I normalize that data on the y-axis and can use a threshold of 0.05 above the minimum. The issue comes from the use of a split-belt treadmill i.e. two force sensitive treadmill strips side-by-side with one for each leg. This allows for independent speed control.
Anyways, with perfect data the process is pretty simple. The problem is when the data does not drop back below 300N. This sort of thing happens if the person steps over the center line and onto the other belt.
In the attached file, the black vertical lines are the located Heelstrikes and red are Toe-offs. You can see that problems arise when the data is not uniform. Using a threshold is inconsistent between patients and using something like a derivative is really hard when it comes to the noise level at the top and bottom of the force curves.
Any ideas or directions to existing toolboxes would be very much appreciated.
NGR MNFD on 1 Oct 2021
and How can I check the checksum of the force signal binary file? This force signal is measured by a 12-bit adc. I was able to display it through the following method.
A= fread(fileID1, [3, 45000], 'uint8')'; % matrix with 3 rows, each 8 bits long, = 2*12bit
M2H= bitshift(A(:,2), -4);
M1H= bitand(A(:,2), 15);
PRL=bitshift(bitand(A(:,2),8),9); % sign-bit
PRR=bitshift(bitand(A(:,2),128),5); % sign-bit
M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL;
M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR;
N1 = reshape(M',[90000,1]); plot(N1);
Can I also check to see if it is correct or not? I do not know what code to use in MATLAB to calculate checksum? Please show me. Thank you.