使用到达时间差的信号的三角测量

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

为了达到这个目的,我使用了三个微缩模型。 我使用的技术是基于到达时间差 多点

使用接收信号的交叉相关来找到每个微小信号到达时间差

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

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

提前致谢。


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

维基百科页面为您做了一些计算。 他们用3D来做,你只需要设置z = 0并求解方程组(7)。

该系统超定,所以你会想要在最小二乘意义上解决它(这实际上是使用3个感受器的关键)。


一般来说,我可以为你提供多方面的帮助。

基本上,如果你想要一个3D解决方案 - 你必须有至少4点和4个距离(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} 

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

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

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

上一篇: Trilateration of a signal using Time Difference of Arrival

下一篇: queue job dispatch algorithm