基于MATLAB和Android智能手机传感器的计步器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

By ali 作者简介:徐文力,男(汉族),硕士研究生,主要研究领域为智能及高级过程控制。

李明辉,男(汉族),教授,硕士研究生导师,主要研究领域为智能及高级过程控制。

基于MATLAB 和Android 智能手机传感器的计步器的设计

徐文力,李明辉

(陕西科技大学机电工程学院,陕西 西安710021)

摘 要:本文设计的是一种基于MATLAB 和Android 智能手机传感器的计步器,首先分析了人体运动时加速度的变化规律,通过手机传感器获取三维加速度值,然后由sensorudp APP 以UDP 数据包的形式通过无线网络发送给运行着MATLAB 软件的计算机,利用MATLAB 软件强大的科学计算功能对数据包进行解析得到加速度的值,并进行滤波和样条插值等处理,最后得出运动的步数,进而求出运动的距离以及能耗,为健康运动提供了判断依据。 关键词:智能手机;计步器;无线网络;滤波

中图分类号:TN91 文献标识码:B

Design of pedometer based on MATLAB and the smartphone sensors

Li ,Xu

(College of Mechanical and Electrical Engineering ,Shaanxi University of Science & Technology ,xi ’an shaanxi 710021,China)

ABSTRACT : This paper designs a pedometer based on MATLAB and the Android smartphones sensor. First analysis the change law of acceleration of the human body when people exercise, obtaining 3D acceleration through mobile phone sensor, and then send to the computer which running MATLAB software in the form of UDP packets through the wireless network by the sensorudp APP, and use the powerful MATLAB software to decode the packets to get the acceleration, and then execute the filter and spline interpolation, and get the number of steps , the distance and energy consumption, which can provide the basis to judge the movement. KEYWORDS : Smartphones; Pedometer; Wireless network; Filter;

0 引言

Android 智能手机自推出以来,其内置传感器逐渐增多,传感器所实现的功能也日益多样化,极大的满足了用户对智能手机功能的需求,从依赖于重力传感器的各种游戏,到依靠距离传感器实现的通话灭屏,再到指南针功能下的电子罗盘等等,小小的一个Android 智能手机以各种传感器为依托实现了许多有趣的功能。因此,手机已经不再是一个简单的通讯工具,而是具有综合功能的便携式的电子设备。在这种情况下,各种传感器在手机上的应用应运而生。本文就是利用Android 智能手机中的G-sensor 传感器,结合MATLAB 软件的强大计算功能,设计了一种计步器,通过对传感器数据进行分析处理得到运动的步数,进一步计算就可以得到运动速度、距离和能耗等数据。在全民健康意识普遍提高的背景下,各种运动器具变得炙手可热,而计步器的应用可有效辅助提高运动效果,达到健康运动的目的。

1 计步器原理

要实现检测步数首先要对人走路的姿态有一定了解。以步伐特征的研究为基础,考虑到

人体行走时脚、腿、腰部和手臂都在运动,它们的运动都会产生相应的加速度,趋势就是不断地上下起伏近似为正弦过程。测量正弦波的频率就可以得出运动的步数,进而可以计算出速度,距离,和消耗卡路里。从脚的加速度来检测步数是最准确的,但是考虑到携带的方便,选择利用腰部的运动来检测步数,因为,行走时腰部有上下的垂直运动,所以会产生一个上下波动比较大的加速度值。由于采用的是智能手机中的加速度传感器(如图1所示),它有三个轴可以对应人体运动的三个方向,因此首先规定人体前进方向为y 轴,左右运动为x 轴,上下运动为z 轴。无论手机如何放置,总会检测到三个方向的加速度值x a 、y a 和z a ,从而求出合加速度a : 222z y x a a a a ++=

(1-1) 当手机静止不动时,a 的理想值为重力加速度g ()2/s m 。当检测到有动作时a 值就会在

g 值上下变化,为了计算方便可以取变量A=a-g ,使A 值在0()2/s m 上下波动。

以人体重心为参考点,只考虑z 轴方向,则可以将行走的过程分为两个阶段:重心由最低到最高的过程和重心由最高到最低的过程。在重心由最低到最高的过程中,人体z 轴方向的速度由零上升到某一值,然后又从该值减少到零,在整个过程中速度为正,即方向为z 轴正方向。所以,加速度的变化应该从()2/s m g a z -=到()()

2/s m g a a z ∆+-=最后又回到,其中a ∆为正值。在重心由最高到最低的过程中,人体z 轴方向速度由零上升到某一值,然后又从该值减少到零,在整个过程中速度为负,即方向为z 轴负方向。所以,加速度的变化应该从()2/s m g a z -=到()()2/s m g a a z ∆--=最后到又回到()

2/s m g a z -=,其中a ∆为正值。由此可以得出变量A 一个周期内的变化过程近如图2所示:

可以看出参数A 的变化曲线近似为一个正弦信号,所以只需求出正弦信号的频率就可知道所走的总的步数。但是上图只是理想的波形,实际中传感器会产生抖动,得到的波形含有大量干扰信号,必须进行处理才能得到较好的波形。

2 建立通讯

图2 A 的变化规律

Fig.2 change law of A

图1 手机三维加速度方向 Fig.1 3D acceleration direction of mobile phone a ∆

a ∆-

相关文档
最新文档