一种基于手机加速度和距离传感器的软件计步方法技术

技术编号:16077899 阅读:40 留言:0更新日期:2017-08-25 14:27
本发明专利技术公开了一种基于手机加速度和距离传感器的软件计步方法,属于电子应用领域。本计步方法融合了手机加速度和距离传感器数据,使用加速度传感器做人体步态特征分析,使用距离传感器判断手机位置。核心思想是对三轴加速度数据做预处理,然后通过峰值阀值和时间阀值滤除伪波峰,最后通过剩余有效波峰数实现计步。上述方法引入距离传感器数据改善人体手持手机计步时准确度偏低的问题;引入峰值阀值和时间阀值提高人体在坐公交和乘车等非计步场景的抗干扰能力,减少误计步数。本发明专利技术没有复杂的滤波方式,在保证计步精度的情况下,实时地输出计步数,减小计步功耗。

【技术实现步骤摘要】
一种基于手机加速度和距离传感器的软件计步方法
本专利技术涉及电子应用
,具体涉及一种软件计步方法。
技术介绍
随着社会的进步和人们生活水平的提高,越来越多的人花时间投入到运动当中。尤其是行走、跑步运动,因为不需要运动器械和特定的运动场景,成为近年来兴起的一种运动热潮,提高了人们的身体素质。智能手机发展至今,功能越来越丰富,已经成为人们生活中不可缺少的一部分。用户随时随地打开手机计步功能,以总步数的形式实时监测每天行走、跑步等场景下的运动量。随着使用量的不断增长,用户对计步的精度(准确度)要求也越来越高。目前大部分计步软件都是通过分析三轴加速度传感器的数据来实现计步的,其分析方法包括峰值检测和阀值检测这两类。峰值检测方法是检测合加速度波形的波峰和波谷,一对连续的波峰和波谷代表一步;阀值检测方法是合加速度下降区间越过阀值则计为一步。而现实生活中,用户使用手机计步时,存在很多干扰信号,容易造成计步干扰。具体包括:1、手机拿在手上时人体手腕动作,手机容易晃动,相对干扰较大;2、手机放在口袋,手机与口袋之间的位置相对固定,相对干扰较小;3、坐公交、乘车、故意晃动手机等一些非计步场景的干扰。因此,现有手机计步方法在人体手持手机计步时的精度不高,在坐公交、乘车等非计步场景下容易造成误计步数。
技术实现思路
本专利技术针对现有手机计步方法在人体手持手机计步时精度偏低的问题和对坐公交、乘车等一些非计步场景易误计步数的问题,提出一种改进的软件计步方法。不同于传统计步方法只使用加速度传感器数据,本计步方法融合了加速度和距离传感器数据,使用加速度传感器数据分析人体步态特征,使用距离传感器判断手机放置位置。本专利技术考虑到手机计步输出步数的实时性和快捷性,没有采用复杂的软件滤波方式,以滤除计步波形伪波峰来达到滤波的效果。因为经过对各个场景下计步信号分析发现:人体前进一步时对应唯一一个峰值最大的波峰,称为有效波峰,一个有效波峰代表前进一步;有效波峰周边会出现许多峰值小于有效波峰峰值的波峰,称为伪波峰。干扰越大,伪波峰越多,与有效波峰越相像。滤波的关键是将伪波峰标记并滤除,从而得到有效波峰,剩余有效波峰数即是计步数。利用该发现,本专利技术提出一种峰值阀值和时间阀值滤除伪波峰方法,该方法滤波效果简单明显,算法复杂度低,能够实时地输出计步数。附图说明图1为本专利技术提出的软件计步方法流程图;图2为本专利技术提出的滤除伪波峰方法流程图;图3为本专利技术时间窗口设置示意图;图4为人体行走时手机放口袋计步波形图;图5为人体跑步时手机放口袋计步波形图;图6为人体手持手机计步波形图。具体实施方式为使本专利技术更加清楚明白,下面结合附图和优选实例进一步说明。如图1所示,不同于常用手机计步方法,本专利技术在计算有效波峰数之前通过滤除伪波峰方法滤除大部分伪波峰,减少伪波峰的干扰。由图可知,首先从缓存区读取一个时间窗口的三轴加速度数据,然后进行预处理。预处理完成后,查找时间窗口内所有波峰和波谷,并计算出所有抽样值中的最大值和最小值。检测波峰、波谷时,查找波形斜率正负转换的转折点。根据前后两次采样数据的差,判断此时波形是处于上升区还是下降区,当从上升区转为下降区时则出现一次波峰,当从下降区转为上升区时则出现一次波谷。为了预防非正常行走的情况,当没有出现一对波峰波谷的时候,说明此时人体并不在行走,所以计步数据加0。波峰查找完成后,通过滤除伪波峰方法进行滤波。滤波完成后,引入距离传感器数据判断手机位置。如果判断手机拿在手上,则通过最大波谷值这个动态阀值进一步滤除伪波峰。所述时间窗口的设置,将采集的加速度数据以N个采样点为时间单位,进行步伐检测分析。人体在行走、跑步等运动中步频最快不超过5step/s,最慢不小于1step/s,因此人体前进一步时间范围为[0.2s,1s]。本专利技术设置20ms为一个采样点,由此计算出一步的抽样点数量最多达50个。对于跑步场景,前进一步时的采样点会更少。综上考虑,本专利技术以50个抽样点作为一个抽样片段逐一抽样,这50个采样点称为滑动时间窗口。理论上对时间窗口的设置越小越好,因为时间窗口内包含的有效波峰数越少,计步精度越高。如图3所示,人体在行走、跑步、上下楼梯时一个时间窗口内最少包含一个有效波峰。跑步时由于步频快,一个时间窗口包含多个有效波峰,进一步说明设置50个采样点为一个时间窗口的合理性,不会出现丢失有效波峰的情况。所述三轴加速度数据预处理方法,将三轴加速度数据取模后再进行数据分析。计算公式如(1)所示。X、Y、Z为加速度传感器三轴的加速度数据,|V|为取模后的数据,称为合加速度。式中采用2-范数处理数据方法,克服了因有效轴变化而带来的影响。图2所示为具体的滤除伪波峰方法。该方法通过峰值阀值和时间阀值快速滤波的方式来滤除伪波峰。所述峰值阀值设置,根据各个场景有效波峰峰值范围进行滤波。因为人体运动幅度与加速度波峰峰值呈正对应关系。通过对人体在行走、下楼梯、慢跑和快跑场景下进行大量数据采集工作,然后进行有效波峰峰值统计。统计结果发现,人体在行走时有效波峰峰值范围为[1.2g,2g](g=9.8m/s2),上下楼梯峰值范围为[2g,4g],跑步峰值范围为[3g,7g]。因此,利用有效波峰峰值范围,设1.2g为一个固定峰值阀值,标记峰值小于1.2g的波峰为伪波峰。而对于跑步、上下楼梯等运动幅度较大的场景,其大部分波峰峰值远大于1.2g,通过该固定阀值对上下楼梯和跑步场景下的计步信号进行滤波,效果不理想。因此本专利技术将一个时间窗口内最大值与最小值的均值,即设为滤波的第二个峰值阀值。所述时间阀值设置,根据人体运动步频进行滤波。本专利技术加速度数据采集频率为50Hz,采样时间为20ms。人体行走一步极限时间范围为[0.2s,1s],因此前进一步最快为10个采样点,最慢为50个采样点。由于一个有效波峰代表一个有效步数,推算出前后两个有效波峰之间大于10个抽样点且小于50个抽样点。根据这个特性,本专利技术设定一个规则:从时间窗口内第一个波峰开始,比较与下一个波峰的时间差,若前后两波峰时间差小于10个抽样点则判定峰值较小的波峰为伪波峰;若前后两波峰时间差大于50个抽样点,则将两波峰标记为伪波峰。按照该规则,遍历时间窗口内所有峰值。通过时间阀值可以提高对坐公交、故意摇晃手机等非计步场景下的抗干扰能力,因为坐公交时前后有效波峰时间差大于50个抽样点。图4是人体步行时手机放口袋计步波形图。实际行走为4步,由图可知a1、a2、a3、a4即要寻找的有效波峰,b1、b2为伪波峰。通过固定幅值1.2g进行峰值阀值滤波,剩余b1、b2、a1、a2、a3、a4共6个波峰,然后再通过时间阀值可以滤除b1、b2两个伪波峰,因此剩余4个有效波峰,计步数加4。图5是人体跑步时手机放口袋计步波形图。手机放口袋跑步时,得到的加速度信号受干扰强度比步行时稍大。图中共有3个时间窗口,实际前进9步。此种情景下,运动幅度较大,固定阀值1.2g滤除伪波峰效果不佳。继续使用第二个峰值阀值进行滤波,得到阀值之上的波峰。最后使用时间阀值滤波规则,得到a1-a9为有效波峰,实现计步。图6所示为人体手持手机行走时的计步波形图。图中第二个时间窗口内,共有a1、a2、b1、b2、b3五个波峰。经过上述滤除伪波峰方法后,剩下a1、a本文档来自技高网...
一种基于手机加速度和距离传感器的软件计步方法

