智能手机计步器算法的实现_第1页
智能手机计步器算法的实现_第2页
智能手机计步器算法的实现_第3页
智能手机计步器算法的实现_第4页
智能手机计步器算法的实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能手机计步器算法的实现现在的智能手机嵌入了一些微小的传感器,比如重力传感器、光传感器、声音传感器等。如何有效地利用这些传感器来开发一些应用,是一个值得深入研究的课题。比如开发医疗健康的应用、运动量监视器等。本文采用htcTouchPro智能手机的重力传感器来开发一款监视步数的程序,程序的关键在于计步模型的建立。由于程序算法还存在一定的问题,在本文最后的“存在问题”给出。如有问题请不吝指出。智能手机所谓的智能手机是指,具有独立的操作系统,用户可以自行安装第三方应用软件,通过此类程序来对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的手机,它实际上就是一台迷你的个人电脑。智能手机的操作系统主要有:WindowsMobile,iPhone,BlackBerry,Linux等。步数识别系统步数识别系统是指运行在移动手机上,能够监视用户走了多少步的应用程序。它一般由以下3个部分构成:•传感器模块,用来采集传感器数据;•特征提取模块,处理和分析原始数据,并进行特征提取、建立模型;•步数识别模块,把所提取的特征用来识别步数。硬件设备重力传感器(G-Sensor)又称为加速度传感器,用来感知加速度的变化,它使用三维方向的加速度分量来表示。G-Sensor被用在很多智能设备当中,比如IBM的高端笔记本电脑内置了G-Sensor,在发生剧烈的拉动时(如跌落),立即启动硬盘保护,避免硬盘损害。再如Apple的iPhone使用G-Sensor来感知手机屏幕的方向,当在观看视频时手机横放,屏幕自动跟着旋转,这使得用户体验大大增加。本文采用htcTouchPro手机上的G-Sensor,同样也适用于htc其它型号的G-Sensor。方案实现日常生活当中,人们使用手机一般是拿在手上,放在裤兜里,女士也经常把它放在包里。因为手机外界环境总是很复杂的,裤兜有松有紧,放在松裤兜的手机比放在紧的更容易抖动,产生的噪音也更多。为了使该算法尽可能的适用于不同的应用环境,需要对大部分的使用环境进行测试。首先,由4个人(8个或更多也可以)各自对不同手机使用环境进行数据收集,因为人们在同样的场合使用手机的习惯是不一样的。其次,对采集来的这些数据分别进行特征提取。最后,使用提取的特征模型进行识别检验。数据采集:htcTouchProG-Sensor提供的数据如表1所示。表1.htcTouchProG-Sensor提供的数据字段含义「X加速度在手机坐标X方向的分量大小,类型为doubleY加速度在手机坐标Y方向的分量大小,类型为doubleZ加速度在手机坐标Z方向的分量大小,类型为doubleLength加速度大小,值为'上1」,类型为doubleXangle加速度在手机坐标X方向的分量与地平面的夹角,范围为-180°~180°,类型为

