国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于加速度傳感器的無按鍵計(jì)步腕表低功耗算法

2015-03-26 08:00張曉濛毛東杰葛海通嚴(yán)曉浪
傳感器與微系統(tǒng) 2015年3期
關(guān)鍵詞:計(jì)步步數(shù)功耗

李 越,黃 凱,張曉濛,毛東杰,葛海通,嚴(yán)曉浪

(1.浙江大學(xué) 超大規(guī)模集成電路研究所,浙江 杭州310027;2.杭州中天微系統(tǒng)有限公司,浙江 杭州310027)

0 引 言

計(jì)步腕表是一種內(nèi)含加速度傳感器,并通過低功耗藍(lán)牙技術(shù)和手機(jī)同步使用的熱門戶外設(shè)備。相比于市面上流行的按鍵計(jì)步腕表,無按鍵計(jì)步腕表能提供良好的用戶體驗(yàn)和極佳的防水性。

無按鍵計(jì)步腕表的控制和計(jì)步的核心算法均基于加速度傳感器實(shí)現(xiàn),但現(xiàn)有的算法中存在一定的功耗問題。對(duì)于其控制功能,目前多使用ADI 公司提出的一種敲擊算法[1]來實(shí)現(xiàn)按鍵的功能:微處理器通過加速度傳感器不斷讀取X,Y,Z 三軸加速度并不斷做敲擊算法檢測(cè),但其長(zhǎng)時(shí)間的工作會(huì)帶來大量的能量消耗。對(duì)于其計(jì)步功能,現(xiàn)有的計(jì)步算法利用加速度傳感器采集的運(yùn)動(dòng)數(shù)據(jù)采用動(dòng)態(tài)閾值法或峰值檢測(cè)法等進(jìn)行計(jì)步判定,但為了保證最高運(yùn)動(dòng)速度時(shí)計(jì)步的精確性,對(duì)于速度不同的運(yùn)動(dòng)狀態(tài)統(tǒng)一采用高采樣率,增加了系統(tǒng)功耗。

針對(duì)以上問題,本文對(duì)無按鍵計(jì)步腕表的核心算法進(jìn)行低功耗優(yōu)化。在控制方面,文中提出了預(yù)測(cè)敲擊檢測(cè)算法以降低復(fù)雜的敲擊算法調(diào)用頻率;在計(jì)步算法方面,文中提出了自適應(yīng)計(jì)步算法以根據(jù)運(yùn)動(dòng)速度調(diào)整加速度采樣率。通過兩者結(jié)合,在保證精度和用戶體驗(yàn)的情況下,減少微處理器的運(yùn)算量,降低系統(tǒng)功耗。

1 計(jì)步腕表核心算法優(yōu)化

1.1 預(yù)測(cè)敲擊檢測(cè)算法

敲擊算法通常包括信號(hào)調(diào)理和敲擊狀態(tài)機(jī)檢測(cè)兩個(gè)步驟。首先將三軸加速度作信號(hào)調(diào)理,將得到的結(jié)果作為檢測(cè)狀態(tài)機(jī)的輸入Din并與設(shè)定的閾值進(jìn)行比較來確定敲擊狀態(tài)機(jī)位于初始狀態(tài)區(qū)、峰值檢測(cè)區(qū)還是單擊確認(rèn)區(qū)(如圖1所示)。

圖1 敲擊檢測(cè)Din變化曲線Fig 1 Tapping detection Din change curve

以上算法雖然能夠準(zhǔn)確檢測(cè)敲擊,但是其頻繁使用會(huì)帶來較多功耗。本文在其基礎(chǔ)之上進(jìn)行優(yōu)化,提出了預(yù)測(cè)敲擊算法。

1)預(yù)測(cè)敲擊算法原理

根據(jù)人們敲擊的行為可以觀察到,人們?cè)陂_始敲擊時(shí)普遍存在一個(gè)抬臂的前置動(dòng)作,而這個(gè)動(dòng)作比敲擊緩慢,檢測(cè)時(shí)所需的采樣點(diǎn)更少。因此,整個(gè)敲擊檢測(cè)算法可以通過加入對(duì)抬臂的檢測(cè)來進(jìn)行優(yōu)化,即以持續(xù)的低復(fù)雜度抬臂檢測(cè)代替持續(xù)的高復(fù)雜度敲擊檢測(cè),只有當(dāng)檢測(cè)到抬臂動(dòng)作后才繼續(xù)進(jìn)行敲擊檢測(cè)和降臂檢測(cè)。

預(yù)測(cè)敲擊檢測(cè)算法工作狀態(tài)示意圖如圖2 所示:系統(tǒng)會(huì)周期性的進(jìn)行檢測(cè)計(jì)算,待機(jī)時(shí)計(jì)步腕表一直處于抬臂檢測(cè)狀態(tài),如圖中A 點(diǎn)之前和C 點(diǎn)之后所示。當(dāng)檢測(cè)到抬臂動(dòng)作(A 點(diǎn))時(shí),腕表在下一周期進(jìn)入敲擊檢測(cè)和降臂檢測(cè)狀態(tài),此后若N1個(gè)周期都未檢測(cè)到敲擊即n1>N1時(shí),則回到抬臂檢測(cè)狀態(tài);若N1個(gè)周期內(nèi)檢測(cè)到敲擊動(dòng)作(B點(diǎn)),則微處理器對(duì)敲擊事件進(jìn)行相應(yīng)的處理,并在接下來的N2個(gè)周期中持續(xù)進(jìn)行敲擊檢測(cè)和降臂檢測(cè),若在N2個(gè)周期中檢測(cè)到降臂動(dòng)作(C 點(diǎn))或N2個(gè)周期已經(jīng)結(jié)束仍未檢測(cè)到降臂動(dòng)作,腕表重新回到抬臂檢測(cè)狀態(tài)。

圖2 預(yù)測(cè)敲擊算法工作原理示意圖Fig 2 Working principle diagram of prediction tapping algorithm

2)預(yù)測(cè)敲擊算法具體實(shí)現(xiàn)

由上一節(jié)的描述可知,預(yù)測(cè)敲擊算法中主要包括抬臂檢測(cè)、敲擊檢測(cè)、降臂檢測(cè)三個(gè)過程。其中敲擊檢測(cè)仍采用ADI 的敲擊檢測(cè)算法實(shí)現(xiàn),下面主要介紹抬臂和降臂檢測(cè)的具體實(shí)現(xiàn)。

抬臂和降臂過程如圖3 所示。由圖可見,兩者為互逆過程:抬臂時(shí),Z 軸加速度從垂直逐漸變化到水平;降臂時(shí),Z 軸加速度從水平逐漸變化到垂直。

圖3 抬臂和降臂Z 軸加速度變化曲線Fig 3 Z-axis acceleration change curve of raising and dropping arm

根據(jù)這兩個(gè)物理過程,抬臂(降臂)檢測(cè)狀態(tài)機(jī)可以分成初始和確認(rèn)兩種狀態(tài):

1)初始狀態(tài):取平滑濾波后的Z 軸數(shù)據(jù)作為狀態(tài)機(jī)的輸入,如果輸入數(shù)據(jù)大于水平閾值T水平max,且在水平區(qū)間內(nèi)持續(xù)保持采樣點(diǎn)數(shù)目大于N水平,則進(jìn)入抬臂確認(rèn)狀態(tài);如果輸入數(shù)據(jù)小于垂直閾值T垂直min,且在垂直區(qū)間內(nèi)持續(xù)保持采樣點(diǎn)數(shù)目大于N垂直,則進(jìn)入降臂確認(rèn)狀態(tài)。

2)確認(rèn)狀態(tài):進(jìn)行抬臂確認(rèn)時(shí),如果垂直區(qū)間持續(xù)保持采樣點(diǎn)數(shù)目大于N垂直,則認(rèn)為檢測(cè)到一個(gè)抬臂過程;進(jìn)行降臂確認(rèn)時(shí),如果水平區(qū)間持續(xù)保持采樣點(diǎn)數(shù)目大于N水平,則認(rèn)為檢測(cè)到一個(gè)降臂過程;否則,回到初始狀態(tài)。

1.2 自適應(yīng)計(jì)步算法

本文在常規(guī)計(jì)步算法的基礎(chǔ)上提出了根據(jù)運(yùn)動(dòng)狀態(tài)(跑步、走路或靜止等)自適應(yīng)地調(diào)節(jié)加速度傳感器采樣率的改進(jìn)算法。算法中采用運(yùn)動(dòng)預(yù)判的方法進(jìn)行動(dòng)態(tài)采樣率調(diào)整:對(duì)于跑步這種高速運(yùn)動(dòng)的狀態(tài),采用高采樣率以保證計(jì)步的精度;對(duì)于慢走或者靜止這種低速運(yùn)動(dòng)狀態(tài),采用低采樣率以減少不必要的運(yùn)算量,以減少功耗。

自適應(yīng)計(jì)步算法整體流程圖如圖4。

整個(gè)算法包括信號(hào)預(yù)處理、步數(shù)檢測(cè)和運(yùn)動(dòng)預(yù)判三個(gè)步驟:

1)信號(hào)預(yù)處理

對(duì)于手腕應(yīng)用來說,運(yùn)動(dòng)中手腕不停的翻轉(zhuǎn),加速度有效軸可能不停的變換。因此,本算法中采用了三軸合一的方法來確定加速度[2],以提高計(jì)步的準(zhǔn)確性,其公式如下

圖4 自適應(yīng)計(jì)步算法整體流程圖Fig 4 Overall flow chart of self-adaptive pedometer algorithm

然后,采用加權(quán)平滑濾波的方法去除隨機(jī)干擾。平滑濾波相對(duì)其他濾波具有平滑度高,計(jì)算簡(jiǎn)單,耗費(fèi)資源少,在時(shí)間上對(duì)整個(gè)系統(tǒng)運(yùn)行影響小的優(yōu)點(diǎn),其公式如下

經(jīng)過預(yù)處理之后的波形可以體現(xiàn)出較好的正弦波特性,在此基礎(chǔ)之上可以通過檢測(cè)正弦波的個(gè)數(shù)對(duì)步數(shù)進(jìn)行判斷。

2)步數(shù)檢測(cè)

本算法中使用動(dòng)態(tài)閾值方法[3]來檢測(cè)步數(shù)。由于手臂向前擺動(dòng)時(shí)加速度變化比較大,而向后擺動(dòng)時(shí)加速度變化比較小,故預(yù)處理之后的波形是(如圖5)波峰一大一小的正弦波。

圖5 計(jì)步信號(hào)預(yù)處理后波形Fig 5 Step signal waveform after pretreatment

在這種情況下,簡(jiǎn)單地取加速度的最大值和最小值平均值作為閾值會(huì)影響計(jì)步的精度,因此,本算法中的閾值需要在求得的平均值基礎(chǔ)上再乘以一個(gè)大于1 的系數(shù)K,公式如下

這樣就使得閾值能夠高于所有小波峰,最終通過檢測(cè)一段時(shí)間內(nèi)大波峰個(gè)數(shù)乘以2 得到當(dāng)前時(shí)間的計(jì)步結(jié)果。

3)運(yùn)動(dòng)預(yù)判

運(yùn)動(dòng)預(yù)判即根據(jù)當(dāng)前計(jì)步周期的運(yùn)動(dòng)狀態(tài)來判斷下一計(jì)步周期內(nèi)的運(yùn)動(dòng)狀態(tài),動(dòng)態(tài)地調(diào)整采樣率。

本計(jì)步算法以2 s 作為一個(gè)計(jì)步周期,每2 s會(huì)更新一次采樣率。初始化時(shí)采用50 Hz 的采樣率來計(jì)步,即采樣點(diǎn)數(shù)達(dá)到100 即計(jì)算一次步數(shù)。由圖5 所示,當(dāng)檢測(cè)到2 s內(nèi)的步數(shù)小于預(yù)設(shè)的步數(shù)閾值時(shí),則認(rèn)為當(dāng)前為低速狀態(tài),將下一個(gè)計(jì)步周期的運(yùn)動(dòng)預(yù)判為低速狀態(tài),下一次計(jì)步周期的加速度采樣率設(shè)置為25 Hz,即2 s 內(nèi)采樣點(diǎn)數(shù)達(dá)到50 即計(jì)算一次步數(shù),以減少運(yùn)算量;當(dāng)檢測(cè)到2 s 內(nèi)步數(shù)大于等于預(yù)設(shè)的步數(shù)閾值時(shí),則認(rèn)為當(dāng)前為高速狀態(tài),因此,將下一個(gè)計(jì)步周期預(yù)判為高速運(yùn)動(dòng)狀態(tài),其采樣率設(shè)置為50 Hz。如此循環(huán)往復(fù),不斷根據(jù)用戶的運(yùn)動(dòng)狀態(tài)進(jìn)行運(yùn)動(dòng)預(yù)判,進(jìn)而實(shí)現(xiàn)自適應(yīng)的采樣率調(diào)整,以達(dá)到降低功耗的目的。

2 實(shí)驗(yàn)與實(shí)現(xiàn)

2.1 系統(tǒng)實(shí)現(xiàn)

為了驗(yàn)證本文中所提出的算法的正確性和高效性,將該算法應(yīng)用于一個(gè)由智能手機(jī)和計(jì)步腕表組成的系統(tǒng),如圖6 所示。

圖6 系統(tǒng)架構(gòu)圖Fig 6 System architecture diagram

計(jì)步腕表的硬件由具有超低功耗的TI CC2541 SoC[4],ADI ADXL263 G-Sensor[5],AW9523B GPIO 管理芯片和LED組成。在工作時(shí),計(jì)步腕表通過加速度傳感器采集三軸加速度,并經(jīng)過計(jì)步算法處理得到運(yùn)動(dòng)數(shù)據(jù),通過低功耗藍(lán)牙(BLE)通信方式傳輸給手機(jī),手機(jī)將接收到的數(shù)據(jù)進(jìn)行處理整合并顯示。同時(shí),用戶可以通過敲擊檢測(cè)對(duì)腕表的計(jì)步和顯示進(jìn)行控制。

2.2 實(shí)驗(yàn)結(jié)果與分析

2.2.1 預(yù)測(cè)敲擊算法功耗測(cè)試

無論是ADI 的敲擊檢測(cè)算法還是預(yù)測(cè)敲擊算法都是周期性(本實(shí)驗(yàn)中都采用250 ms 作為一個(gè)檢測(cè)周期)進(jìn)行的,而在一個(gè)檢測(cè)周期中處理器僅有工作和睡眠兩種工作模式,所以,一個(gè)檢測(cè)周期內(nèi)工作時(shí)間的長(zhǎng)短能夠直接反映功耗的高低。檢測(cè)結(jié)果如表1 所示。

對(duì)于ADI 的敲擊檢測(cè)算法,微處理器在每個(gè)檢測(cè)周期完成的工作是讀取數(shù)據(jù)并進(jìn)行敲擊檢測(cè)。從表1 可以看到每個(gè)檢測(cè)周期微處理器的工作時(shí)間為8.32 ms,其余為低功耗睡眠時(shí)間。

對(duì)于預(yù)測(cè)敲擊檢測(cè)算法,在一個(gè)檢測(cè)周期中可能有以下兩種工作狀態(tài)之一:1)多數(shù)情況下,都是讀取加速度并進(jìn)行抬臂檢測(cè);2)在檢測(cè)到抬臂之后,檢測(cè)周期完成的工作是讀取加速度再進(jìn)行敲擊和降臂檢測(cè)。如表1 所示,這兩種狀態(tài)下的工作時(shí)間分別為5.06,9.14 ms,其余為睡眠時(shí)間。

表1 二種敲擊算法耗時(shí)情況Tab 1 Time consuming of two tapping algorithms

通過與圖2 相對(duì)應(yīng)可以看出:大多數(shù)情況下微處理器都處于a 狀態(tài)中,只有少數(shù)情況處于b 狀態(tài)中,使用抬臂檢測(cè)所節(jié)省的時(shí)間遠(yuǎn)大于加入降臂檢測(cè)而增加的時(shí)間。因此,采用預(yù)測(cè)敲擊檢測(cè)可以大大減少微處理器的工作時(shí)間和系統(tǒng)功耗。另外,實(shí)驗(yàn)還通過測(cè)試平均電流來更直觀地體現(xiàn)功耗的變化,如表2 所示。

表2 二種敲擊算法電流測(cè)試結(jié)果Tab 2 Currents test result of two tapping algorithms

由表2 可見,腕表在使用預(yù)測(cè)敲擊算法后電流降低1/3左右。這進(jìn)一步證明了相比ADI 的敲擊算法,預(yù)測(cè)敲擊算法能夠有效降低系統(tǒng)功耗。

2.2.2 自適應(yīng)計(jì)步算法功耗和準(zhǔn)確度測(cè)試

本實(shí)驗(yàn)中,對(duì)于跑步狀態(tài),加速度采樣周期為20 ms;對(duì)于走路或者靜止?fàn)顟B(tài),加速度采樣周期為40 ms。

如表3 所示,當(dāng)采樣周期為20 ms 時(shí),每2 s 內(nèi)計(jì)步算法耗時(shí)為5.92 ms;而當(dāng)采樣周期為40 ms 時(shí),每2 s 內(nèi)計(jì)步算法耗時(shí)為3.76 ms。相對(duì)于固定采樣率計(jì)步算法,即各個(gè)2 s內(nèi)都耗時(shí)5.92 ms 的計(jì)步算法,本文提出的自適應(yīng)計(jì)步算法可以動(dòng)態(tài)改變采樣率,有效地減少微處理器的工作時(shí)間以降低功耗。

表3 不同采樣率下計(jì)步算法耗時(shí)情況Tab 3 Time consuming of pedometer algorithm under different sampling rates

在降低功耗的同時(shí),實(shí)驗(yàn)中采集了多人多組走路和跑步時(shí)的計(jì)步數(shù)據(jù),來測(cè)試該計(jì)步算法的準(zhǔn)確度,如表4 與表5所示。

表4 走路狀態(tài)計(jì)步檢測(cè)Tab 4 Pedometer test result of walking state

表5 跑步狀態(tài)計(jì)步檢測(cè)Tab 5 Pedometer test result of running state

由表4 可見,計(jì)步總體精度達(dá)到了95%以上,由此可見該計(jì)步算法在不同狀態(tài)和不同測(cè)試人員身上測(cè)試都達(dá)到了較好的精度,滿足準(zhǔn)確計(jì)步的要求。

3 結(jié) 論

本文針對(duì)基于加速度傳感器的無按鍵計(jì)步腕表提出了低功耗優(yōu)化技術(shù),通過預(yù)測(cè)敲擊算法與自適應(yīng)計(jì)步算法對(duì)腕表的核心算法進(jìn)行改進(jìn)以減少處理器運(yùn)算時(shí)間,從而在保證用戶體驗(yàn)和計(jì)步精度的情況下顯著降低了系統(tǒng)功耗。

[1] Carlos Millan Navarro.ADXL362 tapping algorithm[EB/OL].[2013—06—15].http:∥www.analog.com.

[2] 謝如花.步數(shù)檢測(cè)方法及在手腕式計(jì)步器中的應(yīng)用研究[D].蘭州:蘭州交通大學(xué),2013:13-15.

[3] Zhao N.Full-featured pedometer design realized with 3-axis digital accelerometer[J].Analog Dialogue,2011,6:1-5.

[4] Texas Instruments Inc.CC2541 Datasheet[EB/OL].[2013—06—11].http:∥www.ti.com.

[5] Analog Devices Inc.ADXL362 Datasheet[EB/OL].[2012—09—13].http:∥www.analog.com.

猜你喜歡
計(jì)步步數(shù)功耗
基于任務(wù)映射的暗硅芯片功耗預(yù)算方法
楚國(guó)的探索之旅
“步數(shù)”的背后
基于G-senor和步頻的運(yùn)動(dòng)強(qiáng)度分析系統(tǒng)設(shè)計(jì)
移動(dòng)手環(huán)的設(shè)計(jì)與實(shí)現(xiàn)
微信運(yùn)動(dòng)步數(shù)識(shí)人指南
國(guó)人運(yùn)動(dòng)偏愛健走
揭開GPU功耗的面紗
數(shù)字電路功耗的分析及優(yōu)化
一種面向星載計(jì)算機(jī)的功能級(jí)功耗估計(jì)方法
平乐县| 霍城县| 吉首市| 樟树市| 黄梅县| 上蔡县| 东阳市| 青铜峡市| 泸西县| 平湖市| 阿城市| 郎溪县| 西藏| 扶余县| 万宁市| 灵寿县| 景德镇市| 吐鲁番市| 凌源市| 海盐县| 黔江区| 辽源市| 漠河县| 咸丰县| 瑞金市| 荆门市| 清丰县| 信阳市| 南丰县| 沁水县| 葫芦岛市| 额尔古纳市| 阿巴嘎旗| 庆城县| 衡东县| 星座| 邹平县| 紫阳县| 比如县| 彩票| 红桥区|