新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用三軸加速度傳感器的計步測算法

利用三軸加速度傳感器的計步測算法

作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

現(xiàn)如今,很多現(xiàn)代人都非常注重自己的日常鍛煉,作為一種有效記錄監(jiān)控鍛煉的監(jiān)控手段,被廣泛應(yīng)用在移動終端的應(yīng)用中。

本文引用地址:http://www.butianyuan.cn/article/201610/309209.htm


目前,大部分的都是通過GPS信號來測算運動距離,再反推行走步數(shù)實現(xiàn)的。這種方法很是有效,但在室內(nèi)或沒有GPS信號的設(shè)備上無法工作。同時,GPS精度對結(jié)果的干擾也比較大。


為避免上述問題的出現(xiàn),我們可以考慮一種新的測步方法,即:通過設(shè)備上的加速度傳感器來計算步數(shù),在不支持GPS的設(shè)備上也可正常工作。還可以與GPS互相配合測步,這樣可令使用場景變得多樣。


1.先要摸清模型的特征


目前,大部分設(shè)備都提供了可以檢測各個方向的加速度傳感器。以iOS設(shè)備為例,我們利用了其(x,y,z軸代表方向如圖)的特性來分析。分別用以檢測人步行中三個方向的加速度變化。


iOS設(shè)備的示意圖



用戶在水平步行運動中,垂直和前進兩個加速度會呈現(xiàn)周期性變化,如圖所示。在步行收腳的動作中,由于重心向上單只腳觸地,垂直方向加速度是呈正向增加的趨勢,之后繼續(xù)向前,重心下移兩腳觸底,加速度相反。水平加速度在收腳時減小,在邁步時增加。

利用三軸加速度傳感器的計步測算法

反映到圖表中,可以看到,在步行運動中,垂直和前進產(chǎn)生的加速度與時間大致為一個正弦曲線,而且在某點有一個峰值。其中,垂直方向的加速度變化最大,通過對軌跡的峰值進行檢測計算和加速度閥值決策,即可實時計算用戶運動的步數(shù),還可依此進一步估算用戶步行距離。



利用三軸加速度傳感器的計步測算法

2.的合理算法


因為用戶在運動中可能用手平持設(shè)備,或者將設(shè)備置于口袋中。所以,設(shè)備的放置方向不定。為此,通過計算三個加速度的矢量長度,我們可以獲得一條步行運動的正弦曲線軌跡。


第二步是峰值檢測,我們記錄了上次矢量長度和運動方向,通過矢量長度的變化,可以判斷目前加速度的方向,并和上一次保存的加速度方向進行比較。如果是相反的,即是剛過峰值狀態(tài),則進入計步邏輯進行計步,否則舍棄。通過對峰值的次數(shù)累加,可得到用戶步行的步伐。


最后,就是去干擾。手持設(shè)備會有一些低幅度和快速的抽動狀態(tài),或是我們俗稱的手抖,或者某個惡作劇用戶想通過短時快速反復(fù)搖動設(shè)備來模擬人走路,這些干擾數(shù)據(jù)如果不剔除,會影響記步的準(zhǔn)確值,對于這種干擾,我們可以通過給檢測加上閥值和步頻判斷來過濾。



利用三軸加速度傳感器的計步測算法

人體最快的跑步頻率為5HZ,也就是說相鄰兩步的時間間隔的至少大于0.2秒,如圖所示,我們設(shè)置了timespan在記步過程中我們過濾了高頻噪聲,即步頻過快的情況。同時我們通過和上次加速度大小進行比較,設(shè)置設(shè)立一定的閥值Threshold來判斷運動是否屬于有效,有效運動才可進行記步。


3.關(guān)于計步器的擴展


以上是一個依靠加速度測算的計步器實現(xiàn)原理,已知步行和跑步的步伐經(jīng)驗值,那么稍微改進下即可變成一個測距測速計。


通過,我們可以知道用戶的運動狀態(tài)。除了計步,還可以通過加速器的變化曲線判斷用戶摔倒?fàn)顟B(tài),做成一個老人和兒童摔倒檢測自動報警器。



關(guān)鍵詞: 三軸加速度傳感器 計步

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