小编Kei*_*son的帖子

给定三个接收器的位置和它们接收信号的时间(到达时间延迟),如何定位信号?

我有 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 个传感器源位于地球表面,并且地球曲率的影响可以忽略不计(即我们可以在二维中工作)。

algorithm math mathematical-optimization

6
推荐指数
1
解决办法
498
查看次数

使用 NumPy 最小化此误差函数

背景

我一直在努力解决(众所周知的痛苦)到达时间差 (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是发射时间。

我们现在44未知数的方程。四个节点显然不够用。我们可以尝试直接解决这个系统,但是鉴于问题的高度非线性性质,这似乎几乎是不可能的(事实上,我已经尝试了许多直接技术……但都失败了)。相反,我们通过考虑所有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) + …

python algorithm math numpy mathematical-optimization

6
推荐指数
1
解决办法
178
查看次数