一种IOS和android平台通用的步态自相关计步器的制作方法

文档序号:11771045阅读:436来源:国知局
一种IOS和android平台通用的步态自相关计步器的制作方法与工艺

本发明涉及一种在ios和android平台上通用的计步器实现方法,特别是涉及对加速度传感器数据进行采集、稳定频率、滤波去噪以及计算达到计步效果的技术。



背景技术:

随着智能手机的普及以及传感器技术的进步,越来越多的手机内置各种传感器,这些传感器蕴藏的大数据可以帮助用户/第三方app更方便的监控用户日常行为,对用户来说可以方便统计日常运动及消耗,对第三方app来说可以了解用户当前状态,对用户做场景化推荐/避免打扰用户。

目前ios设备已经内置计步器,但是该模块计步准确率不高,同时,该模块不能直接移植到android设备上。除了手机,还存在很多可以计步的可穿戴设备,但这些设备需要佩戴在身体某个部位,用户长期使用的意愿不高。



技术实现要素:

本发明主要解决了的技术问题是提供了一种在ios和android平台通用的计步方法,利用滤波器和动态自相关算法,实现了计步效果。

其中,本发明的主要构思来源于个体步态持续性以及相似性,将前一个时间框内的数据与后一个时间框的数据进行相似度识别,判断时间框内数据波动程度以及与下个时间框数据相似程度是否达到阈值从而确定是否统计步数;另外,本发明的时间框是动态确定的,即使用户出现慢走/跑步也不会影响本发明计步精度;第三,本发明无需预置用户行为数据作为训练,甚至可以实现一边计步一边学习以提高计步精度;最后,本发明提供了一种在ios和android平台通用的计步方法,降低了第三方app开发的成本。

本发明提供一种ios和android平台通用的步态自相关计步器,其包括以下模块:频率设定模块,用于设定手机采集传感器数据的频率,所述传感器指的是加速度传感器;滤波器模块,所述滤波器模块针对人走路的特征对原始传感器数据进行滤波降噪处理;处理器模块,所述处理器模块根据人的步行频率范围设计动态步态自相关算法,通过判断所述加速度传感器的震动幅度以及震动周期性实现计步效果。

优选的,所述滤波器模块为巴特沃斯低通滤波器,所述巴特沃斯低通滤波器根据人正常行走的步频设计,所述巴特沃斯低通滤波器对合成的加速度数据进行滤波降噪处理,提高计步精度。

优选的,所述动态步态自相关算法利用每个人自身行走习惯的稳定性设计,无需预先配置用户行走行为数据。

优选的,所述处理器模块从起始时间开始,根据人正常行走步频设定时间框的最短时间和最长时间,依次计算最短时间直至最长时间内的加速度数据与下个相同时间的加速度数据的相关性大小,每次循环中动态选取相关性最大的时间框长度

优选的,所述处理器模块计算时间内加速度数据的标准差以及与下个时间合成加速度的相关系数,判断是否达到阈值,若达到,则计为1步,否则不计步。

优选的,上述三个模块通过c语言代码实现之后,ios系统支持直接调用本方法的c代码实现计步,android系统使用jni桥接后也可调用本方法的c代码实现计步功能。

本发明提供了一种ios和android平台通用的计步方法,具体包括以下步骤:

步骤1,设定手机采样频率,并对手机采集数据进行抽样处理,以稳定数据输出频率;

步骤2,对加速度传感器数据做如下处理:

2-1)计算原始加速度传感器数据距原点的欧式距离作为合成加速度信号以消除手机任意姿态带来的影响;

2-2)设计适用于计步器的低通滤波器;

2-3)对合成的加速度信号进行滤波处理以消除高频背景噪声;

步骤3,对滤波后的数据进行加框相似性计算以实现计步效果,具体包括:

3-1)根据人正常行走步频动态设定的最短时间框和最长时间框

3-2)从时刻开始,依次计算到直至时间内加速度数据与下个相同时间加速度数据的相似度以及该时间段加速度值标准差;

3-3)选择相关性最大的时间框长度,判断到与到合成加速度相似度以及到时间内合成加速度标准差是否达到阈值,如果达到,则计一步,否则不计步;

3-4)从时刻开始重复3-2)和3-3)步骤实现完整计步。

作为本发明的进一步优化方案,步骤1采用递归法对原始数据进行抽样以稳定数据频率;

作为本发明的进一步优化方案,步骤2中根据人正常步行/跑步频率构造巴特沃斯低通滤波器实现降噪;

作为本发明的进一步优化方案,步骤3中时间框的最短时间和最长时间由人正常步行/跑步最快步频和正常步频决定;

作为本发明的进一步优化方案,步骤3中相似度计算采用皮尔森相关系数算法;

