前言
随着当前智能终端的普及,人们可做的事情变得越来越有趣,比如计步器。传统的计步器一般是一个单独的设备,戴在身体的某个位置,由于必须在用户身上增加一个设备,推广起来有一定阻力。其实,计步器只需要一个3-轴加速度传感器就能做到较高的记步精度,类似三星note3的计步器精度在95%以上。当前智能手机一般都含有加速度传感器,许多人开始在手机上做计步器。可惜目前Android市场上大多数计步器精度都不理想,经本人测试,目前最好的是三星的note3的健康伙伴,更关键的是三星使用了sensorhub的技术,在保持精度的同时,做到了超低功耗。
在手机上做计步器相较于传统的计步器最大的难点在于手机使用时位置不固定,计步器要能适应不同放置位置和不同走路场景,这就要求计步器算法有很好的动态调整能力。
计步器模型介绍
关于人走路的模型,前人[1]已经做了很多研究,不再累赘。总结来讲,人在走路时,加速度传感器会形成一个类似正弦波形图,因此可以根据检测波峰波谷记步。见下图:
算法
概述
- 特征选取
- 滤波
- 基于动态阈值检测步数
- 步数矫正
特征选取
考虑到手机在不同放置情况下传感器的每个轴会有不同表现,因此,取其强度特征可以避免该类问题,即取三轴平方和。
滤波
滤波是一种常见的数据预处理方法,特别是手机上加速度传感器数据存在一定的噪音,经过滤波后能得到较平滑的数据。滤波算法有许多中,常