专利名称:基于智能手机3d重力传感器的计步方法
技术领域:
本发明属于传感器应用领域,具体是一种基于智能手机3D重力传感器的计步方法。
背景技术:
随着移动通信产业的发展,手机的生产和使用有了大幅的提高。智能手机不再仅是通信网络的终端,还将成为互联网的终端。另外,智能手机正一步步走进普通人的生活, 这意味着智能手机将会成为人们获取信息的主要设备。一些智能手机中集成了多种传感器,利用这些传感器,可以将很多专用设备的功能都在手机上实现。手机计步器服务就是其中的一项,它利用了手机中嵌入的重力(加速度)传感器来开发应用,其提供的运动数据统计及能量消耗更是符合健康生活的理念,受到人们的广泛关注。当前计步器功能的实现大多都是基于重力传感器,计步方法在不同的产品中有所不同,从而导致不同的实现效率和计步精度。但由于不同的人行走的方式不同、同样的人也有多种行走方式等多种原因,重力传感器输出的原始数据的规律比较复杂,难以建立精确的数学模型,导致大多数的计步方法精度不高。因此,现有的计步方法还有待提高,需要探索更好的方法。
发明内容
本发明提供了一种基于智能手机3D重力传感器的计步方法,通过对3D重力传感器输出的原始数据进行分析统计,建立一个较为准确的计步数学模型,从而消除各种抖动误差,得到较为精确的结果。一种基于智能手机3D重力传感器的计步方法,所采取的具体技术方案是 包括以下步骤
(1)采集重力传感器原始数据;
(2)过滤噪声;
(3)设定初始值平移曲线;
(4)做一阶差分;
(5)寻找一阶差分曲线过零点;
(6)过滤一阶差分曲线连续的零值;
(7)设定阈值过滤过小值转折点;
(8)采用“固定时间窗“过滤;
(9)统计有效步数。所述的采集重力传感器原始数据,用于得到智能手机3D重力传感器的绝对加速度数值曲线。所述的过滤噪声,采用“中值滤波”方法过滤绝对加速度数值曲线的噪声,平滑曲线,得到滤波后的绝对加速度数值曲线。
所述的设定初始值平移曲线,采用固定时间间隔的数据作平均值当初始值Gtl,然后将该初始值赋予滤波后的绝对加速度数值曲线,以之平移滤波后的绝对加速度数值曲线。具体来说,就是当有持续一段时间,未有大的动作发生,就将这段时间的数据作平均,作为初始值(V之后的数据以该初始值(^。为基准来计算。将滤波后的绝对加速度数值曲线减去初始值(V得到以0加速度值为中心上下波动的相对加速度数值曲线。所述的做一阶差分,对相对加速度数据曲线做一阶差分,得到相对加速度值的一阶差分曲线。所述的寻找一阶差分曲线过零点,具体包括以下步骤
1)寻找相对加速度数据曲线的峰点。峰点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为正值,后面的点为负值;
2)寻找相对加速度数据曲线的谷点。谷点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为负值,后面的点为正值。所述的过滤一阶差分曲线连续的零值,具体就是在两个分别拥有正负值点之间, 如果有连续的零值点,过滤、缩减到只剩一个。所述的设定阈值过滤过小值转折点,具体包括以下步骤
通常身体的大动作,例如走路或者跑步,都会有超过一定幅度的上下振幅,因此设定阈值,可以过滤掉身体小动作所造成的误判。因为每个人的体型与走路习惯不同,理论上阈值应该是针对个人而调整。将连续数个峰点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个峰点阈值。然后将峰点与该峰点阈值比较,超过峰点阈值者(峰点的绝对值大于等于峰点阈值的绝对值),就辨认为有效的峰点;未超过者,视为噪声过滤。同样,将连续数个谷点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个谷点阈值。 然后将谷点与该谷点阈值比较,超过谷点阈值者(谷点的绝对值大于等于谷点阈值的绝对值),就辨认为有效的谷点;未超过者,视为噪声过滤。一个有效的峰点加一个临近的有效的谷点就为一个有效步。所述的采用"固定时间窗"过滤,用于过滤无效振动产生的转折点,具体包括以下步骤
正常情况下人最快的跑步速度为每秒5步,最慢的步行速度为每2秒1步。这样,两个有效步伐的时间间隔在时间窗口 W.2 s - 2.0 s]之内,时间间隔超出该时间窗口的所有步伐都应被排除。所述的统计有效步数,用于计算经过前述步骤处理后得到的有效步数。本发明所具有的有益效果是
本发明提供了一种基于智能手机3D重力传感器的计步方法,该方法建立了一个较为准确的计步数学模型,消除了各种抖动误差,提高了计步结果的准确度,可运用于智能手机计步器软件及专用计步器的实现,为人们的健康生活提供更好的参考,有着广泛的应用前
旦
ο
图1为本发明的方法流程图2为一阶差分曲线过零点判断峰点示意5图3为一阶差分曲线过零点判断谷点示意图。
具体实施例方式下面结合附图对本发明作进一步的说明。如图1所示,一种基于智能手机3D重力传感器的计步方法,包括以下步骤
(1)采集重力传感器原始数据;
(2)过滤噪声;
(3)设定初始值平移曲线;
(4)做一阶差分;
(5)寻找一阶差分曲线过零点;
(6)过滤一阶差分曲线连续的零值;
(7)设定阈值过滤过小值转折点;
(8)采用“固定时间窗“过滤;
(9)统计有效步数。采集重力传感器原始数据为图1中的S01,步骤SOl用于得到智能手机3D重力传感器的绝对加速度数值曲线。在步骤S01,需要注意的是设置恰当传感器数据采样率,采样率过高会增加手机处理器的数据处理量,采样率过低会导致计算出错,1 kHz至20 kHz范围的采样率比较恰当。过滤噪声为图1中的S02,步骤S02采用“中值滤波”方法过滤绝对加速度数值曲线的噪声,平滑曲线,得到滤波后的绝对加速度数值曲线。 设定初始值平移曲线为图1中的S03,步骤S03采用固定时间间隔的数据作平均值当初始值(V然后将该初始值赋予滤波后的绝对加速度数值曲线,以之平移滤波后的绝对加速度数值曲线。具体来说,就是当有持续一段时间,未有大的动作发生,就将这段时间的数据作平均,作为初始值(V之后的数据以该初始值(^。为基准来计算。将滤波后的绝对加速度数值曲线减去初始值Gtl,得到以0加速度值为中心上下波动的相对加速度数值曲线。做一阶差分为图1中的S04,步骤S04对相对加速度数据曲线做一阶差分,得到相对加速度值的一阶差分曲线。寻找一阶差分曲线过零点为图1中的S05,步骤S05具体包括以下步骤
1)寻找相对加速度数据曲线的峰点。峰点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为正值,后面的点为负值。如图2所示,判断标准为((a>0)&&(c<0))&&(( b-a)<0)&&((c-b)<0);
2)寻找相对加速度数据曲线的谷点。谷点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为负值,后面的点为正值。如图3所示,判断标准为((a<0))&&(c>0)&&(( b-a)>0)&&((c-b)>0)。过滤一阶差分曲线连续的零值为图1中的S06,步骤S06具体就是在两个分别拥有正负值点之间,如果有连续的零值点,过滤、缩减到只剩一个。设定阈值过滤过小值转折点为图1中的S07,步骤S07具体包括以下步骤
通常身体的大动作,例如走路或者跑步,都会有超过一定幅度的上下振幅,因此设定阈值,可以过滤掉身体小动作所造成的误判。因为每个人的体型与走路习惯不同,理论上阈值应该是针对个人而调整。将连续数个峰点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个峰点阈值。然后将峰点与该峰点阈值比较,超过峰点阈值者(峰点的绝对值大于等于峰点阈值的绝对值),就辨认为有效的峰点;未超过者,视为噪声过滤。同样,将连续数个谷点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个谷点阈值。 然后将谷点与该谷点阈值比较,超过谷点阈值者(谷点的绝对值大于等于谷点阈值的绝对值),就辨认为有效的谷点;未超过者,视为噪声过滤。一个有效的峰点加一个临近的有效的谷点就为一个有效步。采用“固定时间窗“过滤为图1中的S08,步骤S08用于过滤无效振动产生的转折点,具体包括以下步骤
正常情况下人最快的跑步速度为每秒5步,最慢的步行速度为每2秒1步。这样,两个有效步伐的时间间隔在时间窗口 W.2 s - 2.0 s]之内,时间间隔超出该时间窗口的所有步伐都应被排除。统计有效步数为图1中的S09,步骤S09用于计算经过前述步骤处理后得到的有效步数。经过前述步骤之后判断出有效步,从设定初始值开始为第0步,之后每一个有效步加 1,从而得出实时的有效步数。利用本发明所描述的方法,在HTC-Gl手机上实现后进行测试,以下为测试条件 测试人员男,22岁,身高180cm,体重60kg;
测试环境室外篮球场,场地较开阔,路面较平坦。表1为100步测试的结果,其中敏感度跟设定阈值时所采用的权值相关。从表1 可以看出,在敏感度设为正常值情况下,在走路和跑步两种运行模式下结果较为准确,准确率分别达到88%和96%,而在敏感度较低的情况下误差率较大,结果不是很理想,而在敏感度为高的情况下,误差率分别为1%和10%。表1 100步测试结果
权利要求
1.基于智能手机3D重力传感器的计步方法,包括以下步骤(1)采集重力传感器原始数据;(2)过滤噪声;(3)设定初始值平移曲线;(4)做一阶差分;(5)寻找一阶差分曲线过零点;(6)过滤一阶差分曲线连续的零值;(7)设定阈值过滤过小值转折点;(8)采用"固定时间窗"过滤;(9)统计有效步数。
2.根据权利要求1所述步骤,其特征在于所述的采集重力传感器原始数据,用于得到智能手机3D重力传感器的绝对加速度数值曲线;所述的过滤噪声,采用中值滤波方法过滤绝对加速度数值曲线的噪声,平滑曲线,得到滤波后的绝对加速度数值曲线;所述的设定初始值平移曲线,采用固定时间间隔的数据作平均值当初始值(io,然后将该初始值赋予滤波后的绝对加速度数值曲线,以之平移滤波后的绝对加速度数值曲线; 具体来说,就是当有持续一段时间,未有大的动作发生,就将这段时间的数据作平均,作为初始值(V之后的数据以该初始值为基准来计算;将滤波后的绝对加速度数值曲线减去初始值(V得到以O加速度值为中心上下波动的相对加速度数值曲线;所述的做一阶差分,对相对加速度数据曲线做一阶差分,得到相对加速度值的一阶差分曲线;所述的寻找一阶差分曲线过零点,具体包括以下步骤1)寻找相对加速度数据曲线的峰点峰点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为正值,后面的点为负值;2)寻找相对加速度数据曲线的谷点谷点相对应于一阶差分曲线的点为接近或等于零的点,前面的点为负值,后面的点为正值;所述的过滤一阶差分曲线连续的零值,具体就是在两个分别拥有正负值点之间,如果有连续的零值点,过滤、缩减到只剩一个;所述的设定阈值过滤过小值转折点,具体包括以下步骤将连续数个峰点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个峰点阈值;然后将峰点与该峰点阈值比较,超过峰点阈值者,就辨认为有效的峰点;未超过者,视为噪声过滤;同样,将连续数个谷点相加求得一个平均值,并将该平均值乘以一个权值,就能得到一个谷点阈值;然后将谷点与该谷点阈值比较,超过谷点阈值者,就辨认为有效的谷点;未超过者,视为噪声过滤;一个有效的峰点加一个临近的有效的谷点就为一个有效步;所述的采用“固定时间窗“过滤,用于过滤无效振动产生的转折点,具体包括以下步骤两个有效步伐的时间间隔在时间窗口 W.2 s - 2.0 s]之内,时间间隔超出该时间窗口的所有步伐都应被排除;所述的统计有效步数,用于计算经过前述步骤处理后得到的有效步数。
全文摘要
本发明涉及一种基于智能手机3D重力传感器的计步方法,包括以下步骤(1)采集重力传感器原始数据;(2)过滤噪声;(3)设定初始值平移曲线;(4)做一阶差分;(5)寻找一阶差分曲线过零点;(6)过滤一阶差分曲线连续的零值;(7)设定阈值过滤过小值转折点;(8)采用"固定时间窗"过滤;(9)统计有效步数。本发明建立了一个较为准确的计步数学模型,消除了各种抖动误差,提高了计步结果的准确度,可运用于智能手机计步器软件及专用计步器的实现,为人们的健康生活提供更好的参考,有着广泛的应用前景。
文档编号G01C22/00GK102445214SQ201110279520
公开日2012年5月9日 申请日期2011年9月20日 优先权日2011年9月20日
发明者张建辉, 王磊, 申兴发, 赵备 申请人:杭州电子科技大学