intYangleDateTime加速度在手机坐标Y方向的分量与地平面的夹角,范围为-180°~180°,类型为int采样的时间,不是G-Sensor提供的,为了方便算法计算保留采样的时间,类型为doubleYangleDateTime本文算法采用的采样频率为20HZ,采样环境有:慢走、快走、跑步、骑自行车、坐的士、坐公交、坐电梯(上/下)、坐地铁、上下楼梯。其中,有走路的采集走100步的数据(慢走、快走等),不是走路的采集1分钟的数据。由于开始和结束的时候放置手机(放口袋、包里)会有一些波动,不是我们想要的,因此这两个时间段的数据可以删去,或不考虑。手机放在口袋,收集的原始Length字段数据,在Excel2007上绘制波形图如图1。横轴为每个采样点的索引,纵轴为Length值大小,也就是加速度大小,值在9.8附近变化。图1.Length字段波形图特征提取由于收集的数据包含有噪声,特别是在两个动作切换之间Length字段值的波动比较大,比如慢走和上楼梯的过程。这里使用快速傅里叶变换(FFT)来处理Length字段的数据,波形图如图2。纵轴已向下平移9.8。图片看不清楚?请点击这里查看原图(大图)图2.经过FFT处理的Length字段波形图我们发现上面经过FFT处理的波形表现出一定的规则,就是在一定的时间间格内总有一个波谷,我们称这个点为“踩点”(如图3中的1、2、3、4点),也就是加速度最小的时刻(脚往下踩,手机相对有一个往下“掉”的过程)。另外,图3上A点也是波谷,但这一点是一个波动点,需要排除。所以踩点还必须小于一定的值-Threshold。当脚抬起来的时候(“起点”),身体对手机的作用力会增大,加速度也增大。所以起点必须大于Threshold,大于Threshold的都称为起点,因为我们只关心状态的变化。通常地,走路的时候步与步之间的有一定的时间间隔,走快些间隔小,走慢些间隔大。如果是跑的话,人类的极限是1秒种跑5步,也就是1步0.2秒。从起点到踩点状态变化1次就是走了1步。所以,我们建立包含如下2个要素的模型M:Length满足一定阀值,比如-Threshold<Length<Threshold两个连续踩点的时间间隔必须在Timespan(200~2000毫秒)之内图3.模型满足的条件步数识别我们把建立的模型用来检验在坐的士环境下所采集的数据,波形图如图4.图片看不清楚?请点击这里查看原图(大图)。图4.用模型检验的士环境下的数据我们可以看到后面的一段时间是比较平稳的,前面有一些波动,这些波动导致了错误的识别,识别为走路。我们可以改进这个模型,增加一个约束条件:在监视了连缘(比如3)

个踩点后才开始计步,所以从图3上标号为4的点开始计步。这样的约束就可以把大部分的抖动给去掉。把最终的模型用来检验所采集的不同环境下的数据得到的计步结果还是比较准确的。存在问题如果拿着手机左右摇摆,采集的数据经过FFT处理后的波形也符合上面的模型,但这并不是走路的状态,产生了错误的计步。直觉上认为这可以通过监Wangle,Yangle两个字段(在某一范围来回变化)来预防这种情况的发生。但使用htcG-Sensor采集的这两个字段的数据得到的效果并不好。经验教训以上模型使用的数据只有Length字段,其它字段并没有用到。实际上,在决定只使用Length字段建立模型之前,有尝试使用Xangle,Yangle,并推导出Zangle(htcG-Sensor没有给出这个字段),使用这三个角度的状态变化来辅助判断计步。事实上这三个量的数值并不可靠,比如把手机水平放置,做左右摇摆,得到的Xangle,Yangle的范围变化有超过30°的。另外,也可以尝试使用Samsung,iPhone上的G-Sensor,但本文并没有实现该想法。总结使用智能手机来计步这个课题比较新颖,而且很容易实现个人健康监视的手机助理。收集不同使用环境下的数据是一个比较耗时的过程,需要由不同的人员在不同的环境下收集。整个计步的关键过程在于模型的建立,而且必须满足使用手机的任意性和处理不同环境下的噪声。所使用的算法也比较简单,用FFT来处理原始数据,设立一定的阀值和时间间隔,然后监视过程的变化(踩点->起点->踩点)。其中采样率、Length阀值和时间间隔等参数的设置也是需要一个一个调试的,在本文的程序里采样率为20HZ,Threshold取1,时间间隔在200~2000毫秒。@上午11:143智能感应计4步^^9工作健身两不误本帖最后由hjc020712于2011-8-1018:03编辑@上午11:143生命在于运动,而如今的人们却很少有时间去运动,他们疲于工作,没时间好好地酣畅淋漓的打一场球,尽兴地跑一场步。都说'身体是革命的本钱”,可如今的人们因为种种压力都无法好好锻炼的,我也一样,每天我都得早起去上班,然后很晚下班回家,运动对我来说似乎很奢侈。可是最近我找到了运动助手了,就是我的小57Mini手机。以前我是直接坐着公交车去公司的,虽然说只有5站的距离,但是我竟然会在公交车上睡着。现在我找到了运动助手之后,我有了一个让同事觉得疯狂的想法,那就是我会提前两站下车,然后第一步:我会打开自己手机上的智能感应计步器打开软件,你我成为暴走族吧第二步:我需要设置一些基本参数,开始之前可以设置适合自己的基本参数根据自己的情况设置好这些参数距离、耗能及耗脂的计算结果与体重、步长及步速都有直接关系,本机默认体重为60公斤,步长为100厘米,我须首先正确设置自己的体重和步长,同时也可以设置自己的目标,然后也可以点选倒计模式,你可以同步观测自己离既定的目标有多远,然后激励自己不断前进。第三步:我点击开始,然后开始慢速跑步了。点击开始就可以让你的运动可视化了测算出运动速度及运动强度,可以算出不同强度下运动时所消耗的热量及相应的脂肪燃烧量,从而使使运动效果量化、可视,是上班族的好帮手。作为上班族的一员,它帮我解决了锻炼的难题。真的很感谢Mini手机。工作重要,健康也很重要,运动是生活更美好,坚持就是胜利,健康就在您的脚下。友情提示:为提高计量的准确性,请悉心调整自己的设备灵敏度,不同的设备设置不同的置机方式。希望所有的人都可以有个健康的身体!使用瞬豆荚截图使用豌金荚截囹

