如何计算出每个岗位的xyz位置和时间差的倍数



我在计算乘法时遇到了一些问题。我首先要说的是,我不是一个数学天才,但我通常能够算出大多数东西,但这一个让我困惑。我是在阅读了《到达时差》之后才想到这一点的。

我有四个wifi适配器。每一个都代表一个三面金字塔中的一个点,所以我相信这应该可以把高度考虑进去。它们之间的相对位置也是固定的。

我想做的是监听wifi信号并找到它们的来源。理论上,我相信我应该可以利用每个wifi适配器"听到"数据包的时间差来找到数据包的来源。

我已经在这上面配了GPS。它允许我给每个wifi适配器一个实际位置(用一点数学)。

所以当我收到一个数据包时,这里是我所拥有的:

  • wlan1 (X, Y, Z, timestamp)
  • wlan2 (X, Y, Z, timestamp)
  • wlan3 (X, Y, Z, timestamp)
  • wlan4 (X, Y, Z, timestamp)

X和Y为后期/lng。Z为高度,单位为米,时间戳反映的是微秒。

要做的假设是XYZ是准确的。对于所有的实际目的,如果它们是关闭的,那么它们都是始终关闭的,这应该在查找源时反映出来。

我还没能弄清楚如何将任何数学应用于此,我正在寻找一个例子。如果需要,我可以提供一些实际的数据。最终目标是开发一个机器人项目,让机器人跟着你,或者更准确地说,跟着你的手机。我采用这种方法的原因是,它让我以一种最终应该非常容易在谷歌地图上可视化地调试的方式记录事情。

我相信,通过从每个点取一个时间差,并在适配器上比较它,我应该能够在原点位置有一个比较准确的镜头,但是这个数学现在对我来说太遥远了。

我把这个问题交叉贴到了数学网站上。

有各种各样的算法,我在这里找到了一篇简单的论文,看起来很有用,但在各种期刊上也有更高级的最小二乘算法。

作为一个警告,乘法对传感器的位置误差和到达时差误差非常敏感。所以你的结果可能不是特别好——你说你的时钟没有同步(它们需要同步),你正在使用GPS定位(有±3米的误差)。为了它的价值,你也可以使用GPS的时间,但我不确定在这个错误。

几个(不幸的是消极的)要点:

如果你的时间戳是在信号到达天线时计算出来的,那么你所能得到的就是到信号源的方向,而不是距离。毕竟,来自一百万英里外的信号在两个天线之间的传播延迟与来自一米外的信号的传播延迟相同。

除非您的机器人非常大,否则如果时间戳之间的增量不完全由而不是信号传播延迟因素支配,我会感到惊讶。电磁辐射的传播速度非常快,所以几乎没有犯错的余地。例如:

  • wifi适配器将有某种板载处理固件-它报告新信号的速度有多快?延迟是恒定的还是取决于802.11规范的神秘细节?你会收到一个信号到达的通知,还是收到一个完整的数据包的通知,而这个数据包可能是一系列ack和重传的结果?
  • 你的设备通过某种IO总线连接到适配器-即使我们假设适配器是完美的,当接收到一个新的脉冲时,在这个总线上也会有争用-哪个适配器获胜并首先得到处理?
  • 你的设备可能有一个单核CPU -多快能从一个适配器的信号被处理并给出一个时间戳?事件之间的延迟将决定时间戳的保真度,从而决定系统的最大精度。
  • 设备是否完全致力于将时间戳放在信号上,或者是否有其他软件也在运行?如果其他事件抢占了您的信号处理,该怎么办?
  • 如果您在室内环境中,您将获得间接传播-假设系统本身是完美的,那么您如何检测在一个适配器上检测到的信号通过反弹到墙壁或两个较长的路径的情况?

最新更新