?

基于手機加速度傳感器的波峰波谷計步算法研究

2017-06-29 12:00凌海波楊靜周先存
關鍵詞:計步波谷波峰

凌海波, 楊靜, 周先存

(皖西學院a.電子與信息工程學院;b.體育學院, 安徽六安237012)

基于手機加速度傳感器的波峰波谷計步算法研究

凌海波a, 楊靜b, 周先存a

(皖西學院a.電子與信息工程學院;b.體育學院, 安徽六安237012)

智能手機及其內置傳感器的普及可實現行人步數統計,但是由于人行走的隨意性以及智能手機內置傳感器精度不高,使計步精度難以滿足應用要求,為此,提出了多種計步算法。為了解決傳統計步算法難以實現計步精度和算法復雜度之間的平衡問題,提出了一種基于手機加速度傳感器波峰波谷檢測計步算法。分析了人體步行運動規律,給出了手機在不同姿態下的計步結果。實驗結果表明,與現有的閾值和幅值計步算法相比,在計步步數為1000步時,該算法處理數據量降低了80%,明顯降低了算法復雜度,計步精度也達到95% 以上,計步性能有了很大的提高,能夠很好地滿足計步要求。

計步算法; 加速度傳感器; 波峰波谷檢測

引言

隨著移動互聯網發展,智能手機廣泛地被應用于普通人群,其功能也被賦予多樣化,其中一個重要的功能就是獲取用戶的位置信息。其中以GPS為代表的室外定位已經較為成熟,而現在的人們大多數生活在建筑物內部,所以室內定位的重要性越來越突出,而室內定位中步數檢測是最基本的一項,計步結果的好壞直接影響到室內定位的精度[1-5]。

常用的計步手段都是利用智能移動終端(主要指智能手機)中的加速度計和陀螺儀來實現計步[6-12],加速度計可以獲取用戶運動時多個方向上的加速度值。文獻[13]提出了一種基于手機加速度傳感器的計步算法,該算法主要利用人體運動時加速度的幅值,通過對幅值檢測獲取用戶的步數,但是該算法會隨著用戶步頻的改變其計步精度也隨之改變,在低步頻時其計步精度明顯降低。文獻[14]提出了一種自適應計步算法,該算法分析了手機在不同狀態下計步結果,計步精度很高,但是該算法處理數據量龐大,計算過程復雜,在很大程度上降低了計步的實時效果。文獻[15]采用陀螺儀的過零檢測計步算法,該計步算法會隨著步頻的增加其計步精度逐漸降低,并且該算法對手機的擺放位置具有很高的要求。

針對以上問題,同時考慮計步算法的復雜度和計步精度的問題,本文提出一種基于手機加速度傳感器的波峰波谷檢測計步算法。該算法首先分析了人體步行時加速度的變化規律,同時也考慮到手機在不同姿態情況下傳感器每個軸會有不同的表現,本算法采用整體加速度代替單軸加速度,計步中通過檢測合加速度值曲線的波峰和波谷實現計步效果。

1人體步行分析

對于人體而言,在行進過程中主要包括三個方向上的運動分量,即前向、側向和垂直方向,設定手機坐標系統中的三個分量如圖1所示,該坐標系是以手機自身為參照,其中前向軸為X軸,側向軸為Y軸,垂向軸為Z軸。

圖1手機三軸加速度計坐標系

人體步行一步之內垂直加速度變化狀態如圖2所示。人的正常步行一步的過程可以分為8個狀態,為大致的正弦波形,其中S0為人體準備步行的初始狀態,即處于靜止狀態;S1為一步的開始,此時人抬起腳,產生向上的加速度;S2為人抬腳向前移動,此時,垂直方向的加速度到達波谷;S3表示當前腳到達最高點之前的狀態,此時向上的加速度逐漸減??;S4表示腳到達最高點的狀態,此時垂直加速度降到0;S5表示人體開始放腳,此時產生垂直向下的加速度;S6表示人體落腳并向前移動,此時垂直加速度達到波峰;S7表示當前腳回到地面之前的狀態,此時垂直加速度逐漸減??;S8表示腳落到地面,即一步的結束,垂直加速度為0。當檢測到S8的狀態時,則檢測到1步,即一只腳離開地面開始到該腳再次接觸地面的過程,稱為一個步態周期,如圖3所示。人體步行時的垂向加速度的變化規律是一個周期性的過程,大致為一個正弦曲線,且在某點有一個峰值或谷值。在實際的人體步行時由于手機在不同姿態下傳感器的每個軸都會表現不同,以及傳感器硬件本身的誤差,所以測得的加速度會存在很多干擾,如圖4所示,在連續行走中形成多個波峰或波谷,所以計步過程中需要對偽波峰和偽波谷進行甄別獲取真實的波峰和波谷,然后通過波峰和波谷檢測算法實現計步。

