基於G sensor的計步解決方案

2021-08-19 06:43:41 字數 1314 閱讀 4499

一、  計步模型特徵

g-sensor可以檢測三軸加速度(單位g),靜止的時候只檢測重力加速度乙個

g;人在步行的時候,相對於運動姿態會產生相應方向加速度。

圖1 步行姿態示意圖

如圖1所示,步行的時候主要運動方向是前進方向和垂直方向,呈現週期性變化;

垂直方向:抬腳時,重心向上,加速度正向增加;兩腳觸地時,重心下移,加速度反向減少;

水平方向:抬腳時,加速度增加;收腳時,加速度減小。

將三軸的加速度值合成乙個加速度向量,該值在步行時基本是正弦曲線變化規律,如圖2所示;每隔一段時間都會產生峰谷值,通過對該加速度向量的長度和方向的判斷,來判斷是否經過波峰或者波谷,通過峰峰值的計算以及加速度的閾值決策來實時計算步數。

g-sensor引數:量程2g ;單位16384 lsb/g; 資料更新頻率500hz 。

圖2 加速度取樣值曲線

實際步行中,加速度檢測值會出現很多雜波干擾,需要通過演算法來濾波去除干擾,獲取真實有效的步態,進行步數累加計步。主要包含三部分:

獲取原始數步伐時間窗:0.2s ~ 2s(最快步伐 和 最慢步伐時間)

計步演算法處理過程分為三個部分:

每隔1s鐘輪詢一次,判斷是否產生有效步伐,將計步狀態劃分成乙個個過程,產生乙個時間戳,作為乙個個計步過程記錄儲存下來。

停止計步:未檢測到有效步伐則進入停止計步狀態。

預計步  :檢測到有效步,但步數不超過一定步數(10步)。

正式計步:檢測到的有效步超過一定步數,該步數資料才是有效累加的。

三、其他狀態監測

摔倒狀態:正式計步狀態下,重力加速度方向軸發生變化的時刻。

疾跑狀態:正式計步狀態下,時間窗的週期明顯增快很多的時刻。

正常成年人人跑步速度是10~ 15km/s ;走路速度是5 ~ 7km/s ;所以跑步時間窗大概是走路的2 ~ 3倍。

基於智慧型手機的加速計進行計步實現。

最近在研究如何使用 iphone手機進行計步,網上找了些資料,基本上是基於加速計原理。至於什麼是加速計,加速計的使用原理大家就到google 上了,這裡不講這部份。在研究中,根據自己搜到的資料,有使用差分法,離散,快速傅利葉變換來進行過濾提取,但是,由於我畢業多年了,這些大學裡的演算法,我也忘得七七...

關於簡單的js計步功能

複製 1 計步演算法 關於詳細的計步演算法網上能找到很多的資源,這裡只是簡單的做了個實驗性質的介紹,並不是很準確,另外也沒有測試詳細的相容性。功能 通過js獲取手機上的感測器資訊進行計算獲得簡單的步數統計。用到了加速度感測器模組。通過對手機的加速度感測器模組記錄的值進行分析來獲取使用者的步數。計步演...

python基於右遞迴解決八皇后問題的方法

凡是線性回溯都可以歸結為右遞迴的形式,也即是二叉樹,因此對於只要求乙個解的問題,採用右遞迴實現的程式要比回溯法要優美的多。def test queen,n 這個就不用說了吧,就是檢驗第n 下標,0 7 行皇后的位置是否合理 q queen for i in xrange n if queen i q...