使用时差的信号三角测量(TDOA)

我在寻找或实现算法来寻找信号源方面遇到了一些麻烦。 我的工作目标是找到发声器的位置。

为了做到这一点,我使用三个振动传感器。 我使用的技术是基于到达时间差的多点定位。

使用接收信号的交叉相关来找到每个传感器之间的到达时间差。

我已经实现了算法来查找到达时间的差异,但是我的问题更多的是多边测量的工作原理,根据我的参考我不清楚,而且我也找不到任何其他有关自由/开放的良好参考。

我看到这篇文章使用TDOA三角测量但我无法弄清楚如何解决多点定位维基百科页面的方程组(7),因为我只有三个TDOA。

任何帮助,将不胜感激


您有三个传感器坐标A,B,C ,信号源的未知坐标在enter code here P,信号启动t0未知时间,以及三次信号注册ta, tb, tc

示例:让我们的传感器A在12:00:05捕获到信号,传感器B在12:00:00,传感器C - 12:00:07。 因此分配时间差: ta=5, tb=0, tc=7

从传感器到源的平方距离对应于速度为v的信号行走时间(空气或其他环境中的声速)

(Ax-Px)^2 + (Ay-Py)^2 = (v*(ta-t0))^2   {1}
(Bx-Px)^2 + (By-Py)^2 = (v*(tb-t0))^2   {2}
(Cx-Px)^2 + (Cy-Py)^2 = (v*(tc-t0))^2   {3}

打开括号,然后减去方程({2} - {1},{3} - {2},{1} - {3})以舍弃方块未知项。

 Ax^2-2*Ax*Px + Px^2 + Ay^2-2*Ay*Py + Py^2 = v^2*(ta^2 - 2*ta*t0 + t0^2)
 Bx^2-2*Bx*Px + Px^2 + By^2-2*By*Py + Py^2 = v^2*(tb^2 - 2*tb*t0 + t0^2)
 Cx^2-2*Cx*Px + Px^2 + Cy^2-2*Cy*Py + Py^2 = v^2*(tc^2 - 2*tc*t0 + t0^2)

 Bx^2-Ax^2 -2*(Bx-Ax)*Px + By^2-Ay^2 -2*(By-Ay)*Py = v^2*(tb^2-ta^2 -2*(tb-ta)*t0)    {1'}
 Cx^2-Bx^2 -2*(Cx-Bx)*Px + Cy^2-By^2 -2*(Cy-By)*Py = v^2*(tc^2-tb^2 -2*(tc-tb)*t0)    {2'}
 Ax^2-Cx^2 -2*(Ax-Cx)*Px + Ay^2-Cy^2 -2*(Ay-Cy)*Py = v^2*(ta^2-tc^2 -2*(ta-tc)*t0)    {3'}

现在你有三个线性方程组有三个未知数。 它可以用一些广泛的算法来解决 - 高斯消除,LU分解等。

请注意,解决方案精度很大程度上取决于坐标和时间测量中的小错误(此方法不是非常健壮)。


在几何学上,双曲线代表两点之间距离恒定不变的点云。 你有3分,但是配对,3对可能的时间差会让你画3个双曲线。 在双曲线相交的地方或之间寻找一个点。 或者求解等价代数(最小二乘)。

链接地址: http://www.djcxy.com/p/84919.html

上一篇: Trilateration of a signal using Time Difference(TDOA)

下一篇: Find Position based on signal strength (intersection area between circles)