How do I implement a footstep recognition algorithm? One that recognizes the start and end points of each footstep?
This signal looks pretty clean.  I would stick to time domain feature extraction.  Maybe 1st and 2nd derivative of time domain data.  If you're just counting, you can almost just use the magnitude and see that these steps have the most negative values or acceleration.  You could use the negative peaks to center a search for the edges of the &quot;step&quot;, and to discriminate against the other negative peaks that are in between the steps.