8

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

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

使用接收信号的互相关来找到每个微型麦克风之间的到达时间差。

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

如果您有一些关于我如何实现多边测量算法的参考资料,或者我可以根据到达时间差使用的其他三边测量算法,那将是一个很大的帮助。

提前致谢。

4

2 回答 2

3

您正在寻找的点是三个双曲线的交点。我在这里假设 2D,因为您只使用 3 个受体。从技术上讲,您可以找到一个独特的 3D 解决方案,但由于您可能有噪音,我假设如果您想要 3D 结果,您将使用 4 个(或更多)麦克风。

维基百科页面为您进行了一些计算。他们在 3D 中执行此操作,您只需设置 z = 0 并求解方程组 (7)。

该系统是超定的,因此您将希望以最小二乘的方式解决它(这实际上是使用 3 个受体的重点)。

于 2011-05-08T18:55:26.237 回答
2

一般来说,我可以帮助您进行多点定位。

基本上,如果你想要一个 3d 的解决方案 - 你必须至少有 4 个点和 4 个距离(2 - 给你解决方案所在的圆圈 - 因为那是 2 个球体之间的交点,3 个点给你 2可能的解决方案(3个球体之间的交集)-因此,为了获得一个解决方案-您需要4个球体)。因此,当您有一些点(4+)和它们之间的距离(有一种简单的方法可以将 TDOA 转换为仅具有长度类型距离/而不是时间/的方程组)时,您需要一种方法来解决方程组。首先 - 你需要一个成本函数(或解决方案误差函数,我称之为),它类似于

err(x,y,z) = sum(i=1..n){sqrt[(x-xi)^2 + (y-yi)^2 + (z-zi)^2] - di} 

其中x, y,z是数值解中当前点的坐标xi, , yi,zidi是到第 i 个参考点的坐标和距离。为了解决这个问题——我的建议是不要使用牛顿/高斯或牛顿方法。您需要上述函数的一阶和二阶导数 - 并且它们在空间中的某些点具有有限的间断 - 因此这不是一个平滑函数,这些方法将不起作用。将起作用的是用于优化函数的直接搜索算法系列(找到最小值和最大值。在我们的例子中 - 你需要最小的误差/成本函数)。

这应该有助于任何想要为类似问题找到解决方案的人。

于 2016-12-04T14:17:53.190 回答