黄豪杰
摘要:对于运动量的记录和分析有助于更好地锻炼,提高运动的质量。本文设计一套具有一定抗干扰能力的高精度计步算法,通过引入区域峰值检测、时间窗口排除以及计步模式的变化使算法具备了一定的抗干扰能力。实验中将传感器采集到的数据运行本文算法,并与小米手环等计步设备进行比较。结果表明,本文的计步算法在不同运动状态下,都能够保持95%以上的计步精度。
关键词:计步器;步数检测;加速度传感器
中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2017)09-0128-03
手环类计步设备最主要的功能是通过自身的加速度传感器和内置的算法统计出用户行走的步数,这包括了步行、跑步、上下楼梯等不同运动状态的步数统计。
目前基于加速度传感器的步数检测方法主要分为两类:一类是通过设定一个根据采样数据实时反馈得出的动态阈值,当加速度从大到小跨过这个阈值时候,判定为一步有效步伐[1,2]。另一类是基于峰值检测的方法,通过对加速度求导后寻找加速度的峰值,再根据人体运动的一些规律来判断寻找到的峰值是否真的是行走产生的[3,4]。另外,也有一些文献提到了基于信号能量的自适应门限检测[5],以此来检测出加速度信号中的波峰。
针对近年来消费市场对手环类计步设备的巨大需求,以及由此产生的对于计步精度的要求,本文主要基于MPU6050六轴加速度传感器芯片,根据运动时手腕和身体的周期性加速度变化,以及检测到的手腕上的加速度波形特征,设计一套适用于手腕部位的步数检测算法。
1 传感器及信号采集
本文选用Inven Sense公司的MPU6050作为加速度传感器。它是一款六轴加速度传感器,能同时检测三轴加速度、三轴陀螺仪(三轴角速度)的数据,提供16位精度的ADC输出。通过I2 C接口向主控器输出姿态解算后的姿态数据。非常适合用于对姿态控制实时要求较高的领域。传感器的三轴构成一个空间直角坐标系,能够全面记录加速度的数值变化。
一般人运动时动作的重复频率在0-20Hz之间。根据Nyquist采样定理,要還原出原始信号,采样频率需要大于40Hz。本文采用200Hz的采样率进行数据采集。
2 计步算法
2.1 加速度信号的三轴合一处理
加速度传感器佩戴在手腕上,随着人步行时手腕前后摆动,各轴加速度数值都会产生明显的周期性变化。本文对加速度数据进行取模处理,以提高计步的准确性,计算公式如下:
式(1)中,SVM表示三轴合一的加速度,Vx,Vy,Vz分别代表三轴的加速度数据。
如图1所示,是步行状态下三轴合一处理后的加速度波形。
2.2 加速度信号的滤波处理
对加速度信号进行滤波,以平滑波形滤除噪声。本文使用高斯滤波器进行滤波,一维高斯滤波通过如下一维零均值高斯函数来生成规定领域内点的权重,即生成高斯模板。高斯滤波如式(2)所示:
其中,a(t)是经过上文低通滤波的加速度信号,afilted是经过高斯滤波后的加速度信号。参数σ主要决定了波形的平滑程度,σ越大,高斯滤波器的频带就越宽,平滑程度就越好。高斯滤波是带有权重的加权平均,其利用了高斯分布来生成权重,使得中心的权重比邻近点的权重更大,可以在滤波后更好的保留原有波形峰值和谷值的情况。
本文取高斯模板大小为50个点,标准差σ大小为10。经过高斯滤波的加速度波形如图2所示。
2.3 波峰检测
如图3所示,是一个典型的步行时的加速度波形。
人在运动时,最快不会少于0.2s一步,最慢不会多于2s一步[6]。因而在计步时,本文将两步之间的时间间隔不在 0.2~2s之内的步伐判定为无效步伐,不计入行走的步数之中。
利用加速度相邻波峰波谷的差值可以作为判断依据来排除一些无效的峰谷值数据0。计算公式如下:
其中,ap(t)和av(t)分别代表了相邻的波峰和波谷的加速度大小。
当峰谷值的差值大于1.96m/s2时,可以视为一次有效的步行数据[7],能够将其计入步数统计之中,反之,则视为无效抖动。
3 实验及结果
将本文设计的计步算法和小米手环2以及咕咚运动app这两种计步工具进行计步精确度的对比。在实验中,通过让被试者同时佩戴小米手环2代以及实验用的MPU6050加速度传感器,并将手机app咕咚运动的计步功能开启后放置在腰部进行计步,将各个计步设备的记录结果与实际步数进行对比,得出计步精度。各计步器佩戴方式如图4所示。
计步精度的实验结果如表1所示。可以看出,本算法在测试中的各种运动状态下其精确度均大于95%。对比小米手环2和咕咚运动app,本文在精度上与小米手环2基本上在一个水平。在大多数情况下,计步精度高于咕咚运动的结果。
4 结语
本文设计了一个基于MPU6050加速度传感器的计步算法。该算法首先采用三轴合一方法对加速度型号进行处理,然后采用高斯滤波器对信号滤波,最后结合区域峰值检测、阈值限定等方法得到计步结果。实验中,对比了小米手环2以及咕咚运动app进行了计步精确度的测试。结果表明,本文的计步算法具有较高的计步精确度。
参考文献
[1]Tom Mikael Ahola. "Pedometer for Running Activity Using Accelerometer Sensors on the Wrist"[J]Medical Equipment Insights, 2010,(3).
[2]Zhao N. Full-Featured Pedometer Design Realized with3-Axis Digital Accelerometer[J]Analog Dialogue, 2011,(06).
[3]Jang H J, Kim J W, Hwang D H. Robust step detection method for pedestrian navigation systems[J]. Electronics Letters, 2007, 43(14): 749-751.
[4]Wang He, Sen S, Elgohary A, et al. No need to war-drive:unsupervised indoor localization[C]//Proceedings of the 10th International Conference on Mobile Systems, Applications,and Services, Low Wood Bay, UK, Jun 25- 29, 2012.New York, USA: ACM, 2012: 197-210.
[5]陈国良,李飞,张言哲.一种基于自适应波峰检测的MEMS计步算法[J].中国惯性技术学报,2015,(03):315-321.
[6]韩文正,冯迪,李鹏,等.基于加速度传感器LIS3DH 的计步器设计[J].传感器与微系统,2012,31(11):97-99.
[7]魏芬,邓海琴.基于加速度传感器的运动步数检测算法研究[J].电子器件,2016,(05):1175-1179.endprint