圖2人體步行一步之內垂直加速度變化狀態

圖3步態周期和加速度變化規律

圖4連續行走時出現的偽波峰和偽波谷

2計步算法

2.1自相關計步算法

自相關計步算法是利用人體連續運動產生的加速度序列直接的相似性來進行判斷和計步[16]。該方法將人體狀態分為空閑和行走狀態,當人處于空閑狀態時,人的運動無規律,而人處于行走狀態時,其整體加速度值有明顯的周期性變化,自相關計步算法利用當前計步周期和上一個計步周期的加速度序列的自相關系數大小判斷行人是否完成一步行走動作。自相關算法過程包括:(1)計算當前運動周期的整體加速度序列的標準差;(2)對行走狀態加速度序列,計算當前周期與前一個計步周期整體加速度的自相關系數。其算法流程如圖5所示??梢钥闯鲎韵嚓P計步算法其算法的處理數據非常龐大,計算較為復雜。

圖5自相關計步算法流程圖

2.2波峰波谷計步算法

2.2.1加速度提取

人體在行進過程中,身體在水平和垂直方向會呈現周期性的變化特征,為了避免手機在不同姿態情況下傳感器的每個軸會有不同表現,本文采用獲取加速度強度SMA和整體加速度a進行計步計算,其定義如下

(1)

(2)其中,a_X(i)、a_Y(i)、a_Z(i)分別表示第i次采集的X、Y、Z三個方向的加速度值,單位為g (1 g=9.8 N·m/S2)。SMA表示一段時間內加速度值之和,整體加速度a(i)表示人體活動加速度矢量強度,當人體快速行走時,其信號的強度矢量較大,當人體慢步運動走動時,其人體的加速度矢量較小??梢酝ㄟ^設置閾值來判斷人體是走動或是跑步狀態。

人走路的狀態分為步行和跑步兩種,其中步行的頻率基本維持在2.5 Hz以內,跑步的頻率一般為5 Hz。為了完整地記錄人體運動的加速度值,本文選取45 Hz的采樣頻率采集加速度數據,即每秒對傳感器采集45次,即相當于每秒45組X、Y、Z方向的加速度值。

2.2.2波峰波谷計步算法

人行走過程中,垂直和前進產生的加速度與時間大致為一個正弦曲線,且該正弦曲線上的會出現多個峰值和谷值,本文在計步算法中采用波峰波谷閾值檢測算法,即波峰檢測中,在新的波谷信號出現之前,連續多個波峰均可認為屬于同一次步伐,本算法中對采集的數據進行處理過程,將合成的加速度信號經過提取,獲取行走過程中三軸合加速度的峰值信號。圖6所示為波峰波谷計步算法過程,在波峰檢測過程中首先獲取合加速度a(i)的值作為潛在的峰值,flag為波峰或者波谷的標志,flag=1時,表示檢測到的峰值為真實的波峰或波谷,當flag=0時,則表示檢測到為偽波峰或偽波谷。同理,波谷閾值檢測中,在新的波峰信號出現之前,連續多個波谷均可認為屬于同一次步伐。

圖6波峰波谷計步算法

3實驗結果與分析

3.1實驗環境

為了讓該算法具有更多的實用性,本文采用手機放置在不同的環境下,包括不同的位置和行人不同的行走狀態。選取40 Hz的采樣頻率采集加速度數據,即每秒鐘對傳感器采集40次。本實驗給出了手機在手持狀態、褲兜放置和褲兜放置下三種不同姿態下計步加速度值和計步結果。圖7~圖9給出了本次試驗的部分采集點數加速度的輸出,單位均為重力加速度g。其中,圖7中為手持手機狀態下傳感器加速度與采集點數之間的關系;圖8為手機在褲兜放置時傳感器加速度與采集點數之間的關系;圖9為手機在背包中放置時傳感器的加速度值與采集點之間的關系。

