一般来说,我可以帮助您进行多点定位。
基本上,如果你想要一个 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 个参考点的坐标和距离。为了解决这个问题——我的建议是不要使用牛顿/高斯或牛顿方法。您需要上述函数的一阶和二阶导数 - 并且它们在空间中的某些点具有有限的间断 - 因此这不是一个平滑函数,这些方法将不起作用。将起作用的是用于优化函数的直接搜索算法系列(找到最小值和最大值。在我们的例子中 - 你需要最小的误差/成本函数)。
这应该有助于任何想要为类似问题找到解决方案的人。