我有 3 个接收器(A、B 和 C),以及一些位置未知的信号产生源(比如说声音或光)。给定 A、B 和 C 的位置,以及每个接收器“听到”信号的时间,我想确定源的方向。
我知道有一些方法可以通过 TDoA 多边/三边测量来实现,但是我在实现计算时遇到了麻烦。对于那些完全不熟悉该主题的人,没有很多关于此的清晰、详细的信息。外面的东西是模糊的,更理论化的,或者对我来说有点太深奥了。
SO 上的一些类似帖子(但不完全是我所追求的): TDOA 多点定位以定位声源 使用时差(TDOA)对信号进行三边测量
这也很有趣,但假设我们有一些界限: 距离数据不准确的多文字实现
@Dave 还评论了一个优秀且相当易于访问的资源https://sites.tufts.edu/eeseniordesignhandbook/files/2017/05/FireBrick_OKeefe_F1.pdf,但它没有达到足够的深度,以至于人们可能能够实际实现这一点在代码中(至少,对于没有深入了解回归知识的人,找到结果双曲线的交集等)。
[编辑]:我应该补充一点,我可以假设 3 个传感器和源位于地球表面,并且地球曲率的影响可以忽略不计(即我们可以在二维中工作)。
背景
我一直在努力解决(众所周知的痛苦)到达时间差 (TDoA) 多点定位问题,在节点中3-dimensions并使用4节点。如果你不熟悉这个问题,那就是确定某个信号源(X,Y,Z)的坐标,给定n节点的坐标,信号到达每个节点的时间,以及信号的速度v。
我的解决方案如下:
对于每个节点,我们写 (X-x_i)**2 + (Y-y_i)**2 + (Z-z_i)**2 = (v(t_i - T)**2
哪里(x_i, y_i, z_i)是ith节点坐标,T是发射时间。
我们现在4有4未知数的方程。四个节点显然不够用。我们可以尝试直接解决这个系统,但是鉴于问题的高度非线性性质,这似乎几乎是不可能的(事实上,我已经尝试了许多直接技术……但都失败了)。相反,我们通过考虑所有i/j可能性,i从方程中减去方程,将其简化为线性问题j。我们得到(n(n-1))/2 =6以下形式的方程:
2*(x_j - x_i)*X + 2*(y_j - y_i)*Y + 2*(z_j - z_i)*Z + 2 * v**2 * (t_i - t_j) = v**2 ( t_i**2 - t_j**2) + …