Your project looks very interesting.
The approach that we aim to take in this project is as follows.
1. We will process the raw sensor data (mainly accelerometer) by using a combination of low-pass filtering and spectral analysis to determine the time intervals between subsequent peaks.
2. Based on user information (height, weight, etc.), we will use some published empirical techniques to determine the expected step size. We will then convert this expected step size into expected time interval between accelerometer pulses.
3. By comparing the expected time interval with the measured time interval, we can tell if a given step is real or not.
Obviously, this is a crude overview. The algorithm will be refined further as we work on the project. If you are happy with the general approach then please give us a shout.
We have substantial experience in mathematical modelling, statistical analysis, data processing and numerical programming. So, we are confident to deliver your project in time and within budget. We will also be happy to convert the algorithm into a C# code for deployment on mobile devices.
Question: Do you have any measured data from any device that we can use for testing the algorithm?
Best wishes,
Team AlgoHut