基于信号时延找出传感器相对位置的算法

问题描述

这与三角剖分有关,但以一种非直观的方式。

我们有n个传感器的传感器阵列,这些传感器在空间上是分开的。他们测量的信号的速度相对于传感器之间的距离足够低,因此我们可以测量传感器之间的信号延迟。 (例如,四个麦克风在听声音,每个麦克风相距1m或类似的距离。

我们不知道这些传感器相对于彼此的位置,也不知道信号源的位置,但是我们可以围绕阵列移动信号源,给我们带来多次延迟,这与天线的距离有关。传感器彼此相对(例如,将手拍在传感器阵列上)。

我们可以从一组延迟中找到数组的相对位置吗?

直觉上似乎是有可能的,因为我们知道信号的速度以及每个传感器中信号相对于彼此的延迟,因此我们了解了这些传感器的相对距离。

另一件事:如果信号很远,它的行为就像一个无限的平面源,但是如果信号很近,则波前是球形的,这会使事情变得复杂。

还有2D情况和3D情况。

The set up for one signal

此图像只有一个信号测量时刻

解决方法

是的,有警告。

由于您不知道源信号的时序,因此无法直接测量每个阵列与源之间的距离。

但是,您仍然可以分辨出不同阵列组件之间的距离差异。

这为每对数组组件提供了一个丑陋的方程式。您可以将其写为类似d_1 - d_0 - measurement_delay_1_0 * signal_speed = 0的形式,其中d_x是源与接收者之间的距离(sqrt((xs-xr) ^2 + (ys-yr)^2 + (zs - zr) ^2))。

一次测量不足以解决它。因此,现在将源沿X方向移动一个单位并进行新的测量。然后将光源沿y方向移动一个单位并进行测量。如果您使用的是3D情况,也许在z上一个。我怀疑这(或4次测量)就足够了,但我没有深入研究数学。

现在,如果这是一个完美的设置,您将获得完美的测量结果,并且应该获得一个多项式方程组,您应该能够使用已知技术(在Wikipedia或一本好的数学书上查找)来求解。

但是,现实世界并不完美,因此不太可能获得精确的数学解决方案。因此,第二件事是将其视为一种优化解决方案,在该解决方案中,您希望从最小二乘的角度对每个方程进行优化(再次查找)。这将为您提供最佳的位置近似值。令人高兴的是,您可以通过执行其他测量来提高此设置的准确性。

注意事项:

  • 疯狂的检测器放置可能会干扰溶液。理想情况下,探测器将不会是共面的。
  • 坐标系由移动源的方式决定。如果移动非常精确,则相对很小的移动会导致较大的误差。
  • 在现实世界中,您会得到回声和噪音。在尝试找到任何东西之前,您应该先解决这个问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...