sac/iKung卧。11<3。9:4?其本盗直硒。公100.0司米团外设置倒计模式按照设定伊汁射i设寄一;父春号暮sac/iKung卧。11<3。9:4?其本盗直硒。公100.0司米团外设置倒计模式按照设定伊汁射i设寄一;父春号暮国、啷"11*309赠智牌应计步爵历史记录累计次数开始使用骊豆荚截图使用豌豆荚截图累计行程:aoogo公里累计耗能:益00岳千E累计时间:00小时00分累计步数:o步一为提高计量的准确性,用户须悉心校准适合自己的设备灵敏度。不同的设备、不同的置机方式(手持自然摆动、上衣口袋、裤袋、背包内等)都会对计量的准确性造成较明显的影响。暂停运动时请按[暂停]键,恢复运动时请按[继续]键。距离、耗能及耗脂的计算结果与体重、步长及步速都有直接关系,本机默认体重为60公斤,步长为100厘米,用户须首先正确设置自己的体重和步长。用户采用不同的速度走完相同的距离,所消耗的能量并不相同,速度越快运动强度越高,消耗的能量也就越大。这就是为什么特别强调运动速度的原因,对于健身来说,坚持中等强度的运动效果最好。本软件采用智能算法,可以将步行速度与能量消耗综合计算。倒计模式提供了时间、距离和耗能三种目标管理模式,一次只能选择一种目标,单次设定有效,下次运动时须重新设定。设备的传感器往往需要运行一段时间后才能稳定工作,所以建议用户每次正式运动前先预热5分钟,设备记录的数据也不必保存,预热后再开始按照一定的速度有规律运动。本机传感器灵敏度默认设置为[高],据反复测试,在此灵敏度下手持电话行走规律摆动手臂时,计步准确率在-15%左右;在[极高]灵敏度设置下,准确率在+20%左右,与专用计步器的误差相当。为节省电能,建议用户在运动前将屏幕待机时间和亮度都调至最低。程序运行时屏幕未为锁定,运动时应避免触及屏幕控键,否则可能会导致程序停止运行并退出。暴走族设置清室累计耗能:0.0000千卡累计耗脂:0.0000克历史记录累计次数累计时间00小时00分累计步数累计行程0.0000公里甲均时间-no/i\时no会开始3'手机QQ浏览W智能感应计步器更怏史便捷兮all|E暴走族设置清室累计耗能:0.0000千卡累计耗脂:0.0000克历史记录累计次数累计时间00小时00分累计步数累计行程0.0000公里甲均时间-no/i\时no会开始3'手机QQ浏览W智能感应计步器更怏史便捷兮all|E13:16AV99智能感应计步器令小*99皆能感应计纭器下载(352.9KB)qp%vjii13:17智能感丽并基本设置体重A体重:60,0公斤▼步长O步长:100.0厘米\o"CurrentDocument"感应灵敏度A灵敏度:高倒计设置\o"CurrentDocument"倒计模式.技照设定倒计时(设置-次有效)■时间设定C倒计时间设定■距离设定Q倒计距离设定・热量消耗设定www.htcplayer.wm/中、题签allB13:19智能感应计步器[重点提示】:1、为提高计量的准确性,用户须悉心校准适合自己的设备灵敏度。不同的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论