基于Android系统的计步器开发与算法研究

android 计步器acc,基于加速度的门限检测计步算法设计 1. 引言步行运动是一项普遍的,门槛低的全民健身运动,在诸多方面对人体有益,但是过多运动也会对人体产生损伤,因而有效计步显得十分重要。计步器可以记录步行的步数,在孕妇健康管理、体育教学、反映能量消耗、增强运动等方面发挥着巨大的作用。微机电系统(Micro-electro Mechanical Systems, MEMS)以体积小、重量轻、功耗低、耐用性好、价格低廉等优点广泛应用于智能手机传感器模块... 阅读详情



本文均为原创,转载请注明出处,需要了解文章详细请联系原作者邮箱,谢谢。

(张优劲、罗福亚、石振辉)

电子科技大学 生命科学与技术学院、生物医学工程

摘要:利用安卓手机自带的加速度传感器来采集人体运动的加速度信号,去除噪声和坏值。建立数学模型,对模型进行验证,然后获得判据。最后再由Android手机软件实现对信号的全部处理,实现计步功能。

1、信号采集的实现:

使用java的编译软件eclipse和Google提供的SDK包进行编写Android程序。设计一个Service后台用于监听传感器的变化并记录数据,设计一个SQLite的简单数据库用于记录行走步数与时间。

在采集信号的过程当中,就是人体正在运动当中。为了能够更好的反映人体的实际运动情况,我们软件要求将手机软件启动后放在大腿口袋内跟随人体一起运动,结束时取出手机停止软件的计步。

2、建立模型:

首先分析人步行的过程,在人体行进的过程当中会有脚踩下与脚抬起的两个幅度比较大的动作。我们的模型采集的数据是以把手机放在大腿口袋随人体运动为前提采集到的数据。固采集到的加速度在理论上一个周期内会有一个最小值和最大值的出现,并且两个最值的方向夹角应该在符合人体运动规律的合理角度范围之内。但是在实际当中,由于受到各种噪声的影响,最值将可能以极值的方式出现,角度的范围也将有所变化。据此结合对实际的数据分析,我们提出如下的模型:加速度信号在时间域上出现的那些满足阀值条件的极值点,并且满足极值夹角在一定范围内的,就是判断人体步数的记步判据。具体分析实际数据、建模过程如下:



特征信号的提取:

将预处理后的三轴加速度进行矢量合成,得出预处理后加速度大小的波形图,如图8所示:(其中横线是重力加速度的值)


模型总结:

该模型对加速度信号进行滤波、特征提取,最后再由大量的统计数据获得了上、下限阀值和角度范围的两个判据。虽然对人体的实际步数判断会有一定的误差,但是已经达到了比较好的效果。对于正常人体的一次适量运动步数,这些误差都是在可以接受的范围内!

3.1、具体实现算法:

FFT:利用蝶形运算公式将数据进行排列、乘系数、相加,可以得到FFT运算的结果。

IFFT:利用蝶形运算公式将数据进行排列、乘相反的系数、相加,可以得到IFFT运算的结果。

滤波器:我们设置好截止频率,可以将其他频率的信息置零,这样可以得到一个简单的理想的滤波器。


实现结果:在Android环境下采集数据和使用滤波器之后的结果:(数据导出后使用matlab查看)

滤波前:


滤波后:



3、2 软件实现结果分析与评价:

整个android程序独立的实现了由信号采集,到信号滤波处理、加工,再到最后成功计算出人体运动的步数!实现了计步器的基本功能,但是由于java的效率比较低,设备的运算速度受到限制,特别在fft与ifft运算部分的消耗大量运算时间造成的数据损失,这样有可能会造成一定步数的判断失误。不过后续对软件的测试表明,软件的稳定性相当可靠,计步误差在5%以内。整体性能良好!

5、总结:

通过对人体运动的数学建模和模型的特征提取,进而以安卓系统为平台,开发出具有实用价值的计步器。目前市场上已有的一些记步器app采用比较简单角度判断,没有进行运动特征的捕抓和匹配,所以造成了计步的不够准确。此外我们的app还有后台支持,可以实时传送数据到网络后台进行保存,并且进行分析和实时监控。并且还集成了测心率的功能。相信这次开发的计步器将会很好的为人们的健康服务!