【技术保护点】
一种基于加速度和距离传感器的软件计步方法,其特征在于,包括:基于手机加速度传感器数据,分析人体各个场景下的计步信号特征;基于手机距离传感器数据,判断人体计步时手机的位置,判断手机是放在口袋还是拿在手上。

【技术特征摘要】
1.一种基于加速度和距离传感器的软件计步方法,其特征在于,包括:基于手机加速度传感器数据,分析人体各个场景下的计步信号特征;基于手机距离传感器数据,判断人体计步时手机的位置,判断手机是放在口袋还是拿在手上。2.根据权利要求1所述的方法,其特征在于,将加速度采集频率设为50Hz,每50个抽样点设为一个滑动时间窗口,总计步数等于所有时间窗口步数的总和。3.根据权利要求1所述的方法,其特征在于,包括如下步骤:⑴采集加速度传感器上报到用户空间一个时间窗口的三轴加速度数据;⑵对一个时间窗口内计步加速度信号进行预处理,得到三轴合加速度;⑶将步骤(2)得到的合加速度信号的伪波峰滤除,得到剩余有效波峰,有效波峰数即是计步数;⑷重复步骤(1),进行下一个时间窗口的计步。4.根据权利要求3所述方法,其特征在于,步骤(2)中的合加速度为三轴加速度平方和的开方:其中,V为合加速度,X、Y、Z为三轴加速度数据。5.根据权利要求3所述方法,其特征在于,步骤(2)中的合加速度波形,在...

【专利技术属性】
技术研发人员:张刚段志杰李威立周宇红陈格刘魁
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1