使用到达时间差对信号进行三边测量
我在寻找或实现寻找信号源的算法时遇到一些麻烦。我的工作目标是找到声音发射器的位置。
为了实现这一点,我使用了三个麦克风。我使用的技术是基于到达时间差的多点定位。
使用接收信号的交叉相关可以找到每个麦克风之间的到达时间差。
我已经实现了算法来查找到达时间差,但我的问题更多是多边定位如何工作,根据我的参考资料,我不清楚,而且我无法'找不到任何其他免费/开放的好参考。
如果您对我如何实现多点定位算法或我可以基于到达时间差使用的其他三边测量算法有一些参考这将是一个很大的帮助。
提前致谢。
I am having some trouble to find or implement an algorithm to find a signal source. The objective of my work is to find the sound emitter position.
To accomplish this I am using three microfones. The technique that I am using is multilateration that is based on the time difference of arrival.
The time difference of arrival between each microfones are found using Cross Correlation of the received signals.
I already implemented the algorithm to find the time difference of arrival, but my problem is more on how multilateration works, it's unclear for me based on my reference, and I couldn't find any other good reference for this that are free/open.
If you have some references on how I can implement a multilateration algorithm, or some other trilateration algorithm that I can use based on time difference of arrival it would be a great help.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您要寻找的点是三个双曲线的交点。我在这里假设 2D,因为你只使用 3 个受体。从技术上讲,您可以找到独特的 3D 解决方案,但由于您可能会产生噪音,我假设如果您想要 3D 结果,您会使用 4 个麦克风(或更多)。
维基百科页面 会为您进行一些计算。他们以 3D 方式进行计算,您只需设置 z = 0 并求解方程组 (7)。
该系统是超定的,因此您需要在最小二乘意义上解决它(这实际上是使用 3 个受体的要点)。
The point you are looking for is the intersection of three hyperbolas. I am assuming 2D here since you only use 3 receptors. Technically, you can find a unique 3D solution but as you likely have noise, I assume that if you wanted a 3D result, you would have taken 4 microphones (or more).
The wikipedia page makes some computations for you. They do it in 3D, you just have to set z = 0 and solve for system of equations (7).
The system is overdetermined, so you will want to solve it in the least squares sense (this is the point in using 3 receptors actually).
一般而言,我可以帮助您进行多重定位。
基本上,如果你想要 3d 的解决方案 - 你必须至少有 4 个点和距它们的 4 个距离(2 - 给你一个解决方案的圆 - 因为这是 2 个球体之间的交点,3 个点给你 2可能的解决方案(3 个球体之间的交点) - 因此,为了获得一种解决方案 - 您需要 4 个球体)。因此,当您有一些点 (4+) 以及它们之间的距离时(有一种简单的方法可以将 TDOA 转换为方程组,只具有长度类型距离/而不是时间/),您需要一种方法来求解方程组。首先 - 你需要一个成本函数(或者我所说的解决方案错误函数),类似于
where
x
,y
,z
是数值解中当前点的坐标,xi
、yi
、zi
和di
是坐标,到第 i 个参考点的距离。为了解决这个问题 - 我的建议是不要使用牛顿/高斯或牛顿方法。您需要上述函数的一阶和二阶导数 - 并且它们在空间中的某些点上有有限的中断 - 因此这不是一个平滑函数,这些方法将不起作用。有效的是直接搜索用于优化函数的算法系列(找到最小值和最大值。在我们的例子中 - 您需要误差/成本函数的最小值)。这应该可以帮助任何想要找到类似问题解决方案的人。
I can help you with multi-lateration in general.
Basically, if you want a solution in 3d - you have to have at least 4 points and 4 distances from them (2-give you the circle in which is the solution - because that is the intersection between 2 spheres, 3 points give you 2 possible solutions (intersection between 3 spheres) - so, in order to have one solution - you need 4 spheres). So, when you have some points (4+) and the distance between them (there is an easy way to transform the TDOA into the set of equations for just having the length type distances /not time/) you need a way to solve the set of equations. First - you need a cost function (or solution error function, as I call it) which would be something like
where
x
,y
,z
are coordinates of the current point in the numerical solution andxi
,yi
,zi
anddi
are the coordinates and distance towards the ith reference point. In order to solve this - my advice is NOT to use Newton/Gauss or Newton methods. You need first and second derivative of the aforementioned function - and those have a finite discontinuation in some points in space - hence that is not a smooth function and these methods won't work. What will work is direct search family of algorithms for optimization of functions (finding minimums and maximums. in our case - you need minimum of the error/cost function).That should help anyone wanting to find a solution for similar problem.