晏 勇,雷 航,周相兵,梁 潘
(1.阿壩師范學(xué)院物理與電子科學(xué)系,四川 汶川 623002;2.電子科技大學(xué)信息與軟件工程學(xué)院,四川 成都 610054;3.阿壩師范學(xué)院網(wǎng)絡(luò)管理中心,四川 汶川 623002)
?
基于三軸加速度傳感器的自適應(yīng)計(jì)步器的實(shí)現(xiàn)
晏勇1,雷航2,周相兵3,梁潘1
(1.阿壩師范學(xué)院物理與電子科學(xué)系,四川 汶川 623002;2.電子科技大學(xué)信息與軟件工程學(xué)院,四川 成都 610054;3.阿壩師范學(xué)院網(wǎng)絡(luò)管理中心,四川 汶川 623002)
分析人體行走的特點(diǎn),設(shè)計(jì)了一種基于數(shù)字三軸加速度傳感器與FPGA嵌入式處理器的自適應(yīng)計(jì)步器.該系統(tǒng)包括步態(tài)信號(hào)采集、處理、顯示、電源4個(gè)部分,利用步態(tài)信號(hào)周期性與單調(diào)性對(duì)其計(jì)數(shù).數(shù)字三軸加速度傳感器MMA8451采集步態(tài)信號(hào),Stratix 10采用LMS自適應(yīng)濾波算法對(duì)傳感器輸出數(shù)字步態(tài)信號(hào)進(jìn)行平滑濾波與降噪處理,TFT液晶顯示器顯示當(dāng)前行走步數(shù).實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)工作穩(wěn)定、輸出數(shù)據(jù)精度高,計(jì)數(shù)結(jié)果與人體運(yùn)動(dòng)狀態(tài)、環(huán)境等因素?zé)o關(guān),能精確完成人體行走步態(tài)信號(hào)采集與計(jì)數(shù).
三軸加速度傳感器;嵌入式處理器;計(jì)步器;自適應(yīng);濾波
隨著日常生活質(zhì)量的不斷提高,人們更加注重加強(qiáng)體育鍛煉.而計(jì)步器作為日常運(yùn)動(dòng)監(jiān)控記錄儀器,直接反應(yīng)某段時(shí)間行走步數(shù)與距離,實(shí)時(shí)監(jiān)控人體運(yùn)動(dòng)量和健康狀況.
目前計(jì)步器主要有機(jī)械式與電子式.機(jī)械式計(jì)步器利用人體運(yùn)動(dòng)過(guò)程中產(chǎn)生的震動(dòng)信號(hào)帶動(dòng)內(nèi)部彈簧片或小球運(yùn)動(dòng),觸發(fā)機(jī)械開(kāi)關(guān)產(chǎn)生電子脈沖計(jì)數(shù).機(jī)械式計(jì)步器組成簡(jiǎn)單、成本低、體積大、計(jì)步精度與靈敏度低,誤差較大;電子式計(jì)步器采用GPS信號(hào)測(cè)量人體移動(dòng)距離,設(shè)置每步平均移動(dòng)距離,間接計(jì)步,GPS計(jì)步器對(duì)環(huán)境要求高、誤差較大,沒(méi)有GPS信號(hào)環(huán)境無(wú)法實(shí)現(xiàn)計(jì)步[1].
本文采用基于微電機(jī)系統(tǒng)MEMS技術(shù)的數(shù)字三軸加速度傳感器,采集人體行走過(guò)程中產(chǎn)生的加速度信號(hào),利用人體行走的周期性與單調(diào)性,通過(guò)自適應(yīng)濾波算法對(duì)傳感器輸出數(shù)字信號(hào)進(jìn)行平滑濾波與降噪處理,計(jì)算行走步數(shù),實(shí)現(xiàn)精確計(jì)步.基于三軸加速度傳感器的計(jì)步器體積小、功耗低、計(jì)步精確、靈敏度高,可以廣泛用于日常生活中.
圖1 人體行走模型
人體行走過(guò)程中姿態(tài)不同,行走時(shí)手部、腰部、腿部等部位均有相應(yīng)運(yùn)動(dòng),使人體產(chǎn)生不同的加速度、速度、步長(zhǎng)、頻率等信號(hào)[2].人體行走加速度方向包括水平X軸方向、垂直Y軸方向、上下Z軸方向[3],人體行走模型見(jiàn)圖1.從圖1看出,人體行走過(guò)程X軸、Y軸加速度基本不變,Z軸加速度呈周期變化,向上抬腿最高處加速度最大,加速度單調(diào)遞增;向下接觸地面加速度為0,加速度單調(diào)遞減[4].通常人體步行頻率范圍為0.2~5 Hz,典型頻率為2 Hz,F(xiàn)IR與IIR固定頻率濾波器無(wú)法實(shí)現(xiàn)數(shù)字步態(tài)信號(hào)的最優(yōu)濾波,采用自適應(yīng)濾波器進(jìn)行平滑濾波與降噪處理,提高系統(tǒng)的響應(yīng)速度與精度[5].
2.1算法原理
圖2 自適應(yīng)濾波器原理框圖
不同年齡、性別、職業(yè)的行人,步行速度與頻率也不同,為減小步態(tài)信號(hào)采集誤差,計(jì)步器采用自適應(yīng)濾波算法優(yōu)化步態(tài)信號(hào)[6].自適應(yīng)濾波器是一種典型的閉環(huán)控制系統(tǒng),從輸出端提取噪聲信號(hào)反饋回輸入端抵消輸出噪聲,它包含硬件濾波器與自適應(yīng)算法兩部分[7],自適應(yīng)濾波器原理見(jiàn)圖2.圖2中:x(n)為第n時(shí)刻輸入信號(hào);y(n)為第n時(shí)刻開(kāi)環(huán)輸出信號(hào);d(n)為第n時(shí)刻閉環(huán)期望輸出信號(hào);e(n)為第n時(shí)刻噪聲信號(hào),在最優(yōu)準(zhǔn)則下使輸出噪聲無(wú)限逼近輸入隨機(jī)噪聲.自適應(yīng)濾波器濾波參數(shù)受噪聲信號(hào)e(n)控制,根據(jù)e(n)=y(n)-d(n) 自動(dòng)調(diào)整,抵消隨機(jī)噪聲,滿足下一時(shí)刻輸入x(n+1),使d(n+1)更加接近于期望輸出信號(hào),實(shí)現(xiàn)自適應(yīng)濾波,得到最優(yōu)濾波性能.[8-9]
2.2LMS算法
根據(jù)最優(yōu)濾波準(zhǔn)則,濾波器采用LMS自適應(yīng)濾波算法,該算法簡(jiǎn)單、輸出穩(wěn)定[10].LMS最小均方誤差基于MMSE維納濾波器和最陡下降法,定義其相關(guān)向量.
第n時(shí)刻抽頭向量W(n)為
W(n)=[b0(n),b1(n),b2(n),…,bM-1(n)]T.
輸入向量X(n)為
X(n)=[x(n),x(n-1),x(n-2),…,x(n-M+1)]T.
由維納-霍夫方程得最小均方誤差,利用噪聲e(n)控制抽頭向量W(n),則有
由梯度下降法得:
LMS自適應(yīng)算法步驟:步驟1初始化抽頭向量W(n);步驟2更新n,n=1,2,3,濾波y(n)=Wτ(n)X(n),誤差估計(jì)e(n)=y(n)-d(n),權(quán)向量更新W(n+1)=W(n)+2μe(n)X(n).
算法中μ為步長(zhǎng),確定抽頭權(quán)向量每一步迭代更新量,使抽頭權(quán)向量更逼近期望濾波參數(shù),根據(jù)誤差調(diào)整步長(zhǎng)μ,控制濾波器穩(wěn)定性與收斂速度,使濾波器性能最優(yōu)[11].
3.1硬件實(shí)現(xiàn)
圖3 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)包含三軸加速度傳感器、嵌入式微控制器、TFT液晶顯示器、電源管理模塊4個(gè)部分,硬件結(jié)構(gòu)見(jiàn)圖3.三軸加速度傳感器采集人體步行信息,輸出數(shù)字加速度信號(hào),經(jīng)嵌入微控制器處理,統(tǒng)計(jì)步行步數(shù),最終TFT液晶顯示器輸出行走步數(shù).嵌入式微控制器選用ALTERA公司FPGA Stratix 10系列器件,Stratix 10基于HyperFlex內(nèi)核架構(gòu),1.5 GHz時(shí)鐘頻率,內(nèi)含參數(shù)可調(diào)DSP模塊[12].加速度傳感器采用Freescale公司數(shù)字三軸加速度傳感器MMA8451,輸出8或14 B數(shù)字加速度信號(hào),14腳QFN封裝,1.9~3.6 V供電,I2C串行通信,32個(gè)8 B采樣FIFO,±2g,±4g和±8g量程可選,3個(gè)量程在其靈敏度下可準(zhǔn)確檢測(cè)物體自由落體、振動(dòng)、傾角等姿態(tài)[13].MMA8451有OFF(器件模擬部分與數(shù)字部分均不工作)、STANDBY(數(shù)字部分工作,模擬部分不工作)、ACTIVE(模擬部分與數(shù)字部分均正常工作)3種工作模式.計(jì)步器屬于手持設(shè)備,采用基于ST7735的4.572 cm TFT液晶顯示器,3.3 V供電,SPI串行通信,支持中英文字符.電源管理模塊采用TI公司TPS62736,實(shí)現(xiàn)鋰電池充放電管理.
3.2軟件實(shí)現(xiàn)
計(jì)步器軟件分為三軸加速度傳感器、寄存器讀寫(xiě)與自適應(yīng)濾波2個(gè)主要部分.FPGA嵌入式微控制器采用Verilog HDL硬件描述語(yǔ)言完成功能描述,初始化MMA8451工作模式、量程與精度,設(shè)置SYSMOD寄存器地址0X0B 為0X00工作在ACTIVE模式;設(shè)置XYZ_DATA_CFG寄存器地址0X0E 為0X00;設(shè)置加速度輸出數(shù)據(jù)控制寄存器CTRL_REG1地址0X2A為0X02選擇快速模式,輸出14 B數(shù)據(jù);設(shè)置加速度控制寄存器F_MODE地址0X00為0XFF,讀出XYZ軸加速度數(shù)據(jù)后才能更新數(shù)據(jù)寄存器;設(shè)置加速度控制寄存器PL_COUNT地址0X12為0X40,I2C串行通信頻率為400 Hz.MMA8451物理地址為0X1d,主機(jī)定義數(shù)據(jù)通信幀結(jié)構(gòu)包括起始信號(hào)、從機(jī)地址信號(hào)、寄存器數(shù)據(jù)讀寫(xiě)信號(hào)、寄存器地址信號(hào)、數(shù)據(jù)信號(hào)與結(jié)束信號(hào)[14].
MMA8451輸出數(shù)字加速度信號(hào),按I2C協(xié)議存入FPGA RAM單元,隨機(jī)噪聲e(n)=y(n)-d(n)通過(guò)嵌入式加法器實(shí)現(xiàn),抽頭向量W(n+1)=W(n)+2μe(n)X(n)由N個(gè)加法器與N個(gè)乘法器實(shí)現(xiàn),步長(zhǎng)μ為2的冪時(shí),為二階自適應(yīng)濾波器.數(shù)據(jù)進(jìn)行一次運(yùn)算后權(quán)矢量W完成一次迭代,第n+1個(gè)數(shù)據(jù)運(yùn)算后,迭代累加得到新的權(quán)向量W(n+1),輸出d(n+1),直至無(wú)限逼近期望值e(n)=y(n)-d(n),系統(tǒng)完成一次更新.[15-16]人體完成一次步行動(dòng)作,Z軸加速度數(shù)據(jù)呈周期性、單調(diào)性變化,比較FPGA內(nèi)部RAM第n與n+1個(gè)數(shù)據(jù),由零開(kāi)始遞增到最大值后遞減為零記一步,統(tǒng)計(jì)行走步數(shù)[17],計(jì)步器程序流程見(jiàn)圖4.
圖4 計(jì)步器程序流程圖
4.1自適應(yīng)濾波器測(cè)試
計(jì)步器測(cè)試包括數(shù)字自適應(yīng)濾波器與人體計(jì)步準(zhǔn)確率兩部分.數(shù)字自適應(yīng)濾波器算法采用MATLAB仿真測(cè)試[18],模擬三軸加速度傳感器輸出步態(tài)信號(hào)頻率1~3 Hz[19],濾波前傳感器采集原始步態(tài)信號(hào)見(jiàn)圖5,存在隨機(jī)噪聲;濾波后步態(tài)信號(hào)見(jiàn)圖6,隨機(jī)噪聲基本消除,單調(diào)性能較好.實(shí)驗(yàn)結(jié)果表明,LMS自適應(yīng)濾波抑制隨機(jī)噪聲性能優(yōu)良,能達(dá)到預(yù)期濾波效果.
圖5 濾波前原始步態(tài)信號(hào)
圖6 LMS濾波后步態(tài)信號(hào)
4.2人體行走步數(shù)準(zhǔn)確率測(cè)試
人體行走步數(shù)準(zhǔn)確率測(cè)試根據(jù)個(gè)體差異分為兒童、青年、中年、老年4組樣本正常行走100步,個(gè)體差異下計(jì)步器測(cè)試結(jié)果見(jiàn)表1.
表1 個(gè)體差異計(jì)步器測(cè)試結(jié)果
根據(jù)人體慢走、快走、小跑、自由行走不同運(yùn)動(dòng)狀態(tài)進(jìn)行計(jì)步器測(cè)試,結(jié)果見(jiàn)表2.
表2 不同運(yùn)動(dòng)狀態(tài)計(jì)步器測(cè)試結(jié)果
根據(jù)表1和2測(cè)試結(jié)果,無(wú)論人體個(gè)體差異或運(yùn)動(dòng)狀態(tài)不同,計(jì)步器準(zhǔn)確率在98%以上,測(cè)試結(jié)果與環(huán)境無(wú)關(guān),計(jì)步準(zhǔn)確、穩(wěn)定、可靠.
詳細(xì)描述了基于三軸加速度傳感器自適應(yīng)計(jì)步器的設(shè)計(jì)、實(shí)現(xiàn)與測(cè)試結(jié)果.系統(tǒng)采用LMS自適應(yīng)濾波算法對(duì)步態(tài)信號(hào)進(jìn)一步處理,加強(qiáng)了對(duì)人體隨機(jī)狀態(tài)的處理能力,能佩戴于人體任何部位.理論分析與實(shí)踐結(jié)果證明,該系統(tǒng)輸出信號(hào)穩(wěn)定、精度高、適應(yīng)性強(qiáng),能廣泛用于各種復(fù)雜環(huán)境與不同運(yùn)動(dòng)狀態(tài)下的人體計(jì)步器.
[1]韓文正,馮迪,李鵬,等.基于加速度傳感器LIS3DH的計(jì)步器設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,31(11):97-99.
[2]邢秀玉.基于加速度傳感器的人體步態(tài)模式分類(lèi)研究[D].太原:中北大學(xué),2013.
[3]李丹,陳焱焱,姚志明,等.基于三軸加速度傳感器的人體日常體力活動(dòng)識(shí)別系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2009,16(7):1-5.
[4]宋浩然,廖文帥,趙一鳴,等.基于加速度傳感器ADXL330 的高精度計(jì)步器[J].傳感技術(shù)學(xué)報(bào),2010,19(4):1007-1011.
[5]TAKEDA T S,NATORIGAWA A,TODOH M Y.Gait posture estimation using wearable acceleration and gyro sensors [J].Journal of Biomechanics. 2011,42(15) :2486-2494.
[6]BENEVICIUS V1,OSTASEVICIUS V,GAIDYS R.Identification of capacitive MEMS accelerometer structure parameters for human body dynamics measurements[J].Medicine National Institutes of Health,2013,13(9) :84-95.
[7]劉凌譯.數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2011:425-475.
[8]邱陳輝,李鋒,徐祖強(qiáng).基于FPGA和符號(hào)LMS算法的自適應(yīng)均衡器設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(7):2372-2375.
[9]齊海兵,梅開(kāi)鄉(xiāng).基于FPGA 的流水線LMS自適應(yīng)濾波器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2010,23(6):224-229.
[10]賀洪江,王春霞.一種新的LMS自適應(yīng)濾波算法分析仿真研究[J].傳感器與微系統(tǒng),2012,31(3):15-20.
[11]黃寶貴,盧振泰,馬春梅,等.改進(jìn)的自適應(yīng)中值濾波算法[J].計(jì)算機(jī)應(yīng)用,2011,31(7):1836-1840.
[12]杜勇,路建功,李元洲.數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2013:235-277.
[13]飛思卡爾.MMA8451Q智能低功耗三軸加速度計(jì)解決方案[J].世界電子元器件,2012,23(9):15-20.
[14]Freescale Semiconductor Document Number: MMA8451Qdata Sheet[EB/OL].[2015-11-17].http://www.freescale.com/zh-Hans/products/sensors/accelerom eters/3-axis-accelerometers/2g-4g-8g-low-g-14-bit-digital-accelerometer:MMA8451Q,2012.
[15]時(shí)軍艷,劉樹(shù)聃.基于噪聲檢測(cè)的自適應(yīng)中值濾波算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(9):3116-3120.
[16]TAKEDA RYO,TADANO SHIGERU,TODOH MASAHIRO,et al.Gait analysis using gravitational acceleration measured by wearable sensors[J].Journal of Biomechanics,2012,42(3):2233-2242.
[17]M-PRANESH ANAND,RAKHEJA SUBHASH,DEMONT RICHARD.Influence of support conditions on vertical whole-body vibration of the seated human body[J].Industrial Health,2010,48(5):628-697.
[18]SHUIJUAN YU,ZHENBI LI,XIA SUN. Design of adaptive grid type filter based on FPGA[J].Journal of Networks,2013,8(9):2150-2154.
[19]謝如花.步數(shù)檢測(cè)方法及在手腕式計(jì)步器中的應(yīng)用研究[D].蘭州:蘭州交通大學(xué),2013.
(責(zé)任編輯:石紹慶)
Based on the adaptive pedometer to realize three-axis accelerometer
YAN Yong1,LEI Hang2,ZHOU Xiang-bing3,LIANG Pan1
(1.Department of Physical and Electronic Science,Aba Teachers University,Wenchuan 623002,China;2.School of Information and Software Engineering,University of Electronic Science and Technology of China,Chengdu 610054,China;3.Department of Network Management Center,Aba Teachers University,Wenchuan 623002,China)
Analyzing the characteristics of the human body to walk,Design a three axial acceleration sensor and the FPGA embedded processor based on digital human adaptive pedometer system includes gait signal acquisition,processing,display,power four parts,using periodic gait signal and monotonicity counting. Digital MMA8451 acquisition gait triaxial acceleration sensor,Stratix 10 the LMS adaptive filtering algorithm is adopted to sensor output digital gait signal smoothing filtering and noise reduction processing,TFT LCD displays the current steps to walk. Experiment results that the system work is stable,the output data of high precision,counting result has nothing to do with human movement state,environmental factors,such as,accurate complete human walking gait signal acquisition and counting.
three axis acceleration sensor;embedded processors;pedometer;adaptive;filter
1000-1832(2016)03-0079-05
2015-11-17
國(guó)家自然科學(xué)基金資助項(xiàng)目(61373163),四川省應(yīng)用基礎(chǔ)項(xiàng)目(2014JY0005),四川省科技發(fā)展計(jì)劃項(xiàng)目(2014GZ0013).
晏勇(1983—)男,碩士,講師,主要從事自動(dòng)控制/嵌入式系統(tǒng)研究;雷航(1960—)男,博士,教授,博士研究生導(dǎo)師,主要從事嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)研究.
TP 273[學(xué)科代碼]510·8020
A
[DOI]10.16163/j.cnki.22-1123/n.2016.03.015
東北師大學(xué)報(bào)(自然科學(xué)版)2016年3期