晏 勇,雷 航,周相兵,梁 潘
(1.阿壩師范學院物理與電子科學系,四川 汶川 623002;2.電子科技大學信息與軟件工程學院,四川 成都 610054;3.阿壩師范學院網絡管理中心,四川 汶川 623002)
?
基于三軸加速度傳感器的自適應計步器的實現
晏勇1,雷航2,周相兵3,梁潘1
(1.阿壩師范學院物理與電子科學系,四川 汶川 623002;2.電子科技大學信息與軟件工程學院,四川 成都 610054;3.阿壩師范學院網絡管理中心,四川 汶川 623002)
分析人體行走的特點,設計了一種基于數字三軸加速度傳感器與FPGA嵌入式處理器的自適應計步器.該系統包括步態信號采集、處理、顯示、電源4個部分,利用步態信號周期性與單調性對其計數.數字三軸加速度傳感器MMA8451采集步態信號,Stratix 10采用LMS自適應濾波算法對傳感器輸出數字步態信號進行平滑濾波與降噪處理,TFT液晶顯示器顯示當前行走步數.實驗結果表明:該系統工作穩定、輸出數據精度高,計數結果與人體運動狀態、環境等因素無關,能精確完成人體行走步態信號采集與計數.
三軸加速度傳感器;嵌入式處理器;計步器;自適應;濾波
隨著日常生活質量的不斷提高,人們更加注重加強體育鍛煉.而計步器作為日常運動監控記錄儀器,直接反應某段時間行走步數與距離,實時監控人體運動量和健康狀況.
目前計步器主要有機械式與電子式.機械式計步器利用人體運動過程中產生的震動信號帶動內部彈簧片或小球運動,觸發機械開關產生電子脈沖計數.機械式計步器組成簡單、成本低、體積大、計步精度與靈敏度低,誤差較大;電子式計步器采用GPS信號測量人體移動距離,設置每步平均移動距離,間接計步,GPS計步器對環境要求高、誤差較大,沒有GPS信號環境無法實現計步[1].
本文采用基于微電機系統MEMS技術的數字三軸加速度傳感器,采集人體行走過程中產生的加速度信號,利用人體行走的周期性與單調性,通過自適應濾波算法對傳感器輸出數字信號進行平滑濾波與降噪處理,計算行走步數,實現精確計步.基于三軸加速度傳感器的計步器體積小、功耗低、計步精確、靈敏度高,可以廣泛用于日常生活中.

圖1 人體行走模型
人體行走過程中姿態不同,行走時手部、腰部、腿部等部位均有相應運動,使人體產生不同的加速度、速度、步長、頻率等信號[2].人體行走加速度方向包括水平X軸方向、垂直Y軸方向、上下Z軸方向[3],人體行走模型見圖1.從圖1看出,人體行走過程X軸、Y軸加速度基本不變,Z軸加速度呈周期變化,向上抬腿最高處加速度最大,加速度單調遞增;向下接觸地面加速度為0,加速度單調遞減[4].通常人體步行頻率范圍為0.2~5 Hz,典型頻率為2 Hz,FIR與IIR固定頻率濾波器無法實現數字步態信號的最優濾波,采用自適應濾波器進行平滑濾波與降噪處理,提高系統的響應速度與精度[5].
2.1算法原理

