我在寻找或实施一种寻找信号源的算法时遇到了一些麻烦。我的工作目标是找到发声器的位置。
为了达到这个目的,我使用了三种微电子。我使用的技术是多点定位,它基于到达时差。
使用接收信号的互相关找到每个微电子之间的到达时间差。
我已经实现了算法以找到到达的时差,但我的问题更多的是关于多点定位如何工作,根据我的参考,我不清楚,我找不到任何其他好的参考资料,这是免费/开放的。
如果您有关于如何实施多点定位算法或其他一些三边测量算法的参考资料,我可以根据到达时差< / strong>这将是一个很大的帮助。
提前致谢。
答案 0 :(得分:3)
您正在寻找的是三个双曲线的交集。我在这里假设2D,因为你只使用3个受体。从技术上讲,你可以找到一个独特的3D解决方案但是因为你可能有噪音,我认为如果你想要一个3D结果,你可能需要4个麦克风(或更多)。
wikipedia page为您做了一些计算。他们用3D做,你只需要设置z = 0并求解方程组(7)。
系统是超定的,因此您需要以最小二乘意义解决它(这实际上是使用3个受体的点)。
答案 1 :(得分: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
,zi
和di
是指向第i个参考点的坐标和距离。为了解决这个问题 - 我的建议是不要使用Newton / Gauss或Newton方法。你需要前面提到的函数的一阶和二阶导数 - 那些在空间的某些点上有一个有限的中断 - 因此这不是一个平滑的函数,这些方法是行不通的。可行的是用于优化函数的直接搜索算法系列(找到最小值和最大值。在我们的例子中 - 您需要最小的误差/成本函数)。
这应该有助于任何想要找到解决类似问题的人。