基于三轴加速度传感器的自适应计步器的实现
2016-09-22周相兵
晏 勇,雷 航,周相兵,梁 潘
(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 人体计步模型分析
图1 人体行走模型
人体行走过程中姿态不同,行走时手部、腰部、腿部等部位均有相应运动,使人体产生不同的加速度、速度、步长、频率等信号[2].人体行走加速度方向包括水平X轴方向、垂直Y轴方向、上下Z轴方向[3],人体行走模型见图1.从图1看出,人体行走过程X轴、Y轴加速度基本不变,Z轴加速度呈周期变化,向上抬腿最高处加速度最大,加速度单调递增;向下接触地面加速度为0,加速度单调递减[4].通常人体步行频率范围为0.2~5 Hz,典型频率为2 Hz,FIR与IIR固定频率滤波器无法实现数字步态信号的最优滤波,采用自适应滤波器进行平滑滤波与降噪处理,提高系统的响应速度与精度[5].
2 人体计步器自适应算法
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 计步器软硬件实现
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 实验结果与分析
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%以上,测试结果与环境无关,计步准确、稳定、可靠.
5 结语
详细描述了基于三轴加速度传感器自适应计步器的设计、实现与测试结果.系统采用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