2011-05-08 54 views
7

我在查找或實現算法以找到信號源時遇到了一些麻煩。我的工作目標是找到發聲器的位置。使用到達時間差的信號的三角測量

爲了達到這個目的,我使用了三個微型裝置。我正在使用的技術是多點定位即基於到達時間差

到達時間差之間的每個微多是找到使用交叉相關的接收信號。

我已經實現的算法找出到達的時間差,但我的問題是更多關於如何多邊的作品,它的基礎上我參考目前尚不清楚對我來說,我無法找到任何其他很好的參考這是免費/開放的。

如果你對我如何可以實現多邊算法,或者,我可以使用基於到達時間差,這將是一個很大的幫助其他一些三邊測量算法一些參考。

在此先感謝。

+1

Triangulation?你的意思是三角? – 2011-05-08 18:22:47

+0

是的,感謝您的糾正,我編輯了它。 – JeanK 2011-05-08 18:28:12

+0

我認爲這篇文章[用於使用分析幾何的二維平面中的發射機/接收機站的本地化的新穎的三角測量算法](https://www.researchgate.net/publication/265336167_A_Novel_Trilateration_Algorithm_for_Localization_of_a_TransmitterReceiver_Station_in_a_2D_Plane_Using_Analytical_Geometry)將對您有所幫助。它將三邊測量和多邊測量這兩個概念完美地結合在一起。 – 2017-02-18 19:11:23

回答

2

您正在尋找的點是三個雙曲線的交點。因爲你只使用3個感受器,所以我在這裏假設2D。從技術上講,你可以找到一個獨特的3D解決方案,但因爲你可能有噪音,我假設如果你想要一個3D結果,你會採取4個麥克風(或更多)。

wikipedia page爲您做了一些計算。他們用3D來做,你只需要設置z = 0並求解方程組(7)。

該系統超定,所以你會想要在最小二乘意義上解決它(這實際上是使用3個感受器的關鍵)。

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} 

其中xyz在數值解當前點和xi的座標,yizidi是第i個參考點的座標和距離。爲了解決這個問題 - 我的建議是不使用牛頓/高斯或牛頓方法。你需要上述函數的一階導數和二階導數 - 而且這些函數在空間的某些點有一個有限的中斷 - 因此這不是一個平滑的函數,這些方法將不起作用。有效的功能優化算法是直接搜索算法(尋找最小值和最大值,在我們的例子中 - 您需要最小的誤差/成本函數)。

這應該有助於任何人想找到類似問題的解決方案。