XINJH
网络有趣资源收集分享

别骗我!手机怎么知道你是在遛弯儿还是在狂奔?

本文于 2025-09-13 18:29 更新,部分内容具有时效性,如有失效,请留言

你有没有这样的经历?

刚下班慢悠悠踩着夕阳回家,手机健康 App 给你发勋章:“今日步行 6000 步”。

第二天你追公交狂奔 200 m,App 又跳出来:“检测到跑步 0.2 km,消耗 20 kcal”。

你心里犯嘀咕:我也没告诉它啥时候换档啊,它怎么分得这么清?

其实答案就藏在手机里的一对“小间谍”—— 加速度计陀螺仪,它们每天 24h 不眠不休地采样、算数、打小报告,无比敬业!

今天咱们把这两个小间谍拎出来,审审它们到底怎么“出卖”你。

1、间谍 1(加速度计)档案

主攻方向:测“推背感”的高手

实现原理

想象一个密封的小盒子,里面用弹簧吊着一颗微型铅锤。

只要你一晃盒子,铅锤就偏离原位。

手机里面的加速度计就是这样一个盒子,只是它被缩小到了 1 mm³ 大小,用一小块硅做“铅锤”(质量块 m),用几根比头发还细的硅梁做“弹簧”(弹簧系数 k)。

手机往右加速,“铅锤”因为惯性想“赖在原地”,就会相对外壳往左偏移。

偏得越多,硅梁弯得越狠。

因为在硅上镀了金属,使得“铅锤”形成了一个可移动的电极,它与加速度计 MEMS(Micro-Electro-Mechanical Systems,微机电系统)底座上固定着的两对静止电极(一个在上、一个在下)形成两个背靠背的电容:

静止电极 1 ─── “铅锤” ─── 静止电极 2

(固定)(可动)(固定)

手机加速时,“铅锤”微微位移,离某一静止电极更近、离另一静止电极更远,两个电容的电容值一个增大、一个减小。

MEMS 里的电路测的正是这一对电容的差值 ΔC,从而算出位移 Δx,通过胡克定律( F = k・Δx)和牛顿第二定律(F = m・a),算出加速度 a = (k / m)・Δx。

因此,不管你是在走路时,手机在口袋里轻微晃,还是跑步时手机在口袋里猛烈的颠,加速度计都会全部忠实记录手机感受到的“推背感”的情况。

2、间谍 2(陀螺仪)档案

主攻方向:测“转体”的专家

实现原理

想象你用手指轻轻拨动一只高速旋转陀螺,无论怎么扭手腕,陀螺的转轴都倔强地指向原来的方向。

手机里的陀螺仪就类似于把这只陀螺缩成一粒沙大小,并用电流“拨”它永远旋转。

在陀螺仪 MEMS 的中央悬浮着一个硅环,四条细若发丝的硅梁把它悬空固定。

此硅环被静电力驱赶着在平面内高速振动,振动方向设为 X 轴。

就像是那只高速旋转的陀螺。

当你突然旋转手机(跑步摆臂、甩腕拍照),硅环因为惯性想保持原振动方向,而手机外壳却被你带走。

两者之间产生一股“科里奥利力”,像一双隐形的手,把硅环的振动“掰”到 Y 轴上一点点 —— 掰得越远,说明转得越快。

MEMS 在硅环两侧各放一排固定电极,形成差分电容。

硅环被掰到 Y 轴后,一边电容变大,一边变小,测出电容差值 ΔC,就能换算成角速度 θ(单位 rad / s,弧度每秒)。

因为走路时,手机几乎不旋转,而跑步时,手臂大幅摆动,手机随之来回翻转,角速度信号陡增。

所以手机通过这个角速度,就已经知道你在“原地转身”还是“冲刺摆臂”啦。

3、两个间谍是如何打配合算出步数的?

一句话招供:手机用加速度计把每一步上下颠簸形成的“波峰”数出来,再用陀螺仪剔除假抖动,而两个波峰=一步,累计就是总步数。

展开说:

1. 采样:加速度计输出加速度后,通过高通滤波器去掉重力,留下人体运动的信号数据。

2. 找峰值:在步行频率(1 Hz~2 Hz)、跑步(2 Hz~3.5 Hz)的范围内,用阈值检测每个上下峰值。两个有效峰值之间的时间差≈一步周期。

3. 验证 & 累加:若陀螺仪角速度同步出现周期性摆动,则确认为真实步伐;若仅有加速度峰值而无陀螺仪对应摆动(如手抖),视为假步并剔除。

4. 通过计数后的有效峰值周期数即为总步数,实时累加并上报给健康 App。

4、走了多远距离,又是怎么算出来的呢?

一句话招供:先算“一步多长”,再乘“多少步”。

展开说

1. 算步长:用加速度峰值和步频实时估算 —— 步频 ↑、峰值 ↑ 时,步长 ↑;通过机器学习模型把加速度峰值和步频映射成动态步长。

2. 算距离:距离 = Σ(每一步的步长)。

5、卡路里,又是怎么算出来的?

一句话招供:卡路里 = 消耗功率 × 时间,而消耗功率 = 体重 × 移动距离 × 经验系数。

展开说

1. 拿体重:你填过健康资料就用你的;没填就按性别 + 年龄 + 地区平均估算。

2. 拿距离:步数 × 动态步长(前面已算)。

3. 拿经验系数:走路 ≈ 0.57 kcal / kg / km;跑步 ≈ 1.03 kcal / kg / km。(不同算法略有差异,但数量级一致)

4. 套公式:消耗卡路里 = 体重 × 距离 × 经验系数 × 时间

互动

审完手机间谍,我们一起来挑战一个小实验:请你把手机锁屏放入口袋,完成下面两步:

1. 原地匀速高抬腿 10 秒(假装跑步)。

2. 正常走路 10 秒。

完成后解锁手机,看看健康 App 是否准确识别了两种状态?

赞(0) 打赏
本文链接:信聚合 » 别骗我!手机怎么知道你是在遛弯儿还是在狂奔?

评论 抢沙发

登录

找回密码

注册