作为本发明的进一步优化方案,步骤3会连续对用户每步时间进行学习,判断用户步行习惯以提高计步准确率;

本发明上述各方面与现有技术相比,首先本发明通过对比不同长度时间框加速计数据的相似性动态选择相似度最大的时间框长度作为一步步长计量,即使用户改变步频也能高精度统计步数;其次,本发明无需预置用户行为数据进行训练,提高了本发明的实用性;第三,本发明还能持续对用户步态进行学习,使计步更加精确;最后,本发明通过c语言代码实现之后,ios系统支持直接调用本方法的c代码实现计步,android系统使用jni桥接后也可调用本方法的c代码实现计步,不需要额外的硬件设备。

附图说明

图1是展示了本发明的方法流程图。

图2是展示了本发明设计滤波器使用前后合成加速度值的对比。

具体实施方式

下面结合附图1介绍本发明的具体实施方式,图中每个方框代表一个功能模块或一段可执行代码,这些模块是按照图中标注顺序发生,另外,图中所有模块都可以通过代码在ios和android平台上实现。

首先确定手机数据的频率,ios平台可以直接设置需要的传感器数据频率,android平台传感器频率分为normal、ui、game和fast四档,对应的频率分别在5hz、15hz、50hz和100hz左右,因此对于ios设备来说,设定系统采样频率为30hz,对于android设别来说,设定系统采样频率为game;

其次对手机采样得到的数据做递归采样以稳定数据频率为15hz,所谓递归采样,即将采样问题进行递归分解。例如系统返回数据实际某秒频率为31hz,则将采样分解为前后15个点各采7个点,保留中间点;15个点采7个点进一步可以分解为前后7个点采3个点,保留中间点;7个点采3个点可进一步分解为前后3个点各采1个点,保留中间点;3个点采1个点可转换为保留中心点,如此递归采样完成。若系统返回数据某秒频率低于15hz,则该秒因数据频率过低不计步;

系统采集的加速度数据包括x、y和z三轴,而用户在行走的时候手机可能处于任意姿态,因此对三轴加速度数据进行合成,合成公式为计算三轴加速度数据距离原点的欧式距离,即。

设计巴特沃斯低通滤波器,巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:

其中,是滤波器截断频率,n为滤波器阶数。和n的计算公式分别为:

计步器滤波器截断频率滤波器关键参数如下:采样频率设为15hz,通带截止频率为2.5hz,通带衰减小于0.5db,阻带始点频率为5hz,阻带衰减大于150db。判断本段手机收集数据时间长度,若低于1秒,则因收集数据时间过短不计步,若高于1秒,则对合成加速度数据进行滤波去噪。由于人正常步行的频率介于1至2.5hz,本发明设计滤波器能有效去除高频背景噪声,滤波效果如图2所示。

接下来对去噪后的合成加速度数据做动态自相关分析,每步循环10次计算,循环第一次计算第1至6个点与第7至12个点的皮尔森相关系数(对应的步频为2.5hz),循环第i({i|0<i<11})次计算第1至6+i-1个点与第6+i至2*(6+i-1),循环第10次计算第1至15个点与第16至30个点相关系数(对应的步频为1hz),取相关系数最大的第j次循环作为输出结果,记录第j次循环相关系数及合成加速度数据第1至6+j-1个点的标准差;

从第6+j个点开始重复上述循环,计算每个时间段的皮尔森相关系数及标准差,取相关系数最大次作为输出结果;

对上述结果进行判断,如果自相关系数大于0.7同时标准差大于0.5,则计为一步,否则不计步;

这里需要计算皮尔森相关系数是因为一个人在每次行走过程中,会出现一个加速和一个减速,而对于同一个人来说,步频相对稳定,因此可以采用从加速到减速这个过程的数据序列相似性完成了周期性计步,避免因用户站起/坐下、拿放手机等操作造成的误判;

在计算过程中之所以要动态的确定时间窗口,是因为每个个体行走的频率并不一样,同一个个体在不同场景下行走的频率也并不一样,但人正常行走(包括跑步)的频率几乎都包含在1至2.5hz的频率范围内,因此动态的确定窗口可以在无需预置用户步态数据的情况下进行计步,也满足了在不同场景下用户步态变化之后精确计步的要求。

另外,本发明经过一段时间对用户步态数据的学习之后,可以对用户每步时长6+j的范围做出估计,这个估计一方面可以提高计步精度,例如排除过低/过高频率的计步,另外一方面也可以降低动态自相关分析中的循环次数,进一步降低计算资源消耗。

本领域的技术人员还将理解,上述计步装置包括但不限于此,任何理解本发明的技术人员在本发明揭露的技术范围之内,可以理解或者想到的变换和替换,都应该涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1