圖7手機在手持狀態下加速度值與采集點數之間的關系

圖8手機在褲兜中加速度值與采集點數之間的關系

圖9手機在背包中加速度值與采集點數之間的關系

3.2實驗結果分析

由圖7~圖9中的加速度的變化規律可以看出,每一組數據中合加速度的變化規律基本與三軸中Z軸的變化基本一致,即與垂向加速度保持一致,且呈正弦信號周期性的變化,驗證了文中分析的垂向加速度變化狀態特點。通過合加速度波形中的偽波峰和偽波谷的甄別,利用波峰波谷計步算法得出手機在不同狀態下的計步的試驗結果。針對采集的數據,分別利用基于波峰波谷計步算法、基于閾值計步算法以及基于閾值進行計步,對手機傳感器采集數據進行處理,結果見表1。由計步結果可以看出,基于波峰波谷計步算法計步精度明顯高于其他兩種計步算法。

表1三種計步算法試驗結果

圖10為基于波峰波谷計步算法與已有的幅值計步算法、閾值計步算法的性能比較圖,圖10(a)給出了三種計步算法累計分布函數CDF值與計步錯誤之間的關系曲線,可以看出基于波峰波谷計步算法相較其他兩種算法其累計分布函數CDF在計步錯誤接近于6步的情況下就近似飽和,即計步錯誤數控制在6步以內,而其他兩種算法的CDF值在接近于1的時候其計步錯誤數接近于12步左右,所以與幅值計步算法和閾值計步算法相比,無論從計步精度還是計步效率上,該算法的累計分布函數CDF很快地接近于1,其計步精度和性能有了較大的提高。圖10(b)為三種算法在計步過程中處理數據的變化曲線,可以看出基于波峰波谷的計步算法處理的數據量較其他兩種算法有了很大的改善,算法復雜度明顯降低。

圖10與現有計步算法的性能比較

4結束語

本文設計了一種基于手機加速度的波峰波谷計步算法,首先分析了人體步行的運動規律,實驗給出了手機在不同狀態下的計步結果,并且與現有閾值計步算法和幅值計步算法進行比較,由實驗結果可以看出,基于波峰波谷計步算法能夠在降低算法復雜度的同時保持很高的計步精度,計步性能有了很大的提高。

[1] FICCO M,PALMIERI F,CASTGILIONE A.Hybrid indoor and outdoor location services for new generation mobile terminals[J].Personal and Ubiquitous Computing,2014,18(2):271-285.

[2] JIMENEZ A R,SECO F,PRIET C,et al.A comparison of pedestrian dead-reckoning algorithms using a low-cost MEMS IMU[C]//Proceeding of 6th IEEE International Symposium on Intelligent Signal Processing,Budapest,Hungary,August 26-28,2009:37-42.

[3] JIN Y,TOH H S,SOH W S,et al.A robust dead-reckoning pedestrian tracking system with low cost sensors[C]//Proceedings of the 2011 IEEE International Conference on Pervasive Computing and Communications,Seattle,USA,March 21-25,2011:222-230.

[4] PAN M S,LIN H W.A step counting algorithm for smartphone users:design and implementation[J].IEEE Sensors Journal,2015,15(4):2296-2305.

[5] BRAJDIC A,HARLE R.Walk detection and step counting on unconstrained smartphones[C]//Proceedings of the 2013 ACM International Joint Conference on Pervasive and ubiquitous computing,Zurich,Switzerland,September 8-12,2013:225-234.

[6] LAN K C,SHIH W Y.Using simple harmonic motion to estimate walking distance for waist- mounted PDR[C]//Proceedings of 2012 IEEE Wireless Communications and Networking Conference,Paris,France,April 1-4,2012:2445-2450.

[7] ABHAYASINGHE N,MURRAY I.A novel approach for indoor localization using human gait analysis with gyroscopic data[C]//International Conference on Indoor Positioning and indoor Navigation,Sydney,Australia,November 11-15,2012:127-132.

