基于手机加速度传感器的低频计步算法研究

2017-06-23 12:44张海峰
关键词:波峰步行滤波

张海峰,卫 震

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

基于手机加速度传感器的低频计步算法研究

张海峰,卫 震

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

在计步过程中,电路噪声干扰以及身体抖动产生的伪峰值是计步误差的主要来源.针对传统峰值检测法中存在的伪波峰的问题,提出一种基于峰值检测的改进计步算法.算法对加速度采样值进行多次滤波,尽可能地消除伪波峰的影响.经初步实验验证,低频匀速1 000步测试条件下,改进的峰值检测法较传统的峰值检测法,其平均计步准确率由94.43%提高到98.88%;低频变速1 000步测试条件下,平均计步准确率由91.50%提高到98.00%.

峰值检测;伪波峰;多次滤波

0 引 言

计步器作为实时监测自身运动状态的装置,越来越受欢迎.受限于手机计算及存储性能,基于手机加速度传感器的计步算法在达到高精度同时要兼顾算法的计算量.文献[1]采用智能手机中的加速度计和陀螺仪,通过时频域分析提取步态特征来进行计步,虽然准确率较高但使用两个传感器既增大了计算量,又增大了功耗.文献[2]在峰值检测法的基础上引入校正因子修正峰值检测的阈值,但在低频时准确率明显降低.文献[3]提出的自适应算法需对多个采样值进行方差分析及相关性分析,计算量大.文献[4]使用双算法结构来提高精度,算法仅仅在辅助算法中调整校正因子时才对加速度进行滤波处理,在主计步算法中并没有对加速度采样值进行滤波处理,同时双算法结构实现复杂.文献[1-2]在计步判断时,均采用基于峰值检测的方法,相较于文献[3-4]的方法,计算量小,实时性好,且易于实现,但对加速度采样值基本上没有做滤波处理,因此,在计步过程中容易受到伪波峰的影响.本文从信号处理的角度出发,基于峰值检测法,同时对加速度采样值进行多次滤波处理,尽可能地消除伪波峰的影响,以提高计步的精度.

1 计步算法原理

当手机放置在手中时,加速度3个坐标轴方向X,Y,Z分别对应于右侧向、前向、竖直向上.静止时,X,Y,Z轴向的重力加速度大小分别为0.0 m/s2,0.0 m/s2,9.8 m/s2.人在行走时3个方向上的加速度变化情况如图1所示.可以发现,Z轴竖直方向加速度有明显上下波动.前后方向和左右方向的加速度波动周期没有竖直方向上波动明显.

1.1 采样值处理

为降低手机摆放位置对结果的影响,采用3个轴向加速度的合加速度.

求三轴加速度的合加速度:

(1)

其中,Ax,Ay,Az分别为手机三轴的加速度值,A为合加速度向量.

有研究者通过频谱分析表明,步态信号的频带范围主要集中在0.6~18 Hz内[1].实验中加速度计采样频率设为50 Hz.手机平放在手中,采集的加速度值曲线如图2所示.

图1 手机平放手掌,步行时加速度变化

图2 三轴加速度合加速度曲线

本文对原始加速度采样值进行2次处理,一阶低通滤波处理和滑动平均滤波处理.

(2)

(3)

图3 MATLAB滤波仿真图

低通滤波处理滤除由于手机加速度传感器硬件本身产生的一些干扰,滑动平均滤波处理滤除一些伪波峰,可选用FIR滤波器.

图4 加速度波形变化

滤波器设计理论已成熟,本文采用窗函数法设计FIR滤波器,同时利用MATLAB来辅助设计.窗函数采用矩形窗,设计的滤波器通带平坦,过渡带窄,有很好的滤波性能,滤波器仿真如图3所示.

对步行阶段的采样点进行截取,加速度信号在滤波前后的对比波形如图4所示.可以发现,经过低通滤波和二次滤波后,波形较原始波形更为平滑,同时由于身体抖动产生的伪波峰大为减少.

1.2 基于多次滤波的改进峰值检测法

峰值检测法的关键在于准确地确定一个计步波峰,本文进行多次滤波,使波形变得更平滑,较大的伪波峰大多被滤除掉了.此外,通过设定波峰阈值以及相邻峰值的时间差阈值来确定一次计步.正常人行走的频率为1~2Hz,因此本文中时间差阈值取0.2s.

由式(2)和式(3)得出多次滤波输出和采样输入的最终关系式:

(4)

(5)

(6)

(7)

2 算法实现及验证

2.1 算法实现

算法总体流程如图5所示,计步判断流程图如图6所示.

图5 总体流程图

图6 计步判定流程图

2.2 算法验证及分析

