随着社会的发展,许多朋友越来越重视自己的健康,跑步已经成为一种方便有效的锻炼方式。但是你怎么知道你跑了多少步,跑了多远?计步器可以帮助人们实时掌握锻炼情况。它的主要功能是检测步数,步行距离可以通过步数和步幅来计算。步幅信息可以通过走一段固定距离或者直接输入来计算,高级计步器还可以计算人体消耗的热量。
但是这些计算的主要基础是检测步数。那么一个小手环或者手机APP怎么知道你每天走多少步呢?今天,让我们来看看计步器是如何工作的。
你知道计步器最早是由意大利的达芬奇酿造的,但是现存最早的计步器是在1667年制造的,比达芬奇晚了150年。
在日本,计步器已经使用了40多年,主要用于运动以及分析和记录行走速度。最初的计步器通常使用100原理作为步频记录技术,使用加权机械开关来检测步频,并且具有简单的计数器。如果你摇动这些设备,你可以听到一个金属球来回滑动,或者一个钟摆从一边摆动到另一边,敲响砖块。现在,这种机械计步器早已淡出历史,取而代之的是电子计步器。
计步器的工作原理
路,是一步一步走来的。即使我们以看似均匀的速度走来走去,我们携带的设备(如手机、运动手环)的每一步都经历了过山车般的“加速”变化。
一般来说,抬腿迈一步,加速度最大。我们把它放在一个坐标轴上,加速度的变化看起来像是cos波形。
在两个峰之间,可以认为是一个台阶。如果连续出现8个峰值(不同硬件厂商标准不同),基本可以确定这个人在运动。
设备开始将这些前向波动和后向波动分步骤计数。这是计步最基本的原理。
在实际场景中,算法还需要去除一系列“噪声”。比如我们走路时,口袋里的手机会上下晃动,导致不同方向的加速度。此时算法要判断并去除“噪声”,只留下最重要的运动特征。
计步器类型
目前市场上的计步器主要分为两类:机械式计步器和电子式计步器。
机械式计步器主要通过感应手臂或腰部的晃动来测量脚步。机械计步器通常有一个运动阈值。当运动加速度大于这个阈值时,可以通过内部机械装置感应到,然后开始计步。由于运动阈值不可调,机械式计步器在某些情况下是不会数步的,比如走路慢,手臂摆动幅度小,就不会数步。另外,非行走状态下的大范围运动也会导致计步,比如抬起挠头等动作会导致误计。
电子计步器通常内置一个加速度计和一个算术单元。加速度传感器感知用户加速度的变化,然后单片机估计行走的步数。电子计步器通常采用三轴加速度传感器,可以感知用户在三维方向的运动,内置复杂的计步算法。
与机械计步器相比,电子计步器具有更高的计步精度和更强的抗干扰能力。目前智能手机和部分非智能手机内置加速度传感器,只需增加相应的软件即可实现计步,而不增加硬件成本。智能手表和智能手环还内置加速度传感器和计步算法,方便用户监控自己的运动。
以放置在手腕处的加速度传感器为例。当用户水平行走时,手腕处的加速度会受到重力加速度和手抖加速度的影响。如下图,红色箭头表示重力加速度,绿色箭头表示割手加速度。
行走过程中,重力加速度始终垂直于地球,手割动作带来的加速度周期性变化。反映在图表中,我们可以看到,垂直和向前运动产生的加速度和时间大致是行走运动中的一个周期信号。
通过检测和计算轨迹的峰值并确定加速度阈值,可以实时计算用户运动的步数,进而估计用户的行走距离。
计步器的计步算法
计步算法可以分为四类:峰值检测算法、变换域算法、滤波算法和模式识别算法。根据所设计的计步器在人体上的不同位置,如手腕、腰部和鞋底,可以选择不同的计步器算法。
峰值检测算法原理简单,易于实现,应用广泛。简要介绍了峰值检测算法。用户可以将设备放在口袋或包里,或者在锻炼时拿在手里。因此,设备的放置方向不确定。首先,通过计算三个加速度的矢量长度,我们可以得到行走运动的正弦轨迹。
第二步是峰值检测。我们记录最后的向量长度和运动方向。通过改变矢量长度,我们可以判断当前的加速度方向,并与上次保存的加速度方向进行比较。如果相反,即刚刚过了峰值状态,则进入步数计数逻辑进行步数计数,否则,放弃本节。通过累计高峰时间,我们可以计算出用户行走的步数。
最后,去除噪声(干扰)。手机或智能手表等手持设备会出现一些低幅度、快速的抽搐状态,俗称手抖,或者用户想通过短时间反复摇晃设备来模拟人走路。如果不去除这些干扰数据,会影响阶跃记录的准确值。对于这种干扰,我们可以通过在检测中加入阈值和步进频率判断来进行滤波。目前人类最快的跑步频率是5HZ(当然也不排除人类的跑步频率在其他设备的帮助下超过了这个频率),也就是说相邻两步的时间间隔至少大于0.2秒,比如图中的计步时间,如果两步计数的时间间隔小于0.2秒,则不算一步。这样我们就滤除了高频噪声,也就是步进频率过快的时候。同时,通过与上一次加速度的比较,我们设置了一定的阈值来判断运动是否有效(图中绿线)。只有动作有效,才能记录步骤。
如果你知道行走和跑步的步数,就可以通过人体的身高、体重、性别大致知道这个人的步数大小,然后经过改进成为一个距离、速度计。通过三轴加速度传感器,我们可以知道用户的运动状态。除了计步,还可以通过集成加速度传感器与陀螺仪和磁传感器来计算行走轨迹。
计步器典型工作设计方案
步数识别系统
步数识别系统是指运行在手机上的一个应用程序,可以监控用户已经走了多少步。它通常由以下三部分组成:
用于收集传感器数据的传感器模块;
特征提取模块,用于对原始数据进行处理和分析,提取特征并建立模型;
硬件设备
重力传感器(G-Sensor),也称加速度传感器,用于感应加速度的变化,以三维加速度分量表示。重力传感器用于许多智能设备。比如一些高端笔记本电脑内置G-Sensor,在受到严重拉扯(如跌落)时可以立即启动硬盘保护,避免硬盘损坏。再比如苹果的iPhone,用G-Sensor感知手机屏幕的方向。看视频时,手机水平放置,屏幕自动旋转,大大增加了用户体验。
方案实现
在日常生活中,人们通常把手机拿在手中放在裤兜里,女人经常把它们放在包里。因为手机的外部环境总是很复杂,裤兜又松又紧,所以放在宽松裤兜里的手机比放在紧裤兜里的手机更容易抖动,产生更多的噪音。为了使算法尽可能适合不同的应用环境,需要对大部分应用环境进行测试。首先,四个人(可能使用八个以上)在不同的手机使用环境下收集数据,因为人们在同一场合使用手机的习惯不同。其次,对采集的数据进行特征提取。最后,提取的特征模型用于识别测试。
数据采集
重力传感器提供的数据如表1所示。
我们算法的采样频率为20HZ,采样环境有:慢走、快走、跑步、骑自行车、打车、坐公交车、乘电梯(上/下)、坐地铁、上下楼梯。其中走路的收集100步(走慢、走快等)的数据。),但走路的不收集1分钟的数据。由于手机(放在口袋和包里)在开始和结束时会有一些波动,这不是我们想要的,所以这两个时期的数据可以删除或忽略。将手机放入口袋,采集原始的Length字段数据,在Excel 2007上绘制波形图,如图1所示。横轴为各采样点的指标,纵轴为Length值,即加速度值,该值在9.8左右变化。
图1。长度场波形图
特征抽出
因为采集到的数据包中含有噪声,尤其是两个动作开关之间的Length字段值波动比较大,比如走路慢,上楼梯。这里用快速傅里叶变换(FFT)处理Length场的数据,波形图如图2所示。纵轴向下平移了9.8。
图2。快速傅里叶变换处理后的长度场波形图
我们发现上面的FFT处理后的波形表现出一定的规律,即在一定的时间内网格中总有一个波谷,我们称这个点为“踩在点上”(比如图3中的点1、2、3、4),即加速度最小的时刻(脚踩下时,手机有一个相对向下的“下落”过程)。另外,图3中的a点也是波谷,但这个点是波动点,需要剔除。所以,踩在当场一定要小于某个值——阈值。脚抬起(“起点”)时,身体对手机施加的力会增大,加速度也会增大。所以,起点一定要大于阈值,这个叫做起点,因为我们只关心状态的变化。通常走路时,步距之间有一定的时间间隔,走得快时间隔较短,走得慢时间隔较大。如果是跑步,人类的极限是每秒跑5步,也就是1步0.2秒。从起点到步进点一次改变状态是一个步骤。因此,我们建立了一个包含以下两个元素的模型m:
1.长度满足某个阈值,例如–阈值
2.两个连续步骤之间的时间间隔必须在时间跨度内(200~2000毫秒)
图3。模型满足的条件
步数识别
我们使用建立的模型来测试在出租车环境中收集的数据,波形图如图4所示。
图4。出租车环境下的模型测试数据
我们可以看到,后一段时间是比较稳定的,前面有一些波动,导致错误的识别,识别是行走。我们可以改进这个模型,增加一个约束条件:在监控k个(比如3个)连续的步进点后开始计步,所以计步从图3中标记为4的点开始。这种约束可以消除大部分抖动。最后的模型用于检查不同环境下采集的数据,计步的结果相当准确。
计步器日常应用问题解答
现在我们对计步的基本原理有了一定的了解。顿时觉得好简单!然后我们来看看下面简单的问题。
问:你是否同时采取会计步骤?
是的,就像散步一样。因为你是站着不动的,虽然相对于地面没有位移,但是有加速度。同理,当你在跑步机上跑步时,不要担心,记住步数。
问:坐着抖腿?
答:这和你抖腿的幅度和频率有关,和你是惊骨还是手机厂商有先进的算法有关。任何震动都会被收集,但是不同硬件厂商的算法可能会对这些场景有不同的处理。
问:绑狗可以吗?
答:既然你问了,恐怕只能说跟狗的性格有关。如果一只安静的狗或一只小狗走得很慢,他/她踩踏产生的加速度可能没有某些人高,达不到算法的阈值。活泼或年长的狗具有与人类相似的加速特性,更容易“欺骗”算法。不同的手机厂商有不同的算法优化方案。
问:我活在3.1,每天只走几千步。如果有机会坐火车,可以把步数刷的很厉害吗?
答:计步的基本原理不是采集距离或速度,而是采集加速度。火车无论走多远,跑多快,大多数情况下都是匀速运动(甚至是加减速),加速度变化不大,无法形成类似行走的波形。在火车上,如果不走,数步数的可能性很小。
后续:在火车上晃手机怎么办?
答:摇一摇还可以,因为有一个纵向加速度,会在纵向产生波纹。但这和火车没有关系,原地抖腿也没有本质区别。
问:为什么我坐公交车要数步?
答:是的,计算公交车步数的概率比较高。路况有一定影响。在繁忙的道路上行驶时,走走停停会产生加速度变化。也和司机的驾驶习惯有关。如果驾驶员不停地刹车或猛踩,加速度会有很大的影响。如果遇到一个老本地司机,开车很顺畅,对路况也很熟悉,乘客数着步就不容易了。
问:厂商有自己的算法,不同设备的用户在微信活动中一起排名。怎么可能公平?
答:其实除了抖腿和坐公交车,走路和跑步是日常运动最重要的场景。这些基本场景的算法在行业内相对统一。微信也有一套针对主要场景的测试程序,保证不同设备统计的步数差别不大。对于极端场景,算法会不断优化。
最后还有你一直想问的出轨问题。
其实作弊的地方很多。特别是Android,是开源系统,可以人工上报数据。微信有一套防作弊机制,比如简单的在用户手机上验证速度的有效性。如果你一秒钟走10步,这个数据可能会被系统直接抹掉。而他被给了暂停数步的机会,让他觉得作弊没用。
如你所想,不可能抖腿,绑狗,骗一点。对于严重明显的连续作弊,微信会邀请他上黑名单,他的数据也不会被别人看到,只能自鸣得意。
1.《计步器 厉害了!计步器是如何记下你的步数的》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《计步器 厉害了!计步器是如何记下你的步数的》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1179329.html