关键词:android计步器;加速度信号处理;数字滤波


联系人邮箱:devinzhang91@gmail.com

本文均为原创,转载请注明出处,需要了解文章详细请联系原作者邮箱,谢谢。
Android 计步器 - 手机自带系统级的 健康运动App 授权 #1 手机自带系统级的 健康App; 比如:三星手机上的 “三星健康” ; 华为手机上的“运动健康”; 小米手机上的“运动计步” 魅族手机: 计步器 oppo: 运动计步 vivo:vivo手机不自带“记步数”功能的 ... 阅读详情

相关推荐

android studio计步,基于安卓Android平台的健康计步系统APP的设计(AndroidStudio)

基于安卓Android平台的健康计步系统APP的设计(AndroidStudio)(任务书,开题报告,论文10000字,程序代码)摘 要近年来,随着生活水平的不断提高,人们也越发关注自身的健康问题,运动健康已经成为了各个年龄阶段的人群,尤其是青年人,普遍关注的话题。同时,随着智能手机的大量普及与应用,健康计步类软件也有了很大的市场,各种类型的计步软件层出不穷。本课题为一个基于Android的健康...

weixin_42300211的博客 3666

android 计步器

我们经常会看到微信 QQ 以及其他一些运动app里面都有一个计步功能,那它是怎么实现的呢?今天我们就来实现一下,以下代码都是从一个整体项目中抽离出来的,为了理解简单方便我把UI部分数据保存部分全部都去掉了,只有单纯的计步逻辑和算法。log日志显示计步:app只有一个简单的UI来显示步数。编写计步逻辑的流程图,方便理解我的思路: MainActivity :public class MainActi

修一技之长 8350

Android计步器应用完整源码剖析

在本章中,我们将探讨Android计步器的核心功能,这为整个计步器应用的开发和功能实现奠定了基础。计步器作为一种健康与健身应用,主要通过监测用户的日常活动,为用户提供步行数量和消耗热量的估计。核心功能不仅包含基本的步数统计,还包括对用户运动模式的智能识别、步幅估计、距离计算、热量消耗、语音播报以及用户界面交互设计等要素。计步器能够吸引用户的关键在于其准确性和易用性。在后续章节中,我们将详细介绍如何通过加速度传感器采集数据,并利用特定算法对步数进行准确检测。

weixin_35756624的博客 667

android计步器摘要,基于加速度量测幅值零速检测的计步算法研究

