欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

为什么智能手环总是高估你跑步的距离?

程序员文章站 2022-06-26 14:36:14
不知道你有没有这样的体会:在400米一圈的跑道上,刚跑过2圈不久,你手机上的计步软件或者智能手环就提醒到,“完成1公里”,尽管你离第3圈的一半还有一段距离。是计算错误?还是智能...

为什么智能手环总是高估你跑步的距离?

不知道你有没有这样的体会:在400米一圈的跑道上,刚跑过2圈不久,你手机上的计步软件或者智能手环就提醒到,“完成1公里”,尽管你离第3圈的一半还有一段距离。

是计算错误?还是智能手环的生产商在故意讨好你?

都不是。智能手环总是高估你跑步距离的原因是GPS统计距离所用的方法,对,这是个很奇怪的故事。

GPS是这样计算距离的:采集整条路线上的一系列坐标,然后计算每相邻两个坐标间的距离,最后把每段的长度加起来就得到了完整距离。

计算方法很简单,也很直观,可为什么总是会出现误差呢?你可能会分析,现实中的路线绝大部分都不是直线,而GPS是通过计算每两个坐标间的直线距离,最后相加而得到整条路线的近似距离的。可如果这样,GPS计算的距离应该小于实际距离,为什么现实中却刚好相反呢?

对了,GPS在采集坐标时是会出现误差的。整条线路上的每个坐标点都可能偏离实际路线,尽管现在的GPS精度已经很高,但每两个点之间都有偏移,加起来也会影响最终的结果。但如果坐标点偏移,是不是也有可能使距离变短呢?如果偏移是随机的,那GPS最终统计的距离大于或小于实际距离出现的概率是一样的?

尽管你考虑的很周到,但你还是错了。最近,奥地利大学、代尔夫特理工大学(荷兰)和独立研究机构Salzburg Forschungsgesellschaft的研究人员做了一系列测算发现,和误差的分布无关,GPS测出的两点间的距离总是大于实际距离,除非两个点之间的误差值是完全一样的。

这是因为,两点之间直线是最短的,只有当两个点的位置同时沿着这条直线往一起偏移时,GPS测得的距离才会小于实际距离,但实际上,根据研究人员的测量,这种情况极少会发生。由于总距离是每两个点之间距离相加的总和,最后GPS测得的数据就总是大于实际距离。

研究人员还建立了一个公式来计算GPS测量的距离到底偏移了多少(OED,Over Estimate of Distance):

其中,d0是实际距离,var是GPS偏移数值的方差,C是偏移数值间的自协方差,最后计算的结果的总是正数,也就是说,GPS测量的数据总是大于实际距离。

除了理论计算,研究人员还进行了实验。他们找了一个10米见方的场地,然后每隔1米进行标记,测量人员围着场地走,然后在每个标记点读取GPS数值。

为什么智能手环总是高估你跑步的距离?

他们发现,1米-5米的实际距离,GPS测量的数据是1.2米-5.6米,误差在12%-20%之间。

所以,下次你的手环告诉你跑了5公里的时候,别相信它。不过,这对你来说不算什么大问题,而且还能满足你的虚荣心,不过,专业运动员有时会对此很苦恼,因为GPS装备总是高估他们的状态,这对于科学的训练不是什么好事。

那有没有方法解决这个问题呢?这可能涉及比较专业的问题,根据研究人员的提议,简单来说,就是改变GPS的测量方法,使用速度乘以时间来计算距离。这个数据更加精确,而且误差随机,不会出现测量距离总是大于实际距离的情况。

为什么智能手环总是高估你跑步的距离?