圖2 自適應濾波器原理框圖
不同年齡、性別、職業的行人,步行速度與頻率也不同,為減小步態信號采集誤差,計步器采用自適應濾波算法優化步態信號[6].自適應濾波器是一種典型的閉環控制系統,從輸出端提取噪聲信號反饋回輸入端抵消輸出噪聲,它包含硬件濾波器與自適應算法兩部分[7],自適應濾波器原理見圖2.圖2中:x(n)為第n時刻輸入信號;y(n)為第n時刻開環輸出信號;d(n)為第n時刻閉環期望輸出信號;e(n)為第n時刻噪聲信號,在最優準則下使輸出噪聲無限逼近輸入隨機噪聲.自適應濾波器濾波參數受噪聲信號e(n)控制,根據e(n)=y(n)-d(n) 自動調整,抵消隨機噪聲,滿足下一時刻輸入x(n+1),使d(n+1)更加接近于期望輸出信號,實現自適應濾波,得到最優濾波性能.[8-9]
2.2LMS算法
根據最優濾波準則,濾波器采用LMS自適應濾波算法,該算法簡單、輸出穩定[10].LMS最小均方誤差基于MMSE維納濾波器和最陡下降法,定義其相關向量.
第n時刻抽頭向量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自適應算法步驟:步驟1初始化抽頭向量W(n);步驟2更新n,n=1,2,3,濾波y(n)=Wτ(n)X(n),誤差估計e(n)=y(n)-d(n),權向量更新W(n+1)=W(n)+2μe(n)X(n).
算法中μ為步長,確定抽頭權向量每一步迭代更新量,使抽頭權向量更逼近期望濾波參數,根據誤差調整步長μ,控制濾波器穩定性與收斂速度,使濾波器性能最優[11].
3.1硬件實現

圖3 系統硬件結構框圖
系統包含三軸加速度傳感器、嵌入式微控制器、TFT液晶顯示器、電源管理模塊4個部分,硬件結構見圖3.三軸加速度傳感器采集人體步行信息,輸出數字加速度信號,經嵌入微控制器處理,統計步行步數,最終TFT液晶顯示器輸出行走步數.嵌入式微控制器選用ALTERA公司FPGA Stratix 10系列器件,Stratix 10基于HyperFlex內核架構,1.5 GHz時鐘頻率,內含參數可調DSP模塊[12].加速度傳感器采用Freescale公司數字三軸加速度傳感器MMA8451,輸出8或14 B數字加速度信號,14腳QFN封裝,1.9~3.6 V供電,I2C串行通信,32個8 B采樣FIFO,±2g,±4g和±8g量程可選,3個量程在其靈敏度下可準確檢測物體自由落體、振動、傾角等姿態[13].MMA8451有OFF(器件模擬部分與數字部分均不工作)、STANDBY(數字部分工作,模擬部分不工作)、ACTIVE(模擬部分與數字部分均正常工作)3種工作模式.計步器屬于手持設備,采用基于ST7735的4.572 cm TFT液晶顯示器,3.3 V供電,SPI串行通信,支持中英文字符.電源管理模塊采用TI公司TPS62736,實現鋰電池充放電管理.
3.2軟件實現
計步器軟件分為三軸加速度傳感器、寄存器讀寫與自適應濾波2個主要部分.FPGA嵌入式微控制器采用Verilog HDL硬件描述語言完成功能描述,初始化MMA8451工作模式、量程與精度,設置SYSMOD寄存器地址0X0B 為0X00工作在ACTIVE模式;設置XYZ_DATA_CFG寄存器地址0X0E 為0X00;設置加速度輸出數據控制寄存器CTRL_REG1地址0X2A為0X02選擇快速模式,輸出14 B數據;設置加速度控制寄存器F_MODE地址0X00為0XFF,讀出XYZ軸加速度數據后才能更新數據寄存器;設置加速度控制寄存器PL_COUNT地址0X12為0X40,I2C串行通信頻率為400 Hz.MMA8451物理地址為0X1d,主機定義數據通信幀結構包括起始信號、從機地址信號、寄存器數據讀寫信號、寄存器地址信號、數據信號與結束信號[14].
MMA8451輸出數字加速度信號,按I2C協議存入FPGA RAM單元,隨機噪聲e(n)=y(n)-d(n)通過嵌入式加法器實現,抽頭向量W(n+1)=W(n)+2μe(n)X(n)由N個加法器與N個乘法器實現,步長μ為2的冪時,為二階自適應濾波器.數據進行一次運算后權矢量W完成一次迭代,第n+1個數據運算后,迭代累加得到新的權向量W(n+1),輸出d(n+1),直至無限逼近期望值e(n)=y(n)-d(n),系統完成一次更新.[15-16]人體完成一次步行動作,Z軸加速度數據呈周期性、單調性變化,比較FPGA內部RAM第n與n+1個數據,由零開始遞增到最大值后遞減為零記一步,統計行走步數[17],計步器程序流程見圖4.