行人运动时,三轴加速度值都发生周期性变化,但变化的程度和方向各不相同。如果仅利用单轴加速度作为判别行人步行姿态往往不准确,因此可以融合三轴加速度数值,将融合加速度的幅值‖a‖作为判别指标进行零速检测,步骤如下。(1) 三轴加速度转换为地理坐标系下的加速度序列$\left\{ a_{t}^{x}\left( 1 \right),\text{ }a_{t}^{x}\left( 2 \right),\c...

weixin_29105429的博客 420

Android老年健康助手:心率检测+计步器+定时提醒全功能开发实战

这套健康监测系统不仅仅是一堆算法和代码的堆砌,它的真正价值在于帮助人们建立更健康的生活方式。无论是通过摄像头捕捉指尖的微光,还是靠加速度传感器感知脚步的节奏,亦或是温柔地提醒你“该喝口水了”,每一个细节都在试图拉近技术与生命的距离。而作为开发者,我们的使命不仅是写出高效的代码,更要思考:如何让老人也能轻松使用?如何在精准与节能之间取得平衡?如何在收集数据的同时尊重隐私?这些问题的答案,才真正定义了一个“好”的健康应用。✨本文还有配套的精品资源,点击获取。

weixin_42599908的博客 603

Android项目源码利用加速度传感器实现计步

主要功能 记录行走的步数,行走的时间 根据录入的体重,步长可以计算出每天行走的历程,消耗的热量 对每天行走的历程进行记录,并给出星级评价 软件原理 判断人是否处于行走中,主要从以下几个方面判断: 人如果走起来了,一般会连续多走几步。因此,如果没有连续4-5个波动,那么就极大可能是干扰。 人走动的波动,比坐车产生的波动要大,因此可以看波峰波谷的高度,只检测高于某个高度的波峰波谷。 人的反射神经决定了人快速动的极限,怎么都不可能两步之间小于0.2秒,因此间隔小于0.2秒的波峰波谷直接跳过通过重力加速计感应,重力变化的方向,大小。与正常走路或跑步时的重力变化比对,达到一定相似度时认为是在走路或跑步。实现起来很简单,只要手机有重力感应器就能实现。 软件记步数的精准度跟用户的补偿以及体重有关,也跟用户设置的传感器的灵敏度有关系,在设置页面可以对相应的参数进行调节。一旦调节结束,可以重新开始。手机QQ早就加入了计算步幅功能,还能和好友PK“炫步”。本项目可以作为一个独立的模块放到合适的项目里面。

Android实现频谱离散傅立叶(附带源码)

Android实现频谱离散傅立叶(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 845

IP_camera_android:使用带有运动检测算法的旋转 IP 摄像机进行监视的 Android 应用程序

IP_Camera_android 使用带有运动检测算法的旋转 IP 摄像机进行监视的 Android 应用程序 使用 Vivotek PZ7131 IP 摄像机进行监控的移动应用程序。 为了开发应用程序,我使用 Android SDK 和 Eclipse IDE。 首先,我必须设置路由器和 IP 摄像头来分配静态 IP 地址。 使用静态 IP 地址,我们可以直接向 IP 摄像机发送命令。 CGI 命令用于旋转 IP 摄像机、视频和音频流以及用于捕捉 IP 摄像机帧的命令。 该应用程序能够检测运动,因为有一个比较连续帧的功能。 比较帧的函数作为异步任务执行。 如果检测到运动,应用程序会向用户界面发送警报。 测试:LG Nexus 4

一个简单的Android计步器

制作一个最简单的安卓计步器

TDSSS的博客 3541

计步器的三种实现(直接可以用)

计步器的三种实现,包括加速器的实现,Android的GPS地位,百度定位API的demo,都是简化过得核心代码,可以直接加载到Eclipse上运行

人工智能入门系列之一: 鸢尾花(Iris)多分类的神经网络详解及代码实现

这是最好的时代,我们一起来打造属于自动驾驶汽车上路、无人机飞天、智能机器人管工厂的AI未来 人工智能领域分化为两个阵营:其一是规则式(rule-based)方法,在人工智能早期占主峰;其二是神经网络(neural network)方法,后起之秀。随着硬件水平的提高,算力的指数式增长;人工智能的重心已经从规则式的专家时代转移到神经网络的数据时代。 “神经网络”不选择把人脑熟稔的逻辑规则传授给计算机...

NLP家的码奴小荷的博客 2万+

在 Mac 上免费运行 iOS 应用:PlayCover 键位映射完整配置手册

Mac 无法运行 iOS 应用,原因不是硬件不够,而是系统接口不同。PlayCover 用一套「伪装环境」填平了这道墙,让 iOS 应用与游戏在 Apple Silicon Mac 上以原生性能运行。它是免费开源项目,你导入一个 `.ipa` 文件,就能在大屏上用键盘、鼠标或手柄操作游戏。 [![PlayCover 应用库界面,展示在 Mac 上运行的 iOS 应用与游戏图标网格](https:

gitblog_01019的博客 636

pandas,构造MultiIndex的四种方法:from_tuples、from_arrays、from_product、from_frame

1、from_tuples:通过 “元组对” 构造MultiIndex """ 一对元组,为一个索引 """ tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) 2、from_arrays:通过 “列表元素的组合” 构造MultiIndex """ 列中表的元素,按位置 对应组合,形成索引 """ arrays

jieru_liu的博客 5387

探索 Android 计步器:从原理到实践

Android studio成品源码项目计步器锻炼跑步步数,该计步器实现了实时计步,设定计划提醒,历史记录等功能。App调用手机重力感应器实现计步。某些机型计步反应不灵敏,适合新手学习计步原理。开发语言:java最近在研究 Android 开发,发现计步器这个项目对于新手理解传感器应用以及 Android 开发流程超有帮助,今天就来和大家唠唠这个 Android studio 成品源码的计步器项目。

hlABgYML的博客 1325

手把手教你用AD9834 DDS模块DIY一个可调信号源(附AD原理图/PCB/程序)

本文详细介绍了如何使用AD9834 DDS模块DIY一个高精度可调信号源,涵盖硬件搭建、原理图解读、PCB优化和程序烧录等关键步骤。通过STM32控制实现0-10MHz频率范围输出,特别适合电子设计与射频实验,提供完整的AD原理图、PCB设计和程序代码参考。

weixin_31854867的博客 407

探秘开源计步器项目:Stepcount

探秘开源计步器项目:Stepcount 在健康生活越来越受到重视的今天,我们身边的智能设备如智能手机、智能手环等都具备了计步功能。但是,你是否想过自己动手实现一个这样的功能呢? 是一个开放源码的计步器项目,让我们一起深入了解一下它是如何工作的,它的技术亮点在哪里,以及我们可以如何利用它。 项目简介 Stepcount 是由开发者 finnfu 创建的一个轻量级、高效的计步器软件。它主要通过手机加速...

gitblog_00007的博客 609

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客 1697

目前最精准的Android开源计步器

作者:码农一颗颗 链接:http://www.jianshu.com/p/cfc2a200e46d 昨天逛简书看到的文章,记得很久前也有朋友咨询计步器怎么实现,如何保活之类的,刚好看到了文章,然后下载了demo体验了一哈,顺便看了下代码,也算是补充了一下自己的知识面。 因为是取得系统计步数,也是相当的精准,今天有意跑了一天,和微信运动做了下对比。   两者差距大概在20步,可以说...

lou_liang的博客 1万+

从建模到调参:基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程解析

本文详细解析了基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程,涵盖运动学建模、仿真环境搭建、PID控制器设计与实现等关键环节。通过Simulink仿真和可视化调试技巧,帮助开发者掌握移动机器人运动控制的核心技术,提升轨迹跟踪精度与性能优化能力。

weixin_28717683的博客 243

2026年软件测试职业院校技能大赛—ERP管理平台-采购入库模块Bug定位与查找

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 195

探秘开源计步器应用:StepCounter

探秘开源计步器应用:StepCounter 去发现同类优质开源项目:https://gitcode.com/ 项目简介 是一个由开发者zhouguangfu09打造的开源计步器项目。它利用手机的传感器数据来追踪用户的步数和运动状态,旨在提供一种轻量级、易于集成到其他应用程序或设备中的计步解决方案。 技术分析 StepCounter的核心是通过Android系统的Sensor API来获取加速度数据...

gitblog_00069的博客 692

手把手教你学Simulink--基于Simulink的近端策略优化(PPO)路径规划仿真建模

本文详细介绍了如何利用Simulink进行近端策略优化(PPO)路径规划的仿真建模。首先,文章概述了PPO路径规划的特点和挑战,强调了其在连续或离散动作空间问题中的高效性和稳定性。接着,列出了所需的工具和环境,包括MATLAB/Simulink、Reinforcement Learning Toolbox等。随后,文章分步骤详细讲解了从定义任务需求到验证与分析的整个仿真建模过程,包括创建Simulink项目、集成智能体模型、构建环境模型、编写PPO路径规划逻辑、将逻辑集成到Simulink模型中以及最终的验

MHD0815的博客 165

Android——学习计步器心得(一)

自己研究加上网上查资料基本上

K-night的专栏 5519

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android,第一個學習項目:計步器

要開發一個計步器,要涉及到以下幾個方面: 1、重力加速器對象的使用   關於這方面的例程代碼可於網上找到,已經按例程完成了一個小Demo. 2、計步的邏輯算法(即如何根據重力加速器,x,y,z的值變化判斷為一步)   計步邏輯在網上的資料不多,基本是根據前後值的大小超過某一值則為一步,個人認為不太合適,目前正在開發一個記錄重力加速器變化的log小程式,來了解變化規律。  ...

dianqiao3463的博客 125

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: Android http 通信
下一篇: 基于STM8的ADC0832采集及蓝牙通信系统
DevinTT
博客等级 码龄14年 283粉丝 35原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值