計步器算法是如何實現的
計(ji)步(bu)(bu)算法(fa)可(ke)以(yi)分為四大類,一(yi)是(shi)峰(feng)值檢(jian)測算法(fa),二是(shi)變換域算法(fa),三是(shi)濾波算法(fa),四是(shi)模(mo)式識別算法(fa)。根(gen)據所設(she)計(ji)的(de)計(ji)步(bu)(bu)器在人體上布放的(de)位置不(bu)同,如腕部、腰部、鞋(xie)底等,可(ke)以(yi)選擇不(bu)同的(de)計(ji)步(bu)(bu)算法(fa)。以(yi)應用(yong)最為廣泛的(de)峰(feng)值檢(jian)測算法(fa)為例:
1、獲取運動軌跡
用戶在運動中(zhong)(zhong),可能(neng)把設備放置于(yu)口袋或(huo)者(zhe)包中(zhong)(zhong),亦或(huo)拿在手中(zhong)(zhong),所以(yi)設備的放置方(fang)向不確定。那么首(shou)先(xian),我們通過計算(suan)三個(ge)加速(su)度(du)的矢(shi)量長度(du),可以(yi)獲得一條步行運動的正(zheng)弦曲(qu)線軌跡。
2、峰值檢測
我(wo)們記錄了上次矢(shi)量長度(du)和運(yun)動方向,通過矢(shi)量長度(du)的(de)(de)變(bian)化,可以判斷當前加(jia)速度(du)的(de)(de)方向,并和上一次保(bao)存的(de)(de)加(jia)速度(du)方向進行比較。如果是(shi)相反的(de)(de),即是(shi)剛過峰值狀態,則(ze)進入(ru)計(ji)步邏(luo)輯(ji)進行計(ji)步,否則(ze)就(jiu)舍棄這段。通過對(dui)峰值次數的(de)(de)累(lei)加(jia),那我(wo)們就(jiu)可得(de)計(ji)算得(de)到用戶(hu)步行的(de)(de)步數。
3、去噪音(干擾)
手(shou)機或智能手(shou)表等手(shou)持設備會有一些(xie)低幅(fu)度和快速的(de)抽動(dong)狀態,即我們俗稱的(de)手(shou)抖,或者(zhe)某個用戶想通過短時快速反復搖動(dong)設備來模擬人走路,這些(xie)干擾(rao)數據如果不剔除(chu),會影(ying)響(xiang)記步的(de)準確值(zhi),對于(yu)這種干擾(rao),我們可以通過給檢測加(jia)上(shang)閾值(zhi)和步頻判(pan)斷來過濾。
目前人(ren)類(lei)最快的(de)(de)(de)跑步(bu)(bu)(bu)頻(pin)率為5HZ(當然不(bu)(bu)排(pai)除(chu)人(ren)類(lei)借助其它設備跑步(bu)(bu)(bu)頻(pin)率超(chao)過(guo)(guo)這個頻(pin)率),也就是說相鄰兩步(bu)(bu)(bu)的(de)(de)(de)時(shi)間間隔的(de)(de)(de)至少大于(yu)0.2秒,如圖中(zhong)的(de)(de)(de)計步(bu)(bu)(bu)時(shi)間,若兩次計步(bu)(bu)(bu)之(zhi)間的(de)(de)(de)時(shi)間間隔小于(yu)0.2秒,則不(bu)(bu)計步(bu)(bu)(bu)。這樣(yang)我(wo)(wo)們(men)就過(guo)(guo)濾了高(gao)頻(pin)噪聲,即步(bu)(bu)(bu)頻(pin)過(guo)(guo)快的(de)(de)(de)情況。同(tong)時(shi)我(wo)(wo)們(men)通過(guo)(guo)和(he)上次加速度大小進行(xing)比較,設置一(yi)定的(de)(de)(de)閾值Threshold來判斷運動(dong)是否屬于(yu)有(you)效(xiao)(如圖中(zhong)的(de)(de)(de)綠線),有(you)效(xiao)運動(dong)才可進行(xing)記(ji)步(bu)(bu)(bu)。
4、推算運動狀態
如果已知(zhi)步(bu)(bu)(bu)行(xing)(xing)和(he)跑步(bu)(bu)(bu)的步(bu)(bu)(bu)數,那么(me)再通(tong)過(guo)人體(ti)(ti)身(shen)高,體(ti)(ti)重及(ji)(ji)性別就(jiu)可(ke)以(yi)大致知(zhi)道(dao)此(ci)人的步(bu)(bu)(bu)長,改進后即(ji)可(ke)變成一個測距離及(ji)(ji)測速(su)計。通(tong)過(guo)三軸(zhou)加速(su)度傳感器(qi),我們可(ke)以(yi)知(zhi)道(dao)用(yong)戶的運動狀態。除了計步(bu)(bu)(bu),還可(ke)以(yi)利用(yong)加速(su)度傳感器(qi)與陀螺儀及(ji)(ji)磁傳感器(qi)融合進行(xing)(xing)步(bu)(bu)(bu)行(xing)(xing)航跡推算,防止出現(xian)誤計步(bu)(bu)(bu)的現(xian)象。
智能計步器算法思想詳解
1、運動閾值
運(yun)動(dong)加(jia)速(su)度一(yi)般呈現正弦變化,當運(yun)動(dong)速(su)度提升,最(zui)大值(zhi)(zhi)(zhi)與最(zui)小值(zhi)(zhi)(zhi)抬高時(shi)候,平均(jun)值(zhi)(zhi)(zhi)也應當跟著軌跡變化。因(yin)此,運(yun)動(dong)閾值(zhi)(zhi)(zhi)是一(yi)個動(dong)態值(zhi)(zhi)(zhi),具(ju)有自適應性(xing),并且足夠快。
加速度(du)計不斷的更新三軸數據,采(cai)集濾波,判斷最大值(zhi)(zhi)與最小(xiao)值(zhi)(zhi)。我們以采(cai)樣50次(ci)為一組更新一次(ci)閾(yu)值(zhi)(zhi)。平均值(zhi)(zhi)(max+min)/2做為“運動(dong)閾(yu)值(zhi)(zhi)”。動(dong)態精度(du)由自己劃分,把運動(dong)變化量劃分等級,隨著運動(dong)閾(yu)值(zhi)(zhi)大小(xiao)判定當前(qian)精度(du)值(zhi)(zhi)。
2、邁步判斷
(1)步(bu)伐邁出的條件定義:當加速(su)度曲(qu)(qu)線(xian)跨過(guo)動態閥值上方(fang)時或者(zhe)當加速(su)度曲(qu)(qu)線(xian)跨過(guo)動態閥值下方(fang)時加速(su)度的變(bian)化為正值或者(zhe)為負值。
(2)利用線(xian)性(xing)位移(yi)(yi)(yi)寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi)和(he)(he)動態閥值和(he)(he)動態精(jing)度(du)一起判(pan)(pan)斷(duan)個體是否(fou)邁(mai)出(chu)有(you)效的(de)一步(bu)。建立兩(liang)個寄(ji)(ji)(ji)(ji)存(cun)(cun),new寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi)和(he)(he)old寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi);當(dang)(dang)前數據(ju)采(cai)集到后判(pan)(pan)斷(duan)是否(fou)移(yi)(yi)(yi)入(ru)new寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi),滿足(zu)移(yi)(yi)(yi)入(ru)條件:加速度(du)變化量大(da)于(yu)當(dang)(dang)前的(de)動態精(jing)度(du)。就把(ba)當(dang)(dang)前采(cai)集的(de)數據(ju)移(yi)(yi)(yi)入(ru)new寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi),否(fou)則new保持不(bu)變。每當(dang)(dang)新數據(ju)到來時(shi)候,new寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi)的(de)值無條件移(yi)(yi)(yi)入(ru)old寄(ji)(ji)(ji)(ji)存(cun)(cun)器(qi)。這樣(yang),就能(neng)夠避(bi)免高頻噪聲的(de)影(ying)響,提高判(pan)(pan)斷(duan)精(jing)度(du)。
(3)三軸加速度同時檢(jian)測,可(ke)以但(dan)是只要(yao)一個(ge)軸的(de)加速度變化最大,可(ke)以利用該(gai)軸當為運動(dong)方向,其(qi)他軸忽略(lve)不計。
3、具體程序
(1)采樣濾波,求(qiu)出3軸的(de)平均(jun)值,求(qiu)出加速度的(de)最大,最小值。
(2)每(mei)采樣(yang)50次,求出(chu)峰(feng)值,然后設置(zhi)門限。
(3)計算精度(du)。
(4)對采(cai)樣濾波的平均值(zhi)進(jin)(jin)行(xing)處理然后將其與精度進(jin)(jin)行(xing)比較(jiao)(通過(guo)移位寄存(cun)器來消除高頻噪聲,使值(zhi)更精確)。
(5)動態門限(xian)判定,對數值進行比較,然后將步數加1。
申明:以上方法源于程序系統索引或網民分享提供,僅供您參考使用,不代表本網站的研究觀點,證明有效,請注意甄別內容來源的真實性和權威性。