圖4 計步器程序流程圖
4.1自適應濾波器測試
計步器測試包括數字自適應濾波器與人體計步準確率兩部分.數字自適應濾波器算法采用MATLAB仿真測試[18],模擬三軸加速度傳感器輸出步態信號頻率1~3 Hz[19],濾波前傳感器采集原始步態信號見圖5,存在隨機噪聲;濾波后步態信號見圖6,隨機噪聲基本消除,單調性能較好.實驗結果表明,LMS自適應濾波抑制隨機噪聲性能優良,能達到預期濾波效果.

圖5 濾波前原始步態信號

圖6 LMS濾波后步態信號
4.2人體行走步數準確率測試
人體行走步數準確率測試根據個體差異分為兒童、青年、中年、老年4組樣本正常行走100步,個體差異下計步器測試結果見表1.

表1 個體差異計步器測試結果
根據人體慢走、快走、小跑、自由行走不同運動狀態進行計步器測試,結果見表2.

表2 不同運動狀態計步器測試結果
根據表1和2測試結果,無論人體個體差異或運動狀態不同,計步器準確率在98%以上,測試結果與環境無關,計步準確、穩定、可靠.
詳細描述了基于三軸加速度傳感器自適應計步器的設計、實現與測試結果.系統采用LMS自適應濾波算法對步態信號進一步處理,加強了對人體隨機狀態的處理能力,能佩戴于人體任何部位.理論分析與實踐結果證明,該系統輸出信號穩定、精度高、適應性強,能廣泛用于各種復雜環境與不同運動狀態下的人體計步器.
[1]韓文正,馮迪,李鵬,等.基于加速度傳感器LIS3DH的計步器設計[J].傳感器與微系統,2012,31(11):97-99.
[2]邢秀玉.基于加速度傳感器的人體步態模式分類研究[D].太原:中北大學,2013.
[3]李丹,陳焱焱,姚志明,等.基于三軸加速度傳感器的人體日常體力活動識別系統設計[J].儀表技術,2009,16(7):1-5.
[4]宋浩然,廖文帥,趙一鳴,等.基于加速度傳感器ADXL330 的高精度計步器[J].傳感技術學報,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]劉凌譯.數字信號處理的FPGA實現[M].北京:清華大學出版社,2011:425-475.
[8]邱陳輝,李鋒,徐祖強.基于FPGA和符號LMS算法的自適應均衡器設計[J].計算機工程與設計,2014,35(7):2372-2375.
[9]齊海兵,梅開鄉.基于FPGA 的流水線LMS自適應濾波器設計[J].微計算機信息,2010,23(6):224-229.
[10]賀洪江,王春霞.一種新的LMS自適應濾波算法分析仿真研究[J].傳感器與微系統,2012,31(3):15-20.
[11]黃寶貴,盧振泰,馬春梅,等.改進的自適應中值濾波算法[J].計算機應用,2011,31(7):1836-1840.
[12]杜勇,路建功,李元洲.數字濾波器的MATLAB與FPGA實現[M].北京:電子工業出版社,2013:235-277.
[13]飛思卡爾.MMA8451Q智能低功耗三軸加速度計解決方案[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]時軍艷,劉樹聃.基于噪聲檢測的自適應中值濾波算法[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]謝如花.步數檢測方法及在手腕式計步器中的應用研究[D].蘭州:蘭州交通大學,2013.
(責任編輯:石紹慶)
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
國家自然科學基金資助項目(61373163),四川省應用基礎項目(2014JY0005),四川省科技發展計劃項目(2014GZ0013).
晏勇(1983—)男,碩士,講師,主要從事自動控制/嵌入式系統研究;雷航(1960—)男,博士,教授,博士研究生導師,主要從事嵌入式系統軟硬件協同設計研究.
TP 273[學科代碼]510·8020
A
[DOI]10.16163/j.cnki.22-1123/n.2016.03.015