在用户行为无法预知的实际计步应用中,如何保持计步算法的准确性和稳定性是一个极具挑战的问题。传统的计步算法利用阈值设定和峰值检测,并不能解决计步算法的普适性和稳定性。针对上述问题,提出了基于加速度差分作为特征的有限状态机(acceleration differential based on finite state machine,AD-FSM)计步算法。该算法将原始加速度取平方和,并通过卡尔曼滤波去除噪声干扰,最后使用加速度差分有限状态机实现计步检测。实验结果表明,该算法在正常和干扰情况下能够提供精确的计步结果,误差分别为1.12%、4.00%,验证了该计步算法在降低状态机复杂度的同时具有较强的稳定性和鲁棒性,更能适应复杂的应用场景。