[8] 王文杰,李軍.基于手機加速度傳感器的計步算法設計[J].工業控制計算機,2016,29(1):75-79.

[9] LIU J B,CHEN R Z,PEI L,et al.A hybrid smartphone indoor positioning Solution for LBS[J].Sensors,2012,12(12):17208-17233.

[10] CHERNBUMROONG S,CANG S,YU H N.A practical multi-sensor activity recognition system for home-based care[J].Decision Support Systems,2014,66:61-70.

[11] TRAN K,LE T,DINH T.A high-accuracy step counting algorithm for iPhones using accelerometer[C]//Proceedings of The 12th IEEE International Symposium on Signal Processing and Information Technology(ISSPIT 2012),Ho Chi Minh City,Vietnam,December 12-15,2012:213-217.

[12] OSHIN T O,POSLAD S.ERSP:An energy-efficient real-time smartphone pedometer[C]//Proceedings of 2013 IEEE International Conference on Systems,Man,and Cybernetics (SMC 2013),Manchester,United Kingdom,October 13-16,2013:2067-2072.

[13] YE J,STEVENSON G,DOBSON S.KCAR:A knowledge-driven approach for concurrent activity recognition[J].Pervasive & Mobile Computing,2015,19:47-70.

[14] 陳國良,張言哲,楊洲.一種基于手機傳感器自相關分析的計步器實現方法[J].中國慣性技術學報,2014,22(6):794-798.

[15] JAYALATH S,ABHAYASINGHE N.A gyroscopic data based pedometer algorithm[C]//Proceedings of the 8th International Conference on Computer Science & Education(ICCSE 2013),Sri Lanka,April 26-28,2013:551-555.

[16] RAI A,CHINTALAPUDI K K,PADMANABHAN V N,et al.Zee:zero-effort crowdsourcing for indoor localization[C]//Proceedings of the 18th Annual International Conference on Mobile Computing and Networking,Istanbul,Turkey,August 22-26,2012:293-304.

Research on Peak and Trough Step Counting Algorithm Based on Mobile Accelerometer

LINGHaiboa,YANGJingb,ZHOUXiancuna

(a.College of Information Engineering;b.Physical Education Institute, West Anhui University, Lu’an 237012, China)

Advances on smartphones and built-in inertial sensors have given rise to count the number of steps. However,the smartphone sensors are not accurate enough and pedestrians have natural swings during walking, so that step accuracy is difficult to meet the application requirements. Thus many step-by-step algorithms are presented. In order to solve the problem of the balance between algorithm' s accuracy and complexity of traditional step-counting algorithm, a new step-counting algorithm based on Mobile phone accelerometer detecting peak and trough is proposed. The law of human walking is analyzed, and some step results of the mobile phone in different posture are given. The experiment demonstrates that the algorithm, compared with the existing threshold and amplitude’s step-counting when the number of steps is 1000 steps, can reduce the data volume by 80%, reduce the complexity of the algorithm obviously, and achieve step accuracy which over 95%, besides, the step-counting performance has been greatly improved, and can fulfill the step-counting requirements.

step-counting algorithm; accelerometer; peak and trough detection

2017-03-10

國家自然科學基金資助項目(61572366,61303209);皖西學院校級項目(WXSK201634)

凌海波(1989-),男,安徽廬江人,助教,碩士,主要從事無線傳感器網絡、無線室內定位方面的研究,(E-mail)lhb1208lhb@163.com

1673-1549(2017)03-0021-05

10.11863/j.suse.2017.03.05

TP311

A

猜你喜歡
計步波谷波峰
板厚與波高對波紋鋼管涵受力性能影響分析
梅緣稻
基于G-senor和步頻的運動強度分析系統設計
作用于直立堤墻與樁柱的波峰高度分析計算
移動手環的設計與實現
加速度差分有限狀態機計步算法*
兒童標準12導聯T波峰末間期的分析
基于音節時間長度高斯擬合的漢語音節切分方法
Dynamic Loads and Wake Prediction for Large Wind Turbines Based on Free Wake Method
基于手機加速度傳感器的高精低采樣計步算法設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合