基于G-sensor的计步解决方案
基于G-sensor的计步解决方案
一、 计步模型特征
G-sensor可以检测三轴加速度(单位g),静止的时候只检测重力加速度一个
G;人在步行的时候,相对于运动姿态会产生相应方向加速度。
图1 步行姿态示意图
如图1所示,步行的时候主要运动方向是前进方向和垂直方向,呈现周期性变化;
垂直方向:抬脚时,重心向上,加速度正向增加;两脚触地时,重心下移,加速度反向减少;
水平方向:抬脚时,加速度增加;收脚时,加速度减小。
将三轴的加速度值合成一个加速度矢量,该值在步行时基本是正弦曲线变化规律,如图2所示;每隔一段时间都会产生峰谷值,通过对该加速度矢量的长度和方向的判断,来判断是否经过波峰或者波谷,通过峰峰值的计算以及加速度的阈值决策来实时计算步数。
G-sensor参数:量程2g ;单位16384 LSB/g; 数据更新频率500Hz 。
图2 加速度采样值曲线
二、计步算法
实际步行中,加速度检测值会出现很多杂波干扰,需要通过算法来滤波去除干扰,获取真实有效的步态,进行步数累加计步。主要包含三部分:
计步算法处理过程分为三个部分:
每隔1s钟轮询一次,判断是否产生有效步伐,将计步状态划分成一个个过程,产生一个时间戳,作为一个个计步过程记录保存下来。
停止计步:未检测到有效步伐则进入停止计步状态。
预计步 :检测到有效步,但步数不超过一定步数(10步)。
正式计步:检测到的有效步超过一定步数,该步数数据才是有效累加的。
三、其他状态监测
摔倒状态:正式计步状态下,重力加速度方向轴发生变化的时刻。
疾跑状态:正式计步状态下,时间窗的周期明显增快很多的时刻。
正常成年人人跑步速度是10~ 15km/s ;走路速度是5 ~ 7km/s ;所以跑步时间窗大概是走路的2 ~ 3倍。