在Android手机上编写APP来验证算法的有效性和准确性,测试手机使用魅蓝M1.正常人步行频率为1~2Hz,步行最快可达到3Hz.本文低频步行测试中,将步行频率控制在1~2Hz.测试实验中,采样窗口设为10,采样频率为50Hz,阈值更新窗口设为5,分别进行1 000步,2 000步,3 000步各3次测试并对准确率求平均值.表1为手机放在口袋中,低频匀速步行的测试数据,步频控制在1Hz.表2为手机放在口袋中,低频变速步行的测试数据,步频控制在1~2Hz.表3为本文算法测试结果与文献[4]和文献[7]的对比,表中测试步数为50~130一项为从50步起,以10步递增,直到130步,每一种步数条件下测试计算准确率,再求各种步数准确率的平均值.

表1 匀速步行测试结果

表2 变速步行测试结果

表3 在低频匀速步行下,3种算法平均准确率对比

根据测试结果分析发现:

1)表1和表2中,在同样步数测试条件下,不论是匀速步行还是变速步行,本文改进算法的误差步数在每一类测试中均大幅小于传统的峰值检测法.因此,改进算法可以更精确地测得计步过程中波峰数,有效消除了一些伪波峰对真实波峰数目的影响.同时,在不同步数测试条件下,改进算法的准确率有所差异,但相较于传统的峰值检测法变化幅度较小,算法准确率更为稳定.

2)表3中,在相应步数测试条件下,本文改进算法的平均准确率均高于文献[4]和文献[5]算法的平均准确率.文献[4]和文献[5]算法在计步判断的过程中并没有对原始加速度信号进行滤波,造成伪波峰的计数过多,在一定程度上影响了算法检测的准确率.

3 结束语

本文提出了一种基于峰值检测法的改进计步算法.算法对原始加速度采样值进行多次滤波,经过滤波后得到的波形较为平滑.初步实验结果表明,在低频步行测试条件下,相较于峰值检测法,计步准确率有较大的提升,验证了改进算法能较大程度地消除干扰脉冲和伪波峰对计步结果的影响.同时本算法计算量不大,易于实现,具有一定的应用价值.

[1]PANMS,LINHW.Astepcountingalgorithmforsmartphnoneusers:Designandimplementation[J].IEEESensorsJournal, 2015,15(4):2296-2305.

[2]ONERM,PULCIFER-STUMPPJA,SEELINGP,etal.Towardstherunandwalkactivityclassificationthroughstepdetection-Anandroidapplication[C]//2012AnnualInternationalConferenceoftheIEEEEngineeringinMedicineandBiologySociety.IEEE, 2012:1980-1983.

[3]陈国良,李飞,张言哲.一种基于自适应波峰检测的MEMS计步算法.中国惯性技术学报,2015(3):315-321.

[4]梁久祯,朱向军,陈璟.基于手机加速度传感器的高精低采样计步算法设计.西北大学学报(自然科学版),2015,45(5):738-744.

[5]宋辉,张荣,王忠民.低功耗手机计步算法[J].西安邮电大学学报,2016,21(1):106-109.

[6]DELROSARIOMB,REDMONDSJ,LOVELLNH.Trackingtheevolutionofsmartphonesensingformonitoringhumanmovement[J].Sensors,2015,15(8):18901-18933.

[7]邢秀玉.基于加速度传感器的人体步态模式分类研究[D].太原:中北大学,2013.

Research of Low-frequency Step Counting Algorithm Based on Smartphone Accelerometer

ZHANG Haifeng, WEI Zhen

(SchoolofElectronicInformation,HangzhouDianziUniversity,HangzhouZhejiang310018,China)

In the process of the step counting, the noise of the circuit and the pseudo peak generated by the body jitter is the main source of the error. In view of the problem that there may be many pseudo peaks in the traditional peak detection method, an improved step-counting algorithm is proposed. The improved algorithm is based on the peak detection, and performs multiple filtering on the acceleration samples to eliminate the influence of the pseudo peaks as much as possible. The preliminary experiment shows that compared with the traditional peak detection algorithm, under the condition of low-frequency uniform and 1 000-step walking , the accuracy rate of the improved algorithm is increased from 94.43% to 98.88%; and under the condition of low-frequency uniform and 1 000-step walking, the accuracy rate of the improved algorithm is increased from 91.50% to 98.00%.

peak detection; pseudo peaks; multiple filtering

10.13954/j.cnki.hdu.2017.03.003

2016-07-26

张海峰(1961-),男,浙江台州人,副教授,数字控制技术.

TP391.4

A

1001-9146(2017)03-0011-04

猜你喜欢
波峰步行滤波
炮制工程骗钱的“甲方”
魔方小区
步行回家
作用于直立堤墙与桩柱的波峰高度分析计算
从步行到奔跑
儿童标准12导联T波峰末间期的分析
一种GMPHD滤波改进算法及仿真研究
Dynamic Loads and Wake Prediction for Large Wind Turbines Based on Free Wake Method
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用