3

我在查找或实现查找信号源的算法时遇到了一些麻烦。我的工作目标是找到声音发射器的位置。

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

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

我已经实现了找到到达时间差的算法,但我的问题更多是关于多点定位的工作原理,根据我的参考,我不清楚,我找不到任何其他免费/开放的好参考。

我看到这篇文章Trilateration using TDOA 但我不知道如何求解多点测量的维基百科页面的方程组(7),因为我只有三个 TDOA。

对此的任何帮助将不胜感激

4

2 回答 2

5

你有三个传感器坐标A,B,C,未知的信号源坐标,P未知的信号开始时间t0,和3次信号配准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分解等。

请注意,求解精度很大程度上取决于坐标和时间测量中的小误差(这种方法不是很稳健)。

于 2016-03-23T11:30:33.443 回答
1

在几何上,双曲线表示两点之间的距离差恒定的点云。您有 3 分,但如果成对计算,3 对可能的对之间的时间差将允许您绘制 3 条双曲线。在绘图上寻找双曲线相交处或之间的点。或求解等价代数(最小二乘)。

于 2016-03-25T05:59:35.810 回答