黃豪杰
摘要:對于運動量的記錄和分析有助于更好地鍛煉,提高運動的質(zhì)量。本文設(shè)計一套具有一定抗干擾能力的高精度計步算法,通過引入?yún)^(qū)域峰值檢測、時間窗口排除以及計步模式的變化使算法具備了一定的抗干擾能力。實驗中將傳感器采集到的數(shù)據(jù)運行本文算法,并與小米手環(huán)等計步設(shè)備進行比較。結(jié)果表明,本文的計步算法在不同運動狀態(tài)下,都能夠保持95%以上的計步精度。
關(guān)鍵詞:計步器;步數(shù)檢測;加速度傳感器
中圖分類號:TP274 文獻標(biāo)識碼:A 文章編號:1007-9416(2017)09-0128-03
手環(huán)類計步設(shè)備最主要的功能是通過自身的加速度傳感器和內(nèi)置的算法統(tǒng)計出用戶行走的步數(shù),這包括了步行、跑步、上下樓梯等不同運動狀態(tài)的步數(shù)統(tǒng)計。
目前基于加速度傳感器的步數(shù)檢測方法主要分為兩類:一類是通過設(shè)定一個根據(jù)采樣數(shù)據(jù)實時反饋得出的動態(tài)閾值,當(dāng)加速度從大到小跨過這個閾值時候,判定為一步有效步伐[1,2]。另一類是基于峰值檢測的方法,通過對加速度求導(dǎo)后尋找加速度的峰值,再根據(jù)人體運動的一些規(guī)律來判斷尋找到的峰值是否真的是行走產(chǎn)生的[3,4]。另外,也有一些文獻提到了基于信號能量的自適應(yīng)門限檢測[5],以此來檢測出加速度信號中的波峰。
針對近年來消費市場對手環(huán)類計步設(shè)備的巨大需求,以及由此產(chǎn)生的對于計步精度的要求,本文主要基于MPU6050六軸加速度傳感器芯片,根據(jù)運動時手腕和身體的周期性加速度變化,以及檢測到的手腕上的加速度波形特征,設(shè)計一套適用于手腕部位的步數(shù)檢測算法。
1 傳感器及信號采集
本文選用Inven Sense公司的MPU6050作為加速度傳感器。它是一款六軸加速度傳感器,能同時檢測三軸加速度、三軸陀螺儀(三軸角速度)的數(shù)據(jù),提供16位精度的ADC輸出。通過I2 C接口向主控器輸出姿態(tài)解算后的姿態(tài)數(shù)據(jù)。非常適合用于對姿態(tài)控制實時要求較高的領(lǐng)域。傳感器的三軸構(gòu)成一個空間直角坐標(biāo)系,能夠全面記錄加速度的數(shù)值變化。
一般人運動時動作的重復(fù)頻率在0-20Hz之間。根據(jù)Nyquist采樣定理,要還原出原始信號,采樣頻率需要大于40Hz。本文采用200Hz的采樣率進行數(shù)據(jù)采集。
2 計步算法
2.1 加速度信號的三軸合一處理
加速度傳感器佩戴在手腕上,隨著人步行時手腕前后擺動,各軸加速度數(shù)值都會產(chǎn)生明顯的周期性變化。本文對加速度數(shù)據(jù)進行取模處理,以提高計步的準(zhǔn)確性,計算公式如下:
式(1)中,SVM表示三軸合一的加速度,Vx,Vy,Vz分別代表三軸的加速度數(shù)據(jù)。
如圖1所示,是步行狀態(tài)下三軸合一處理后的加速度波形。
2.2 加速度信號的濾波處理
對加速度信號進行濾波,以平滑波形濾除噪聲。本文使用高斯濾波器進行濾波,一維高斯濾波通過如下一維零均值高斯函數(shù)來生成規(guī)定領(lǐng)域內(nèi)點的權(quán)重,即生成高斯模板。高斯濾波如式(2)所示:
其中,a(t)是經(jīng)過上文低通濾波的加速度信號,afilted是經(jīng)過高斯濾波后的加速度信號。參數(shù)σ主要決定了波形的平滑程度,σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好。高斯濾波是帶有權(quán)重的加權(quán)平均,其利用了高斯分布來生成權(quán)重,使得中心的權(quán)重比鄰近點的權(quán)重更大,可以在濾波后更好的保留原有波形峰值和谷值的情況。
本文取高斯模板大小為50個點,標(biāo)準(zhǔn)差σ大小為10。經(jīng)過高斯濾波的加速度波形如圖2所示。
2.3 波峰檢測
如圖3所示,是一個典型的步行時的加速度波形。
人在運動時,最快不會少于0.2s一步,最慢不會多于2s一步[6]。因而在計步時,本文將兩步之間的時間間隔不在 0.2~2s之內(nèi)的步伐判定為無效步伐,不計入行走的步數(shù)之中。
利用加速度相鄰波峰波谷的差值可以作為判斷依據(jù)來排除一些無效的峰谷值數(shù)據(jù)0。計算公式如下:
其中,ap(t)和av(t)分別代表了相鄰的波峰和波谷的加速度大小。
當(dāng)峰谷值的差值大于1.96m/s2時,可以視為一次有效的步行數(shù)據(jù)[7],能夠?qū)⑵溆嬋氩綌?shù)統(tǒng)計之中,反之,則視為無效抖動。
3 實驗及結(jié)果
將本文設(shè)計的計步算法和小米手環(huán)2以及咕咚運動app這兩種計步工具進行計步精確度的對比。在實驗中,通過讓被試者同時佩戴小米手環(huán)2代以及實驗用的MPU6050加速度傳感器,并將手機app咕咚運動的計步功能開啟后放置在腰部進行計步,將各個計步設(shè)備的記錄結(jié)果與實際步數(shù)進行對比,得出計步精度。各計步器佩戴方式如圖4所示。
計步精度的實驗結(jié)果如表1所示??梢钥闯?,本算法在測試中的各種運動狀態(tài)下其精確度均大于95%。對比小米手環(huán)2和咕咚運動app,本文在精度上與小米手環(huán)2基本上在一個水平。在大多數(shù)情況下,計步精度高于咕咚運動的結(jié)果。
4 結(jié)語
本文設(shè)計了一個基于MPU6050加速度傳感器的計步算法。該算法首先采用三軸合一方法對加速度型號進行處理,然后采用高斯濾波器對信號濾波,最后結(jié)合區(qū)域峰值檢測、閾值限定等方法得到計步結(jié)果。實驗中,對比了小米手環(huán)2以及咕咚運動app進行了計步精確度的測試。結(jié)果表明,本文的計步算法具有較高的計步精確度。
參考文獻
[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]陳國良,李飛,張言哲.一種基于自適應(yīng)波峰檢測的MEMS計步算法[J].中國慣性技術(shù)學(xué)報,2015,(03):315-321.
[6]韓文正,馮迪,李鵬,等.基于加速度傳感器LIS3DH 的計步器設(shè)計[J].傳感器與微系統(tǒng),2012,31(11):97-99.
[7]魏芬,鄧海琴.基于加速度傳感器的運動步數(shù)檢測算法研究[J].電子器件,2016,(05):1175-1179.endprint