CN103954295B - 一种基于加速度传感器的计步方法 - Google Patents
一种基于加速度传感器的计步方法 Download PDFInfo
- Publication number
- CN103954295B CN103954295B CN201410183644.9A CN201410183644A CN103954295B CN 103954295 B CN103954295 B CN 103954295B CN 201410183644 A CN201410183644 A CN 201410183644A CN 103954295 B CN103954295 B CN 103954295B
- Authority
- CN
- China
- Prior art keywords
- state machine
- acceleration
- state
- value
- linear acceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明提供一种基于加速度传感器的计步方法,包括下列步骤:1)基于加速度传感器,获取步行过程中实时采集的线性加速度矢量的幅度值;2)初始化状态机,其中,将人行走一步的过程划分为多个阶段,所述多个阶段中的每个阶段均唯一地对应于所述状态机中的一个状态,使得人的行走过程与所述状态机中的状态转移相对应;3)将步骤1)所得的线性加速度矢量的幅度值依照时序输入所述状态机,触发所述状态机的状态转移,根据状态转移的循环得出计步数值。本发明能够克服传感器震动、抖动的影响,从而准确计步。
Description
技术领域
本发明涉及测量技术和传感器数据处理技术,具体地说,本发明涉及一种基于加速度传感器的计步方法。
背景技术
随着人们生活水平的提高,人们越来越注重自己的健康。计步器可以检测出人们的行走步数,帮助人们实时掌握锻炼情况,从而制定一个合理的健康规划。而计步器的应用领域范围远远不止于此,随着室内定位技术的逐步发展,计步器也应用到室内定位领域,它主要通过测试人们行走的步数,再结合步长估算方法,进而可以准确判断人们移动的距离。用于室内定位的计步功能也相应的需要更高的精度,但现有的计步器却不能满足室内定位的需求,这就需要研发高精准的计步器来确保室内定位的精准度。
通常人们携带的计步器主要由振动传感器和电子计数器组成。这些计步器虽然具有体积小,易携带的优点,但是通常无法排除抖动、翻转等情况所带来的误计。由于人们在运动过程中,身体各个部分的运动形式也不尽相同,因此部分计步器要求使用者佩戴在身体指定位置,才能达到预期的计步效果。
近年来,智能手机功能的日益增多使其在现代生活中的使用越来越广泛,运用手机中的内嵌的传感器来开发计步器也已屡见不鲜。因为手机已经与人们形影不离,所以手机计步器相比传统计步器更加方便了人们的生活。但现有计步器软件也同样无法排除手抖,翻转等情况带来的误计,而且往往只有在手机处于人们身体特定的位置时才能准确计步。
发明内容
因此,本发明的任务是克服现有技术的不足,提供一种能够使用随身携带的加速度传感器所采集数据实现准确计步的计步方法。
本发明提供了一种基于加速度传感器的计步方法,包括下列步骤:
1)基于加速度传感器,获取步行过程中实时采集的线性加速度矢量的幅度值;
2)将步骤1)所得的线性加速度矢量的幅度值依照时序输入状态机,触发所述状态机的状态转移,进而进行计步,其中,所述状态机具有多个不同状态,将人行走一步的过程被划分为多个阶段,这多个阶段分别对应于所述状态机中的不同状态,使得人的行走过程与所述状态机中的状态转移相对应。
其中,基于线性加速度矢量的幅度值随时间变化的波形的特征点,将人行走一步的过程划分为多个阶段。
其中,所述步骤2)中,所述状态机的状态包括加速度平衡状态C0,加速度上升状态C1,加速度波峰状态C2,加速度下降状态C3,加速度波谷状态C4和完成状态C5。
其中,所述步骤2)中,设Str1为加速度平衡段的上限值,Str2为加速度波峰段的下限值,Str3为加速度波谷段的上限值,Str4为加速度平衡段的下限值,初始化计数器,基于下述a)~f),执行所述状态机,其中,
a)如果当前状态机处于C0,判断当前的线性加速度矢量的幅度值是否小于Str1,如果是,状态机继续维持在C0,否则状态机进入C1;
b)如果当前状态机处于C1,判断当前的线性加速度矢量幅度值是否小于Str2,如果是,状态机继续维持在C1,否则状态机进入C2;
c)如果当前状态机处于C2,判断当前的线性加速度矢量幅度值是否大于Str3,如果是,状态机继续维持在C2,否则状态机进入C3;
d)如果当前状态机处于C3,判断当前的线性加速度矢量幅度值是否小于Str3,如果是,状态机继续维持在C3,否则状态机进入C4;
e)如果当前状态机处于C4,判断当前的线性加速度矢量幅度值是否小于Str4,如果是,状态机继续维持在C4,否则状态机进入C5;
f)如果当前状态机处于C5,直接将所述计数器的计数值加1并跳转到C0;或者根据状态机最近一次由C0运行至C5的周期是否满足预设的计步条件判断是否将所述计数器的计数值加1,然后再跳转到C0。
其中,所述步骤2)还包括:将所述计数器当前的计数值作为当前的计步数值输出。
其中,所述步骤2)的f)项中,所述计步条件包括:状态机最近一次由C0运行至C5的时间长度处于预设的完成一步的正常时间区间内。
其中,所述步骤2)的f)项中,所述计步条件还包括:状态机最近一次由C0运行至C5的周期中,所对应的线性加速度矢量幅度值曲线中的波峰值大于预设的波峰值下限,并且所对应的线性加速度矢量幅度值曲线中的波谷值小于预设的波谷值上限。
其中,所述步骤2)的f)项中,所述计步条件还包括:状态机最近一次由C0运行至C5的周期中,所对应的线性加速度矢量幅度值曲线中波峰值与波谷值之差处于预设的正常步行区间内。
其中,所述步骤2)包括下列子步骤:
21)预先设定所述Str1、Str2、Str3和Str4的初始值;
22)在执行所述状态机的同时,基于预设的滑动窗口,实时统计所述滑动窗口内,大于重力加速度值的所述线性加速度矢量的幅度值的算数平均值;
23)根据所述算数平均值与重力加速度值的差值和预设的第一百分比对Str1,根据所述算数平均值与重力加速度值的差值和预设的第二百分比对Str2进行实时更新,所述第一百分比小于第二百分比,Str3和Str4始终维持初始值。
其中,所述步骤1)包括下列子步骤:
11)基于加速度传感器,在步行过程中采集线性加速度矢量的幅度值的原始数据;
12)对所采集的线性加速度矢量的幅度值的原始数据进行低通滤波处理,获取所述的步行过程中实时采集的线性加速度矢量的幅度值。
本发明还提供了一种基于加速度传感器的计步装置,包括:
数据采集单元,用于基于加速度传感器,获取步行过程中实时采集的线性加速度矢量的幅度值;以及
计步单元,用于将数据采集单元所得的线性加速度矢量的幅度值依照时序输入状态机,触发所述状态机的状态转移,进而进行计步,其中,所述状态机具有多个不同状态,将人行走一步的过程被划分为多个阶段,这多个阶段分别对应于所述状态机中的不同状态,使得人行走一步的过程对应于所述状态机中一次状态转移的循环。
与现有技术相比,本发明具有下列技术效果:
1、本发明能够克服传感器震动、抖动的影响,从而准确计步。
2、本发明的计步方法不针对特定人或特定状态,对于不同人的运动模式,以及同一人在不同状态下的运动模式,均能自适应地调整,进而实现准确计步。
3、本发明特别适合于利用手机等常见移动智能设备实现计步,并且能够兼容于各种不同型号的手机以及其它移动智能设备。
4、本发明的计步方法中,加速度数据采集阶段,不限定使用者携带加速度采集装置的位置和携带方式。例如,在使用手机作为加速度采集装置时,使用者在走路时,不论将手机置于裤兜、衣兜、提包、背包内,还是手握手机并随手摆动,还是边走边使用手机,本发明的计步方法均能自适应地调整并准确地进行计步。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1示出了本发明一个实施例所提供的基于随身携带的加速度传感器的计步方法的流程图;
图2示出了本发明一个实施例中滤波前和滤波后的线性加速度曲线的对比示意图;
图3示出了人走完整的一步的示意图;
图4示出了本发明一个实施例中人在水平行走过程中走完完整一步的过程中,手机所采集的线性加速度曲线及所对应的状态机状态的示意图;
图5示出了本发明一个实施例中手机置于裤兜状态下行走用HTC S720t手机采集的加速度数据波形;
图6示出了本发明一个实施例中手机置于裤兜状态下行走用SAMSUNG GT-S7562i手机采集的加速度数据波形;
图7示出了本发明一个实施例中边走边使用手机状态下行走时用SAMSUNG GT-S7562i手机采集的加速度数据波形;
图8示出了本发明一个实施例中的状态机的状态转移示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对基于手机加速度传感器的自适应计步器的设计与实现进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明一个实施例所提供的基于随身携带的加速度传感器的计步方法的流程图,它包括下列步骤1至3。
步骤1:利用随身携带的加速度传感器实时采集三轴线性加速度数据,进而计算出线性加速度矢量的幅度值。现有的移动智能设备(例如智能手机)通常都内置三轴线性加速度传感器,它能够测出设备在三个维度上的线性加速度分量,根据这个三个维度上的线性加速度分量,就可以算出它们所构成的线性加速度矢量的幅度值。为便于描述,下文中所述的线性加速度均指线性加速度矢量的幅度值。
步骤2:对步骤1所采集的原始数据进行数据预处理。原始的线性加速度数据随时间变化的曲线(实际上是采样点序列)中通常存在高频噪声,为滤除这些高频噪声对计步的影响,本步骤对采集到的加速度数据进行低通滤波处理。低通滤波器的目标是让线性加速度数据随时间变化的曲线中长期的变化通过,滤除短时的变化。
在一个实施例中,低通滤波算法公式如下:
Yn=a*Xn+(1-a)*Yn-1
Xn为本次采样值 Yn-1为上次的滤波输出值
a为滤波系数 Yn为本次滤波的输出
基于人正常走路最大频率阈值(3Hz),本发明采用低通滤波器的截止频率fc为3Hz,根据如下截止频率计算公式:
得到滤波器时间常数τ=RC,进一步使用如下公式,获得滤波器系数
其中dt为采样周期(例如20毫秒)。
代入具体数值进行计算,可得用于处理步行状态下的线性加速度数据高频噪音的滤波器系数a约为0.84。图2示出了本发明一个实施例中滤波前和滤波后的线性加速度曲线的对比示意图,可以看出图片显示该滤波器对去除高频噪音具有很好的效果。
步骤3:利用状态机模型模拟人的步行过程,根据状态机的循环进行计步并输出计步值。状态机模型中,用对应于线性加速度曲线的多个状态模拟人步行过程中的各个状态,将线性加速度曲线输入状态机,驱动状态机在不同状态间变换,根据状态机的循环进行计步。其中,状态机的一个循环对应于人的一步。
图3示出了人走完整的一步的示意图。通过对人走路运动过程的分析,可以发现人在走路的时候线性加速度的变化有一定的规律性和周期性。其中,线性加速度等于重力加速度时,可认为人此时未受到向前的驱动力的影响,所以此时只采集到重力加速度。因此,可以把线性加速度等于重力加速度的时刻点作为两步之间的分隔点,为便于描述,本文中将这个分隔点称为平衡点。基于平衡点进行分析,人走每一步线性加速度均经历一个从平衡点上升到最大值,再下降到最小值,再回到平衡点的一个过程,这类似一个正弦曲线。因此可以寻找出人们走路时加速度波形特征点,并基于加速度波形特征点将人行走一步的过程划分为多个阶段,用状态机的不同状态来模拟人行走一步的过程中的各个阶段,并且使得状态机中状态转移的一次循环对应于人行走一步的整个过程。这样,基于所采集的线性加速度曲线执行状态机,状态的转移可以模拟人步行时从一个阶段进入另一个阶段,理论上,当状态机执行完一个循环时(即状态迁移的一次循环),就相当于人走完了一步,因此,可以根据状态机的循环次数进行计步。
在一个实施例中,状态机包括状态C0、状态C1、状态C2、状态C3、状态C4和状态C5。图4示出了人在水平行走过程中走完完整一步,手机中的三轴加速度传感器所记录的加速度数值随时间变化的曲线的示意图。参考图4,状态C0、状态C1、状态C2、状态C3、状态C4和状态C5分别对应于人行走一步过程中的不同阶段,状态C0至C5的组合则对应于人行走一步的完整过程,图8示出了C0至C5再回到C0的状态转移的循环的示意图。具体地,C0为加速度平衡状态,C1为加速度上升状态,C2为加速度波峰状态,C3为加速度下降状态,C4为加速度波谷状态,C5为完成状态。
在一个实施例中,设置4个状态机阈值Str1,Str2,Str3,Str4,其中,Str1是加速度平衡段的上限值,Str2是加速度波峰段的下限值,Str3是加速度波谷段的上限值,Str4是加速度平衡段的下限值。执行状态机的过程(即状态机的状态迁移过程)包括:初始化计数器,该计数器的计数值将作为计步值,然后,将所采集的线性加速度数据流输入状态机,基于下述规则a)~f)执行状态机。
a)如果当前状态机处于状态C0,判断当前的三轴加速度矢量幅度值是否小于Str1,如果是,状态机继续维持在状态C0,否则状态机进入状态C1;
b)如果当前状态机处于状态C1,判断当前的三轴加速度矢量幅度值是否小于Str2,如果是,状态机继续维持在状态C1,否则状态机进入状态C2;
c)如果当前状态机处于状态C2,判断当前的三轴加速度矢量幅度值是否大于Str3,如果是,状态机继续维持在状态C2,否则状态机进入状态C3;
d)如果当前状态机处于状态C3,判断当前的三轴加速度矢量幅度值是否小于Str3,如果是,状态机继续维持在状态C3,否则状态机进入状态C4;
e)如果当前状态机处于状态C4,判断当前的三轴加速度矢量幅度值是否小于Str4,如果是,状态机继续维持在状态C4,否则状态机进入状态C5;
f)如果当前状态机处于状态C5,直接将所述计数器的计数值加1,并跳转到状态C0。可以看出状态C5实际上是一个虚状态,当状态机进入状态C5时,可以认为所采集的加速度数据序列已经完整的经历了前面的C1、C2、C3、C4这些状态,可判定这些加速度数据有效,因此在状态C5下可以直接计步并使状态机跳转到下一个循环。
进一步地,有时候手抖等因素会造成加速度波形的扰动从而触发状态迁移,因此,在前述状态C5下还可以进一步根据辅助计步条件判断是否计步,这样可以尽可能避免因扰动而导致的状态迁移所导致的错误计步。在一个实施例中,前述f)项中,如果当前状态机处于状态C5,判断状态机最近一次由状态C0运行至状态C5的周期是否满足计步条件,如果是,将所述计数器的计数值加1,并跳转到状态C0;否则,所述计数器的计数值不变,直接跳转到状态C0;其中,所述计步条件包括:状态机最近一次由状态C0运行至状态C5之间的时间长度处于预设的完成一步的正常时间区间内。
此外,通过数据分析,由状态机各个阈值的限制可以较好地排除轻微的手抖影响,然而对手持手机时产生的较大抖动,其效果还不够理想。因此为了防止较大抖动所带来的误计,在一个实施例中,在前述辅助计步条件的基础上,增加基于最大值和最小值的辅助计步条件:即在进入状态C0后,状态机的最近一次状态C0至C5的时段内,输入状态机的线性加速度数据最大不能超过MAX,最小不能超过MIN。满足上述条件即可计步,否则不能计步。在一个优选实施例中,MAX和MIN的值分别为最近五步内波峰值和波谷值的算数平均值乘以2(此处波峰值和波谷值均指减去重力加速度后的值,波峰值为正数,波谷值为负数,MAX为波峰值的上限,MIN为波谷值的下限)。利用这种方法,本实施例可以更加有效地排除手抖对正常计步的干扰。
更进一步地,在另一个优选实施例中,为了更好地排除翻转手机、手抖的情况所带来的误计,状态机算法的阈值设定不仅仅根据加速度波形的幅值,同时也根据人走路的时间特点,来设定一人走一步的时间范围。由于手抖产生的加速度波峰波谷变化量,一般与正常步行产生的加速度波峰波谷变化量不同,所以引入时间阈值和波峰波谷变化量阈值加以判断,对状态转移的一次循环,如果不同时满足时间阈值约束和波峰波谷变化量阈值的约束,则相应的波形(即该次循环)不进行计步,这样就排除了非步行偶然动作导致的误计。通过20000步的实例测试,发现正常人走一步的时间Time基本在T0=0.41s与T1=1s之间,且一步加速度波峰波谷变化量为1.1m/s2,如果计步器加速度波峰波谷变化量小于规定阈值,或者状态机最近一次由状态C0运行至状态C5之间的时间长度处于[T0,T1]之外,则判定为偶然动作,不计入步数。这样就可以基本排除满足状态机条件的手抖波形带来的误计,以达到更精准的计步的目的。
进一步地,根据本发明的一个优选实施例中,还提供了一种自适应的计步方法。该计步方法在前述实施例的基础上,进一步采用了滑动窗口统计平均方法动态调整状态机阈值参数,从而使得状态机能够更加准确地在各状态间迁移,更加真实地模拟人的步行过程。
具体地,如前文所述,步行过程中所采集的线性加速度曲线是在重力加速度值上下波动的类正弦曲线,因此,为便于描述,令状态机的输入加速度等于所采集的线性加速度减去重力加速度,滑动窗口为最近五步(对应于状态机的最近5次循环)。这样,求最近五步内数值大于零的所有输入加速度样本数据的算术平均值,把它作为基数,状态机的一些阈值设置为算数平均值的不同的百分比。这些百分比主要由经验分析和不断测试得出。
进一步地,通过对采集到的加速度数据波形进行分析,发现不同手机放置模式影响加速度数据波形。例如,图5和图6分别显示了使用HTC和SAMSUNG两种不同型号手机采集的加速度数据波形,这两种波形的特征点有一定区别。经过实验观测,在不同的手机放置条件下,大致可以分为两种状况。因此,在一个实施例中,当波峰的算数平均值超过2.5m/s2时,状态机阈值Str1为算术平均值50%,Str2为75%;当波峰的算数平均值小于2.5m/s2且大于1.0m/s2时,状态机阈值Str1为算术平均值33%,Str2为100%。同时,由实验观测,加速度曲线中的波谷值变化不大,将Str3与Str4分别设置为固定的-0.5m/s2,-0.4m/s2即可。
为测试本发明计步方法的有效性,由不同人员持不同型号手机在不同放置模式下采集加速度数据。这些手机放置模式主要包括(1)手机持于胸前查看信息;(2)手机位于口袋或背包;(3)手机拿在身侧,前后来回摆动。手机型号包括:三星GT-S7562i智能手机(Android4.0.4平台)以及HTC S720t智能手机(Android4.0.4平台)两种。基于不同实施例的测试结果如下:
其中,表1示出了项目f)中不增加辅助计步条件而直接计步的实施例的测试结果。
表1
实际步数 | 测得步数 | 机型 | 测量环境 | 计步准确率 |
500 | 474 | 三星 | 上衣口袋 | 94.80% |
500 | 478 | 三星 | 上衣口袋 | 95.60% |
500 | 476 | 三星 | 上衣口袋 | 95.20% |
500 | 480 | 三星 | 上衣口袋 | 96% |
500 | 480 | 三星 | 上衣口袋 | 96% |
500 | 476 | HTC | 上衣口袋 | 95.20% |
500 | 472 | HTC | 上衣口袋 | 94.40% |
500 | 452 | HTC | 上衣口袋 | 90.40% |
500 | 472 | HTC | 上衣口袋 | 94.40% |
500 | 480 | HTC | 上衣口袋 | 96% |
500 | 474 | 三星 | 裤子口袋 | 94.80% |
500 | 495 | 三星 | 裤子口袋 | 93.00% |
500 | 472 | 三星 | 裤子口袋 | 94.40% |
500 | 495 | 三星 | 裤子口袋 | 93% |
500 | 482 | 三星 | 裤子口袋 | 95.60% |
500 | 478 | HTC | 裤子口袋 | 95.60% |
500 | 485 | HTC | 裤子口袋 | 95% |
500 | 478 | HTC | 裤子口袋 | 94.60% |
500 | 480 | HTC | 裤子口袋 | 96.00% |
500 | 479 | HTC | 裤子口袋 | 95.80% |
表2示出了一个项目f)中增加辅助计步条件的实施例的测试结果。其中,项目f)中根据是否满足辅助计步条件来判断是否计步的实施例的测试结果,所增加的增加辅助计步条件为:状态机最近一次由状态C0运行至状态C5之间的时间长度处于预设的完成一步的正常时间区间内。
表2
实际步数 | 测得步数 | 机型 | 测量环境 | 计步准确率 |
500 | 484 | 三星 | 上衣口袋 | 96.80% |
500 | 488 | 三星 | 上衣口袋 | 97.60% |
500 | 486 | 三星 | 上衣口袋 | 97.20% |
500 | 490 | 三星 | 上衣口袋 | 98% |
500 | 490 | 三星 | 上衣口袋 | 98% |
500 | 486 | HTC | 上衣口袋 | 97.20% |
500 | 482 | HTC | 上衣口袋 | 96.40% |
500 | 462 | HTC | 上衣口袋 | 92.40% |
500 | 482 | HTC | 上衣口袋 | 96.40% |
500 | 490 | HTC | 上衣口袋 | 98% |
500 | 484 | 三星 | 裤子口袋 | 96.80% |
500 | 505 | 三星 | 裤子口袋 | 95.00% |
500 | 482 | 三星 | 裤子口袋 | 96.40% |
500 | 505 | 三星 | 裤子口袋 | 95% |
500 | 492 | 三星 | 裤子口袋 | 97.60% |
500 | 488 | HTC | 裤子口袋 | 97.60% |
500 | 495 | HTC | 裤子口袋 | 97% |
500 | 488 | HTC | 裤子口袋 | 96.60% |
500 | 490 | HTC | 裤子口袋 | 98.00% |
500 | 489 | HTC | 裤子口袋 | 97.80% |
表3示出了一个项目f)中增加辅助计步条件的实施例的测试结果。其中,项目f)中根据是否满足辅助计步条件来判断是否计步的实施例的测试结果,所增加的增加辅助计步条件包括:状态机最近一次由状态C0运行至状态C5之间的时间长度处于预设的完成一步的正常时间区间内;以及状态机最近一次由状态C0运行至状态C5的周期中,所对应的线性加速度矢量幅度值曲线中的波峰值大于预设的波峰值下限,并且所对应的线性加速度矢量幅度值曲线中的波谷值小于预设的波谷值上限。
表3
实际步数 | 测得步数 | 机型 | 测量环境 | 计步准确率 |
500 | 489 | 三星 | 上衣口袋 | 97.80% |
500 | 493 | 三星 | 上衣口袋 | 98.60% |
500 | 491 | 三星 | 上衣口袋 | 98.20% |
500 | 495 | 三星 | 上衣口袋 | 99% |
500 | 495 | 三星 | 上衣口袋 | 99% |
500 | 491 | HTC | 上衣口袋 | 98.20% |
500 | 487 | HTC | 上衣口袋 | 97.40% |
500 | 467 | HTC | 上衣口袋 | 93.40% |
500 | 487 | HTC | 上衣口袋 | 97.40% |
500 | 495 | HTC | 上衣口袋 | 99% |
500 | 489 | 三星 | 裤子口袋 | 97.80% |
500 | 510 | 三星 | 裤子口袋 | 96.00% |
500 | 487 | 三星 | 裤子口袋 | 97.40% |
500 | 510 | 三星 | 裤子口袋 | 96% |
500 | 497 | 三星 | 裤子口袋 | 98.60% |
500 | 493 | HTC | 裤子口袋 | 98.60% |
500 | 500 | HTC | 裤子口袋 | 98% |
500 | 493 | HTC | 裤子口袋 | 98.60% |
500 | 495 | HTC | 裤子口袋 | 99.00% |
500 | 494 | HTC | 裤子口袋 | 98.80% |
表4示出了一个项目f)中增加辅助计步条件的实施例的测试结果。其中,项目f)中根据是否满足辅助计步条件来判断是否计步的实施例的测试结果,所增加的增加辅助计步条件包括:状态机最近一次由状态C0运行至状态C5之间的时间长度处于预设的完成一步的正常时间区间内;状态机最近一次由状态C0运行至状态C5的周期中,所对应的线性加速度矢量幅度值曲线中的波峰值大于预设的波峰值下限,并且所对应的线性加速度矢量幅度值曲线中的波谷值小于预设的波谷值上限;以及状态机最近一次由状态C0运行至状态C5的周期中,所对应的线性加速度矢量幅度值曲线中波峰值与波谷值之差处于预设的正常步行区间内。
表4
实际步数 | 测得步数 | 所用时间(s) | 身高(cm) | 机型 | 测量环境 | 计步准确率 |
500 | 494 | 264 | 170 | 三星 | 上衣口袋 | 98.80% |
500 | 498 | 276 | 170 | 三星 | 上衣口袋 | 99.60% |
500 | 496 | 282 | 170 | 三星 | 上衣口袋 | 99.20% |
500 | 500 | 285 | 170 | 三星 | 上衣口袋 | 100% |
500 | 500 | 285 | 170 | 三星 | 上衣口袋 | 100% |
500 | 496 | 269 | 183 | HTC | 上衣口袋 | 99.20% |
500 | 492 | 277 | 183 | HTC | 上衣口袋 | 98.40% |
500 | 472 | 287 | 183 | HTC | 上衣口袋 | 94.40% |
500 | 492 | 285 | 183 | HTC | 上衣口袋 | 98.40% |
500 | 500 | 285 | 183 | HTC | 上衣口袋 | 100% |
500 | 494 | 279 | 183 | 三星 | 裤子口袋 | 98.80% |
500 | 515 | 274 | 183 | 三星 | 裤子口袋 | 97.00% |
500 | 492 | 285 | 183 | 三星 | 裤子口袋 | 98.40% |
500 | 515 | 269 | 183 | 三星 | 裤子口袋 | 97% |
500 | 502 | 273 | 183 | 三星 | 裤子口袋 | 99.60% |
500 | 498 | 276 | 170 | HTC | 裤子口袋 | 99.60% |
500 | 505 | 256 | 170 | HTC | 裤子口袋 | 99% |
500 | 498 | 245 | 170 | HTC | 裤子口袋 | 99.60% |
500 | 500 | 245 | 170 | HTC | 裤子口袋 | 100.00% |
500 | 499 | 250 | 170 | HTC | 裤子口袋 | 99.80% |
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
Claims (7)
1.一种基于加速度传感器的计步方法,其特征在于,包括下列步骤:
1)基于加速度传感器,获取步行过程中实时采集的线性加速度矢量的幅度值;
2)将步骤1)所得的线性加速度矢量的幅度值依照时序输入状态机,触发所述状态机的状态转移,进而进行计步,其中,所述状态机具有多个不同状态,将人行走一步的过程被划分为多个阶段,这多个阶段分别对应于所述状态机中的不同状态,使得人的行走过程与所述状态机中的状态转移相对应;
所述步骤2)中,所述状态机的状态包括加速度平衡状态C0,加速度上升状态C1,加速度波峰状态C2,加速度下降状态C3,加速度波谷状态C4和完成状态C5;设Str1为加速度平衡段的上限值,Str2为加速度波峰段的下限值,Str3为加速度波谷段的上限值,Str4为加速度平衡段的下限值,初始化计数器,基于下述a)~f),执行所述状态机,其中,
a)如果当前状态机处于C0,判断当前的线性加速度矢量的幅度值是否小于Str1,如果是,状态机继续维持在C0,否则状态机进入C1;
b)如果当前状态机处于C1,判断当前的线性加速度矢量幅度值是否小于Str2,如果是,状态机继续维持在C1,否则状态机进入C2;
c)如果当前状态机处于C2,判断当前的线性加速度矢量幅度值是否大于Str3,如果是,状态机继续维持在C2,否则状态机进入C3;
d)如果当前状态机处于C3,判断当前的线性加速度矢量幅度值是否小于Str3,如果是,状态机继续维持在C3,否则状态机进入C4;
e)如果当前状态机处于C4,判断当前的线性加速度矢量幅度值是否小于Str4,如果是,状态机继续维持在C4,否则状态机进入C5;
f)如果当前状态机处于C5,直接将所述计数器的计数值加1并跳转到C0;或者根据状态机最近一次由C0运行至C5的周期是否满足预设的计步条件判断是否将所述计数器的计数值加1,然后再跳转到C0;
所述步骤2)中,所述Str1、Str2、Str3和Str4的设置方法包括下列子步骤:
21)预先设定所述Str1、Str2、Str3和Str4的初始值;
22)在执行所述状态机的同时,基于预设的滑动窗口,实时统计所述滑动窗口内,大于重力加速度值的所述线性加速度矢量的幅度值的算数平均值;
23)根据所述算数平均值与重力加速度值的差值和预设的第一百分比对Str1进行实时更新,根据所述算数平均值与重力加速度值的差值和预设的第二百分比对Str2进行实时更新,所述第一百分比小于第二百分比,Str3和Str4始终维持初始值;其中,当所述滑动窗口内的波峰的算数平均值超过2.5m/s2时,所述第一百分比为50%,所述第二百分比为75%;当所述滑动窗口内的波峰的算数平均值小于2.5m/s2且大于1.0m/s2时,所述第一百分比为33%,所述第二百分比为100%。
2.根据权利要求1所述的基于加速度传感器的计步方法,其特征在于,所述步骤2)还包括:将所述计数器当前的计数值作为当前的计步数值输出。
3.根据权利要求1所述的基于加速度传感器的计步方法,其特征在于,所述步骤2)的f)项中,所述计步条件包括:状态机最近一次由C0运行至C5的时间长度处于预设的完成一步的正常时间区间内。
4.根据权利要求2所述的基于加速度传感器的计步方法,其特征在于,所述步骤2)的f)项中,所述计步条件还包括:状态机最近一次由C0运行至C5的周期中,所对应的线性加速度矢量幅度值曲线中的波峰值大于预设的波峰值下限,并且所对应的线性加速度矢量幅度值曲线中的波谷值小于预设的波谷值上限。
5.根据权利要求3或4所述的基于加速度传感器的计步方法,其特征在于,所述步骤2)的f)项中,所述计步条件还包括:状态机最近一次由C0运行至C5的周期中,所对应的线性加速度矢量幅度值曲线中波峰值与波谷值之差处于预设的正常步行区间内。
6.根据权利要求1所述的基于加速度传感器的计步方法,其特征在于,所述步骤1)包括下列子步骤:
11)基于加速度传感器,在步行过程中采集线性加速度矢量的幅度值的原始数据;
12)对所采集的线性加速度矢量的幅度值的原始数据进行低通滤波处理,获取所述的步行过程中实时采集的线性加速度矢量的幅度值。
7.一种基于加速度传感器的计步装置,其特征在于,包括:
数据采集单元,用于基于加速度传感器,获取步行过程中实时采集的线性加速度矢量的幅度值;以及
计步单元,用于将数据采集单元所得的线性加速度矢量的幅度值依照时序输入状态机,触发所述状态机的状态转移,进而进行计步,其中,所述状态机具有多个不同状态,将人行走一步的过程被划分为多个阶段,这多个阶段分别对应于所述状态机中的不同状态,使得人行走一步的过程对应于所述状态机中一次状态转移的循环;所述状态机的状态包括加速度平衡状态C0,加速度上升状态C1,加速度波峰状态C2,加速度下降状态C3,加速度波谷状态C4和完成状态C5;设Str1为加速度平衡段的上限值,Str2为加速度波峰段的下限值,Str3为加速度波谷段的上限值,Str4为加速度平衡段的下限值,初始化计数器,基于下述a)~f),执行所述状态机,其中,
a)如果当前状态机处于C0,判断当前的线性加速度矢量的幅度值是否小于Str1,如果是,状态机继续维持在C0,否则状态机进入C1;
b)如果当前状态机处于C1,判断当前的线性加速度矢量幅度值是否小于Str2,如果是,状态机继续维持在C1,否则状态机进入C2;
c)如果当前状态机处于C2,判断当前的线性加速度矢量幅度值是否大于Str3,如果是,状态机继续维持在C2,否则状态机进入C3;
d)如果当前状态机处于C3,判断当前的线性加速度矢量幅度值是否小于Str3,如果是,状态机继续维持在C3,否则状态机进入C4;
e)如果当前状态机处于C4,判断当前的线性加速度矢量幅度值是否小于Str4,如果是,状态机继续维持在C4,否则状态机进入C5;
f)如果当前状态机处于C5,直接将所述计数器的计数值加1并跳转到C0;或者根据状态机最近一次由C0运行至C5的周期是否满足预设的计步条件判断是否将所述计数器的计数值加1,然后再跳转到C0;
所述计步单元还包括设置子单元,用于按照下列步骤设置所述Str1、Str2、Str3和Str4:
21)预先设定所述Str1、Str2、Str3和Str4的初始值;
22)在执行所述状态机的同时,基于预设的滑动窗口,实时统计所述滑动窗口内,大于重力加速度值的所述线性加速度矢量的幅度值的算数平均值;
23)根据所述算数平均值与重力加速度值的差值和预设的第一百分比对Str1进行实时更新,根据所述算数平均值与重力加速度值的差值和预设的第二百分比对Str2进行实时更新,所述第一百分比小于第二百分比,Str3和Str4始终维持初始值;其中,当所述滑动窗口内的波峰的算数平均值超过2.5m/s2时,所述第一百分比为50%,所述第二百分比为75%;当所述滑动窗口内的波峰的算数平均值小于2.5m/s2且大于1.0m/s2时,所述第一百分比为33%,所述第二百分比为100%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410183644.9A CN103954295B (zh) | 2014-05-04 | 2014-05-04 | 一种基于加速度传感器的计步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410183644.9A CN103954295B (zh) | 2014-05-04 | 2014-05-04 | 一种基于加速度传感器的计步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103954295A CN103954295A (zh) | 2014-07-30 |
CN103954295B true CN103954295B (zh) | 2016-09-28 |
Family
ID=51331605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410183644.9A Active CN103954295B (zh) | 2014-05-04 | 2014-05-04 | 一种基于加速度传感器的计步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103954295B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104406604B (zh) * | 2014-11-21 | 2018-04-03 | 中国科学院计算技术研究所 | 一种计步方法 |
CN105043410B (zh) * | 2015-06-30 | 2018-07-13 | 深圳还是威健康科技有限公司 | 一种计步器 |
CN105004349B (zh) * | 2015-06-30 | 2018-08-31 | 深圳还是威健康科技有限公司 | 一种计步方法 |
CN106323326A (zh) * | 2015-07-03 | 2017-01-11 | 群光电子股份有限公司 | 基于加速度的计数装置及方法 |
CN106441295B (zh) * | 2015-08-04 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 步行者行进方向确定方法及装置 |
CN105509763B (zh) * | 2015-12-01 | 2019-08-30 | 深圳市元征科技股份有限公司 | 计步干扰去除方法以及装置 |
CN105651303A (zh) * | 2016-03-04 | 2016-06-08 | 江苏大学 | 一种基于三轴加速度传感器的计步系统及方法 |
US10610132B2 (en) * | 2016-08-02 | 2020-04-07 | Medtronic, Inc. | Step detection using accelerometer axis |
CN106649594B (zh) * | 2016-11-23 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 数据的展示方法和装置 |
CN109489683A (zh) * | 2017-09-13 | 2019-03-19 | 中兴通讯股份有限公司 | 一种步长估计方法、移动终端及存储介质 |
WO2019061543A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 一种状态确定方法及便携设备 |
CN109099922A (zh) * | 2018-08-14 | 2018-12-28 | 桂林电子科技大学 | 一种基于物理场的室内定位方法 |
CN109364454A (zh) * | 2018-10-23 | 2019-02-22 | 安徽华米信息科技有限公司 | 踏频分析方法、装置、可穿戴设备及系统 |
CN109631895B (zh) * | 2019-01-04 | 2023-03-31 | 京东方科技集团股份有限公司 | 一种物体的位姿估计方法和装置 |
CN110708419A (zh) * | 2019-09-15 | 2020-01-17 | 广西信恒科技有限公司 | 行走安全保护方法、系统和移动终端 |
CN111131950B (zh) * | 2019-12-26 | 2021-06-29 | 广东思派康电子科技有限公司 | 三轴加速度感应器控制麦克风开关的方法、电子设备、计算机可读存储介质 |
TWI779575B (zh) * | 2021-04-22 | 2022-10-01 | 華碩電腦股份有限公司 | 具有落摔紀錄功能之電子裝置及其落摔紀錄方法 |
CN117387655B (zh) * | 2023-12-12 | 2024-03-15 | 绍兴圆方半导体有限公司 | 计步方法、装置、终端及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5176622B2 (ja) * | 2008-03-18 | 2013-04-03 | オムロンヘルスケア株式会社 | 歩数計 |
JP2012008637A (ja) * | 2010-06-22 | 2012-01-12 | Yamaha Corp | 歩数計、およびプログラム |
JP2011192313A (ja) * | 2011-06-24 | 2011-09-29 | Seiko Instruments Inc | 電子歩数計 |
CN102445214B (zh) * | 2011-09-20 | 2014-03-05 | 杭州电子科技大学 | 基于智能手机3d重力传感器的计步方法 |
CN102954803A (zh) * | 2012-08-09 | 2013-03-06 | 益体康(北京)科技有限公司 | 自适应计步处理系统及方法 |
CN102944240B (zh) * | 2012-11-02 | 2015-10-28 | 清华大学 | 一种基于智能手机的惯性导航系统及方法 |
-
2014
- 2014-05-04 CN CN201410183644.9A patent/CN103954295B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103954295A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103954295B (zh) | 一种基于加速度传感器的计步方法 | |
CN103323615B (zh) | 一种通过加速度传感器计算步行速度的移动终端及方法 | |
CN103727959B (zh) | 计步方法及装置 | |
CN102824177B (zh) | 一种三维人体步态定量分析系统和方法 | |
CN104964685B (zh) | 一种手机运动姿态的判定方法 | |
CN105664454B (zh) | 实现运动设备速度测量的方法和装置 | |
CN103997572A (zh) | 一种基于手机加速度传感器数据的计步方法和装置 | |
CN102445214B (zh) | 基于智能手机3d重力传感器的计步方法 | |
CN104990562A (zh) | 基于自相关运算的计步方法 | |
CN102654405A (zh) | 基于加速度传感器的计步方法及其装置 | |
CN103344249B (zh) | 一种基于惯性传感器短时频谱分析的计步方法 | |
CN108021888A (zh) | 一种跌倒检测方法 | |
CN106895849B (zh) | 一种计步器的精准计数方法及装置 | |
CN105022055A (zh) | 一种imu室内定位方法 | |
CN107727110A (zh) | 一种步数的统计方法及装置 | |
CN105180959A (zh) | 一种适用于腕式计步器的抗干扰计步方法 | |
CN109498027A (zh) | 一种单加速度计人体步态检测系统及方法 | |
CN105771224B (zh) | 一种基于多传感器的运动评估系统 | |
CN105651303A (zh) | 一种基于三轴加速度传感器的计步系统及方法 | |
CN108827290A (zh) | 一种人体运动状态反演装置及方法 | |
CN109646902A (zh) | 一种基于识别设备的健身运动计量方法 | |
CN107421559A (zh) | 一种基于三轴陀螺仪的计步方法 | |
CN108072386B (zh) | 一种计步方法及装置 | |
CN103322956A (zh) | 一种利用加速度传感器计算位移的方法和移动终端 | |
CN105973266A (zh) | 一种应用于移动终端的节能计步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |