宋 輝, 張 榮, 王忠民
(西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安,710121)
低功耗手機(jī)計(jì)步算法
宋輝, 張榮, 王忠民
(西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安,710121)
摘要:針對長時(shí)間運(yùn)行手機(jī)計(jì)步軟件對手機(jī)電量消耗較大的問題,提出一種低功耗手機(jī)計(jì)步算法。根據(jù)行走時(shí)手機(jī)三軸加速度數(shù)據(jù)變化呈現(xiàn)上下波動(dòng)的特點(diǎn),在加速度數(shù)據(jù)變化方向改變時(shí)記錄最高極值點(diǎn)和最低極值點(diǎn)數(shù)值,當(dāng)兩個(gè)極值點(diǎn)的幅度值大于幅度閾值時(shí)進(jìn)行計(jì)步。測試結(jié)果表明該算法總體平均計(jì)步準(zhǔn)確性可達(dá)97%,并且能夠從傳感器采樣功耗和CPU計(jì)算功耗兩方面降低計(jì)步過程的功耗。
關(guān)鍵詞:低功耗;計(jì)步算法;手機(jī)計(jì)步
計(jì)步器記錄每日行走步數(shù)對于監(jiān)測用戶日常行為和身體健康等方面有重要參考作用[1-3]。目前,常用的計(jì)步器有機(jī)械式計(jì)步器[4]、基于專用計(jì)步芯片的電子計(jì)步器[4]、智能運(yùn)動(dòng)手環(huán)[5],以及基于智能手機(jī)內(nèi)置傳感器的軟件計(jì)步器[6]。使用手機(jī)計(jì)步軟件進(jìn)行計(jì)步不需要攜帶額外的設(shè)備,可以實(shí)時(shí)直觀的顯示計(jì)步數(shù)據(jù),能夠?qū)τ?jì)步數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和管理,并且利用手機(jī)的通訊網(wǎng)絡(luò)將數(shù)據(jù)上傳至服務(wù)器進(jìn)行后臺(tái)處理。這些優(yōu)點(diǎn)使得手機(jī)計(jì)步器相對于其他計(jì)步器而言能為用戶提供更便捷的操作、更多的功能和更廣的應(yīng)用范圍。
目前,常用的手機(jī)計(jì)步算法有波峰波谷檢測法[7]、動(dòng)態(tài)閾值法[8]、自相關(guān)分析法能[9]、能量門限檢測法[10]4種,但都側(cè)重于如何提高計(jì)步準(zhǔn)確性,而對計(jì)步過程的功耗考慮較少。手機(jī)計(jì)步軟件計(jì)步過程中需要持續(xù)不斷的讀取手機(jī)內(nèi)置傳感器的數(shù)值并進(jìn)行若干步驟的計(jì)算來確定行走步數(shù),長時(shí)間運(yùn)行計(jì)步軟件對手機(jī)電量的消耗較大,對手機(jī)續(xù)航時(shí)間造成影響。目前,已有用于計(jì)步腕表的低功耗計(jì)步算法[11],本文擬提出一種用于手機(jī)計(jì)步的低功耗計(jì)步算法,不使用傳統(tǒng)的計(jì)算三軸合成加速度的方式進(jìn)行計(jì)步,僅根據(jù)單軸加速度方向變化的上下極值幅度來實(shí)現(xiàn)計(jì)步。
1低功耗計(jì)步算法
1.1算法原理
當(dāng)用戶攜帶手機(jī)行走時(shí),不論手機(jī)攜帶位置如何變化,所采集到的三軸加速度數(shù)值中總有一個(gè)軸的數(shù)值會(huì)呈現(xiàn)規(guī)律性的上下波動(dòng)。圖1和圖2為在兩個(gè)不同手機(jī)攜帶位置以50 Hz采樣頻率[7]采集到的三軸加速度數(shù)值波形圖??梢钥闯鰣D1中x軸加速度數(shù)值波動(dòng)性較明顯,y軸和z軸的波動(dòng)性不明顯;圖2中y軸的加速度數(shù)值波動(dòng)性較明顯,x軸和z軸的波動(dòng)性不明顯。
圖1 手機(jī)三軸加速度數(shù)值曲線1
圖2 手機(jī)三軸加速度數(shù)值曲線2
降低采樣頻率可以降低手機(jī)的功耗,但同時(shí)也會(huì)使采樣得到的加速度數(shù)據(jù)變?yōu)閳D1和圖2中波形曲線上若干離散的點(diǎn),不再具有完整的波形。為了在低頻采樣下實(shí)現(xiàn)準(zhǔn)確計(jì)步,將加速度數(shù)值從小變大部分的方向規(guī)定為上行方向,將加速度數(shù)值從大變小部分的方向規(guī)定為下行方向。當(dāng)加速度變化方向從上行變?yōu)橄滦胁⑶矣謴南滦凶優(yōu)樯闲袝r(shí),對應(yīng)著原來完整波形曲線中用戶行走一步時(shí)一個(gè)周期的波形,可基于此規(guī)律實(shí)現(xiàn)準(zhǔn)確計(jì)步。
用戶行走時(shí)一些非行走因素(如手機(jī)在手中的晃動(dòng)、在包里的滑動(dòng)等)會(huì)造成加速度數(shù)據(jù)的方向變化與正常行走的加速度數(shù)據(jù)方向變化相似,對計(jì)步準(zhǔn)確性造成影響。采用幅度閾值進(jìn)行判定可以消除這一干擾。當(dāng)加速度變化方向從上行變?yōu)橄滦袝r(shí)保存上極值點(diǎn)數(shù)值;當(dāng)加速度變化方向從下行變?yōu)樯闲袝r(shí)保存下極值點(diǎn)數(shù)值。兩極值點(diǎn)數(shù)值之差的絕對值大于等于預(yù)設(shè)的幅度閾值則判定用戶行走一步;絕對值小于預(yù)設(shè)的幅度閾值則認(rèn)為是非行走因素造成的加速度數(shù)據(jù)方向變化,不進(jìn)行計(jì)步。幅度閾值的大小由大量用戶行走的統(tǒng)計(jì)數(shù)據(jù)得到,并且可根據(jù)不同用戶的行走特點(diǎn)進(jìn)行調(diào)節(jié),以得到匹配該用戶行走特點(diǎn)的最佳幅度閾值。
1.2算法實(shí)現(xiàn)
基于上述算法原理,可通過4步手機(jī)計(jì)步程序?qū)崿F(xiàn)計(jì)步計(jì)算。
步驟1以5 Hz~15 Hz的低頻采樣頻率采集手機(jī)三軸加速度數(shù)據(jù)。
步驟2分別判斷三軸加速度數(shù)值方向變換情況,當(dāng)出現(xiàn)方向改變時(shí)記錄上極值點(diǎn)和下極值點(diǎn)的數(shù)值。
步驟3任何一軸的數(shù)值變化方向發(fā)生兩次改變并且兩極值之差的絕對值大于等于預(yù)設(shè)的初始幅度閾值時(shí)可判定用戶行走一步。初始幅度閾值為7 m/s2。
步驟4用戶可根據(jù)實(shí)際行走步數(shù)值和軟件計(jì)步值的差異調(diào)整幅度閾值的值,以實(shí)現(xiàn)針對該用戶行走特點(diǎn)的準(zhǔn)確計(jì)步。幅度閾值的調(diào)整范圍在5 m/s2~9 m/s2之間。
2算法驗(yàn)證及分析
基于Android平臺(tái)的手機(jī)計(jì)步軟件并進(jìn)行實(shí)驗(yàn)。Android平臺(tái)提供的API可以按照4種不同的采樣模式來采集加速度傳感器的數(shù)值[9],分別是FASTEST模式、GAME模式、UI模式、NORMAL模式。其中FASTEST模式和GAME模式為高采樣頻率模式;UI模式和NORMAL模式為低采樣模式。測試軟件支持按照UI模式和NORMAL模式兩種采樣模式進(jìn)行測試。
2.1計(jì)步準(zhǔn)確性驗(yàn)證
計(jì)步準(zhǔn)確性驗(yàn)證實(shí)驗(yàn)由12位測試者將計(jì)步軟件安裝在其日常使用的手機(jī)中進(jìn)行實(shí)測完成。測試者中有7名男性和5名女性,年齡分布從22歲到47歲,測試用手機(jī)的型號,加速度傳感器參數(shù),以及測試結(jié)果見表1。測試方法為測試者按照其日常習(xí)慣的方式攜帶手機(jī)行走1 000步記錄軟件的計(jì)步值,然后根據(jù)軟件的計(jì)步值與實(shí)際行走步數(shù)值之差調(diào)整幅度閾值的值,在經(jīng)過多次調(diào)整后最終得到能夠最準(zhǔn)確計(jì)步的最佳幅度閾值,并在此閾值下進(jìn)行計(jì)步測試得到最終的測試結(jié)果。計(jì)步軟件分別采用UI模式和NORMAL模式兩種采樣模式進(jìn)行測試,以對比兩種采樣模式下的計(jì)步準(zhǔn)確性。
表1 低功耗計(jì)步算法測試結(jié)果
從表1的計(jì)步測試結(jié)果中可以看出,當(dāng)按照UI模式進(jìn)行采樣計(jì)步時(shí),12個(gè)測試結(jié)果中計(jì)步準(zhǔn)確率最高為99.9%,最低為96.9%,平均準(zhǔn)確率為98.97%。當(dāng)按照NORMAL模式進(jìn)行采樣計(jì)步時(shí),12個(gè)測試結(jié)果中計(jì)步準(zhǔn)確率最高為99.8%,最低為95.7%,平均準(zhǔn)確率為97.71%。表2對比了4種傳統(tǒng)計(jì)步算法與低功耗計(jì)步算法的平均計(jì)步準(zhǔn)確率。
表2 不同計(jì)步算法的計(jì)步準(zhǔn)確率比較
可以看出低功耗計(jì)步算法的計(jì)步準(zhǔn)確率優(yōu)于能量門限檢測法,與其他3種算法的計(jì)步準(zhǔn)確率基本相當(dāng),證明了低功耗計(jì)步算法具有良好的計(jì)步準(zhǔn)確性。
2.2手機(jī)電量消耗驗(yàn)證
計(jì)步軟件運(yùn)行過程中對手機(jī)電量的消耗主要包括兩個(gè)方面:傳感器采樣功耗和手機(jī)CPU計(jì)算功耗。其中傳感器采樣功耗受傳感器采樣頻率影響較大。使用HTC S510b Android手機(jī)進(jìn)行實(shí)驗(yàn),分別按照上述4種不同的采樣模式采集加速度傳感器數(shù)據(jù)5 h,記錄手機(jī)在4種采樣模式下的實(shí)際采樣頻率和手機(jī)電池電量降低的百分比數(shù)值,得到的結(jié)果如表3所示。
表3 不同采樣模式對應(yīng)的采樣頻率及電量消耗
從表3中可以看出在不同采用模式下隨著采樣頻率的降低,電量消耗也隨之降低。傳統(tǒng)計(jì)步算法的最低采樣頻率是50 Hz,而本算法在UI模式或NORMAL模式兩種低頻率采樣模式下以小于15 Hz的頻率進(jìn)行采樣,因而能夠有效降低采樣過程中的功耗,并且仍然可以獲得與傳統(tǒng)算法相比擬的計(jì)步準(zhǔn)確性。
另一方面,計(jì)步算法的復(fù)雜程度和計(jì)算量大小決定了CPU運(yùn)行算法的時(shí)間長度,也會(huì)對手機(jī)電量消耗的多少產(chǎn)生影響。由于手機(jī)計(jì)步軟件中除了計(jì)步算法的計(jì)算量之外,還包括了界面控制、數(shù)據(jù)管理、網(wǎng)絡(luò)連接等其他部分的計(jì)算量,所以無法單獨(dú)對計(jì)步軟件中計(jì)步算法的計(jì)算過程所占用CPU時(shí)間進(jìn)行監(jiān)測,因而無法定量考察計(jì)步算法的功耗大小,只能從其算法原理和算法的主要計(jì)算量進(jìn)行分析。表4對4種傳統(tǒng)計(jì)步算法和低功耗計(jì)步算法的采樣頻率、算法原理和主要計(jì)算量進(jìn)行了對比。
表4 4種傳統(tǒng)計(jì)步算法與本文算法的對比
從表4的對比中可以看出,傳統(tǒng)算法進(jìn)行計(jì)步時(shí)都需要經(jīng)過至少3個(gè)步驟的計(jì)算,并且所需的采樣頻率較高。低功耗計(jì)步算法的計(jì)步準(zhǔn)確性與其他算法相當(dāng),但是本算法的采樣頻率明顯低于其他算法,并且在計(jì)步計(jì)算中不需要計(jì)算合成加速度、不需要進(jìn)行濾波等計(jì)算,算法過程簡單、計(jì)算量很小,可以有效降低CPU計(jì)算功耗。
3結(jié)束語
基于手機(jī)加速度數(shù)值方向變化幅度進(jìn)行計(jì)步的低功耗計(jì)步算法,在加速度數(shù)值方向變化時(shí)記錄上、下極值點(diǎn)數(shù)值,當(dāng)變化方向發(fā)生兩次改變且兩極值之差的絕對值大于預(yù)設(shè)幅度閾值時(shí)判定用戶行走一步。實(shí)驗(yàn)結(jié)果表明該算法在小于15 Hz的低頻采樣下進(jìn)行計(jì)步計(jì)算的準(zhǔn)確率可達(dá)97%,在保證計(jì)步準(zhǔn)確性的同時(shí)能夠從傳感器采樣功耗和CPU計(jì)算功耗兩方面降低長時(shí)間運(yùn)行計(jì)步軟件時(shí)手機(jī)電量的消耗。
參考文獻(xiàn)
[1]王忠民,屈肅. 一種極速學(xué)習(xí)機(jī)人體行為識別模型遷移方法[J]. 西安郵電大學(xué)學(xué)報(bào),2015,20(1):49-53.DOI:10.13682/j.issn.2095-6533.2015.01.010.
[2]管培培. 三維加速度計(jì)估算不同步速能量消耗應(yīng)用初探[D]. 南京: 南京體育學(xué)院, 2012:3-6.
[3]衡霞,王忠民. 基于手機(jī)加速度傳感器的人體行為識別[J]. 西安郵電大學(xué)學(xué)報(bào),2014,19(6):76-79.DOI:10.13682/j.issn.2095-6533.2014.06.015.
[4]謝如花. 步數(shù)檢測方法及在手腕式計(jì)步器中的應(yīng)用研究[D]. 蘭州: 蘭州交通大學(xué), 2013:1-3.
[5]劉進(jìn)磊. 基于Android的典型人體運(yùn)動(dòng)識別算法與應(yīng)用研究[D]. 廣州: 廣東工業(yè)大學(xué), 2014:48-49.
[6]尹邦杰,黃曉瑩. 淺析Android手機(jī)傳感器機(jī)制及應(yīng)用設(shè)計(jì)舉例[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2013, 16(5):148-150.
[7]韓文正,馮迪,李鵬,等. 基于加速度傳感器LIS3DH 的計(jì)步器設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,31(11):97-99.
[8]ZHAO N.Full-Featured Pedometer Design Realized with 3-Axis Digital Accelerometer[J].AnalogJ Dialogue,2010,44(6): 1-5.
[9]陳國良,張言哲,楊洲. 一種基于手機(jī)傳感器自相關(guān)分析的計(jì)步器實(shí)現(xiàn)方法[J].中國慣性技術(shù)學(xué)報(bào),2014,22(6):794-798.DOI:10.13695/j.cnki.12-1222/03.2014.06.017.
[10]黃斌,吳昕慧. 基于MATLAB計(jì)步器算法研究[J]. 系統(tǒng)仿真技術(shù),2011,7(2),152-155.
[11]李越,黃凱,張曉濛,等. 基于加速度傳感器的無按鍵計(jì)步腕表低功耗算法[J]. 傳感器與微系統(tǒng),2015,34(3):144-147.DOI:10.13873/j.1000-9787(2015)03-0144-04.
[責(zé)任編輯:祝劍]
Low power consumption pedometer algorithm for mobile phones
SONG Hui,ZHANG Rong,WANG Zhongmin
(School of Computer Science and Technology, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
Abstract:To reduce the energy consumption while running pedometer software for a long period of time, an low power consumption pedometer algorithm is proposed. Based on the fact that the directions of three-axis acceleration data changes as a wave while walking, the maximum point and the minimum point when the direction changes can be checked and recorded by this algorithm. When the range difference between the maximum point and the minimum point exceeds the threshold value, one count takes place. Testing results show that the total average accuracy of this pedometer algorithm can reach to 97%, and energy consumption can be reduced in both sampling process of accelerometer and execution process of CPU.
Keywords:low power consumption, pedometer algorithm, mobile phone pedometer
doi:10.13682/j.issn.2095-6533.2016.01.022
收稿日期:2015-07-08
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61373116);陜西省教育廳產(chǎn)業(yè)化培育資助項(xiàng)目(2012JC22);西安郵電大學(xué)青年教師科研基金資助項(xiàng)目(ZL2014-29)
作者簡介:宋輝(1979-),男,碩士,講師,從事移動(dòng)計(jì)算,智能信息處理研究。E-mail:songhui@xupt.edu.cn 張榮(1975-),男,碩士,講師,從事移動(dòng)計(jì)算,智能信息處理研究。E-mail:zhangr@xupt.edu.cn
中圖分類號:TP391.4
文獻(xiàn)標(biāo)識碼:A
文章編號:2095-6533(2016)01-0106-04