运动计步数?
发布网友
发布时间:2022-04-23 12:41
我来回答
共1个回答
热心网友
时间:2023-07-05 13:02
现在主流的计步软件(以微信运动计步数为例),是通过手机内置的陀螺仪、重力感应器和加速器度传感器等组合完成的,根据这些设备的震动频率来储存数据,从而计算出每天走路的步数。
其中陀螺仪可以测量出手机的角度,从而检测到人体的重心偏移。当人在行走时,手机会随着运动出现角度偏移。陀螺仪检测到持续且有规律的角度偏移时,手机就会开始判断用户正在走路。
陀螺仪还可以判断用户是在走路还是在骑自行车。由于骑车过程相对走路时,人体姿态更加平稳,重心偏移量很小,陀螺仪收集到的角度变化也很小。
当我们携带手机走路时,每一步都经历了过山车般的加速度变化。抬腿迈出第一步的时候,加速度是最大的。我们把它放到一个坐标轴上,加速度的变化看起来就像一个cos波形。两个波峰之间,可以被认为是走了一步。
如果连续出现几个波峰,就可以基本确定用户是在走路的状态。传感器设备就把这些前面的波动以及后面的波动算成步数,记录到手机里。
在实际场景中,算法还要去掉一些“干扰项”。比如我们走路时,手机放兜里会上下抖动,产生不同方向的加速度。这时算法就要判断并过滤掉无用的干扰项,只留下最主要的运动特征。
手机里的压电陶瓷也会根据力的大小产生不同的形变,从而产生不同的电压变化,通过作用在上面的力测量出加速度,计算用户在走路时的频率大小。
其实就是手机硬件的重力感应,比如我们看电影转动手机时,屏幕会自动跟着转,就是它感应到向下重力作出的反应。
更加精确的计步软件还会辅助利用GPS来定位用户的运动路线,然后计算出平均时速。
上述的这些工作是由采集器(加速度传感器等)和处理器(Sensor Hub,协处理器)共同完成的。