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

2021-06-25 19:15:27 字數 2303 閱讀 5812

最近在研究如何使用 iphone手機進行計步,網上找了些資料,基本上是基於加速計原理。至於什麼是加速計,加速計的使用原理大家就到google 上了,這裡不講這部份。

在研究中,根據自己搜到的資料,有使用差分法,離散,快速傅利葉變換來進行過濾提取,但是,由於我畢業多年了,這些大學裡的演算法,我也忘得七七八八了,現在看到這些就有點亂,一時間都識不了這些數學符號了,想要看懂這些,對我來說,可能需要乙個來到兩周的複習,估計可以免強看懂這些演算法吧。但目前也沒有心思來複習了,因此自己根據自己的一些粗方法,然後一步步縮小識別範圍來提取最終的走路步數。

下面計一下我的方法:希望能對和我一樣,對數學已經忘記多年的朋友能有幫助,至於對演算法高手的就不要見笑了。

準備工作,為了能更好的分析走路的頻率,我自己寫了個監控,採集資料模組。見圖:

有了這個觀察工具之後,就可以進行必要的分析了。

1。利用重力感應的加速計進行資料採集,想必大家用過加速計的話,可以看到得到的資料向量值相對較小,變化也特別細,(x,y,z)。

2。對加速計的資料進行處理,當然我這也是使用目前傳統的做法,sqrt(x*x +y*y +z*z); 但我對這個資料進行了放大20倍進行觀察。

3。關鍵:這裡需要對採集到的資料進行觀察。見我的採集資料分析。

手拿iphone平放在手撐上,極力保持走路中平行不易受震動影響(主要是想在這種小震動能不能測出步數)見圖:

從圖中的藍色線可以看到幾乎是比較平整的線形分布。

再來看將手機放在上衣口袋裡時採集到資料進行分析:

資料中這裡是兩步,有明顯的步調波動。

下面再來看一下放在褲代里產生的步調頻率,如圖:

其中波峰較大的(藍色),是有手機在代的腳的落腳點,右這的哪個小波峰是沒有手機的落腳點。可見在行走過程中會產生這樣乙個週期性的變化。

4。現在分析出資料圖樣之後,乙個問題就是如何從這些不規測的資料中提正確提取出步調。

因此這裡會用到濾波,大家可以從圖中看到紅色線條部分,就是我進行濾波之後得出的圖樣,我把所有波峰慮為高訊號輸入,波谷濾為低訊號輸入

因此經濾波後就可以看到一高一低的訊號,但訊號中還是有波雜波,(什麼意思呢?)就是因濾波之後,原來多個連續波峰有可能被變為一高一低的連續頻率。

因此在這裡需要檢測出步調產生的連續波峰。這也是比較難提取的地方了。通常說波峰對於尖角波峰波從可以利用  data[n-1] data[n+1]可以得到第n點是波峰,同樣波谷也可以用data[n-1]>data[n],data[n]幾圖:

5。進行步數提取,從上面的步驟後,可以看到經最後的濾波後有小小的雜波。哪現在就是要對這些雜波進行分析取樣,變為最終的符會人的走路週期。我這裡也沒有很好的演算法進行提取,只是利用連續的波峰時間差進行區分,如當前收到的為低訊號時,下乙個資料為高訊號,哪麼在這個變化點記錄下此時的低訊號時間點,同時記下高訊號的時間點。先看圖樣吧,光文字有點亂。

如何判斷為連續波峰(目的用於作為乙個步數大小進行計算。)如上圖,在第一步變化區時記錄下lowbegintime記為ls ,highbegintime記為hs,當第一次變化後,一直在高訊號區輸出,認為訊號源是沒有變化的,這時只需要重新整理高訊號的時間點即可,一直等到第二次變化區出現(由高訊號變為低訊號)這時需要及時記錄下變化時的高訊號時間點hs1, 和低訊號的時間點ls1,然後就是低訊號不變,一直輸入到第三次變化區,這時又會碰到乙個高訊號的時間點,hs2,得用hs2-hs1之間的時間差如果小於x閥值則認為是連續的。此時如果這兩個波峰被判斷為連線哪麼低訊號就需要被重新整理到ls2了。如果被判斷不為連續,哪麼此時ls1-ls就是乙個步數所變化時間t,如果t在人的頻率範圍,哪麼就可以作為一步計算了。這個判斷方法的好處在於可以將人為的不斷搖手機產生的頻率時,這裡不會作為步數計算。但如果手搖手機產生的震動頻率與人的步調差不多的情況下,還是會進行計算步數的,這是目前採用加速 計不可避免的誤計。

以上經本人親自己測試,以不同方式走路,除去啟動前的和結束時的噪波干擾,基本能正確算出走路的步數。

智慧型手機的時代

早餐的時候和同事聊起智慧型手機的發展,我們都覺得未來的手機世界非智慧型莫屬。一方面是人們的要求越來越高,以前能在電腦上享受的服務,現在也想在手機上體驗一把,而且說不定要求更高。另一方面,智慧型手機 和技術門檻的降低,也進一步帶動了這個市場。如果同樣的價錢可以買一部智慧型手機,那feature pho...

基於WIFI和android的智慧型手機開門設計

一 概述 android 安卓 是一種以linux為基礎的開源 作業系統,用於各種移動便攜裝置。其優點是擴充套件性強,應用程式豐富,現已發展到5.0版本。android的市場份額已躍居全球第一,為此基於安卓平台的各種應用也在迅速發展著。基於wifi和android的智慧型手機開門系統採用wifi轉串...

隱秘攻擊 惡意病毒可使智慧型手機加速老化

近日紐約大學研究人員發表了一篇 闡明 惡意病毒是如何加速智慧型手機老化的?惡意程式影響裝置硬體 在題為 magic 魔力 惡意老化電路 核心 的 中,來自紐約大學計算機研究小組的學者通過列舉了一連串方法,如晶元過載 故意降低效能以及留後門等對智慧型手機進行了悄無聲息的攻擊,結果顯示攻擊造成手機出現包...