User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
cs:hydrophones:multilateration:start [2017/09/14 00:12]
Brian Moore created
cs:hydrophones:multilateration:start [2017/09/14 00:32]
Brian Moore [Multilateration]
Line 1: Line 1:
 ====== Multilateration====== ====== Multilateration======
-Previous derivations on this topic were made in years passed to enable calculations with limited numbers of hydrophone channels. ​ This page provides a generalized algorithm for locating a pinger in 3D in a robust, linear manner with an arbitrary number of arbitrarily placed hydrophones. ​ This solution is precise ​calculation the evaluates at all distancesand does not require ​require that the signal originate in the far-field.+Previous derivations on this topic were made in years passed to enable calculations with limited numbers of hydrophone channels. ​ This page provides a generalized algorithm for locating a pinger in 3D in a robust, linear manner with an arbitrary number of arbitrarily placed hydrophones. ​ This solution is an unambiguous, ​precise ​result that evaluates at all distances and does not require that the signal originate in the far-field.
  
 This method of calculation requires 5 or more hydrophones. ​ Substituting a depth sensor for one of the required hydrophones is possible, and covered below. ​ The submarine does //not// need to be held level to make use of the depth sensor. This method of calculation requires 5 or more hydrophones. ​ Substituting a depth sensor for one of the required hydrophones is possible, and covered below. ​ The submarine does //not// need to be held level to make use of the depth sensor.
Line 144: Line 144:
 In the event the submarine is rotated off of the default orientation $R(\psi,​\phi,​\theta) = R(0,0,0)$ then the relative estimation of the pinger'​s position will be off, and a correction must be made to get the absolute coordinates $p_{pinger}=(X,​Y,​Z)$. ​ In the event the submarine is rotated off of the default orientation $R(\psi,​\phi,​\theta) = R(0,0,0)$ then the relative estimation of the pinger'​s position will be off, and a correction must be made to get the absolute coordinates $p_{pinger}=(X,​Y,​Z)$. ​
  
-If the array is rotated by $R$ then the relative position of the pinger has been rotated in the local frame by $R^T$+If the array is rotated by $R$ then the relative position of the pinger has been rotated in the local frame by the inverse ​$R^T$
  
 $$ $$
Line 173: Line 173:
 $$ $$
  
-Which requires only 4 hydrophones,​ $h_0,​h_1,​h_2,​$ and $h_3$ plus the depth sensor measuring $z_{sub}$ to compared against the known depth of the pinger $z_pinger$.+Which requires only 4 hydrophones,​ $h_0,​h_1,​h_2,​$ and $h_3$ plus the depth sensor measuring $z_{sub}$ to compared against the known depth of the pinger $z_{pinger}$.
  
 However, the depth sensor will always measure the absolute depth of the submarine regardless of the submarine'​s orientation $R(\psi,​\phi,​\theta)$. ​ Thus the difference measured will always be $z_{pinger}-z_{sub} = Z_{global}$. However, the depth sensor will always measure the absolute depth of the submarine regardless of the submarine'​s orientation $R(\psi,​\phi,​\theta)$. ​ Thus the difference measured will always be $z_{pinger}-z_{sub} = Z_{global}$.
Line 219: Line 219:
 \begin{bmatrix} 0 & 0 & 1 \end{bmatrix} ​ \begin{bmatrix} 0 & 0 & 1 \end{bmatrix} ​
 \end{bmatrix}^{-1} \end{bmatrix}^{-1}
 +\left(
 \begin{bmatrix} C_2 \\ C_3 \\ z_{pinger}\\ \end{bmatrix} \begin{bmatrix} C_2 \\ C_3 \\ z_{pinger}\\ \end{bmatrix}
 - -
-\begin{bmatrix} B_2 \\ B_3 \\ z_{sub}\\ \end{bmatrix} \\+\begin{bmatrix} B_2 \\ B_3 \\ z_{sub}\\ \end{bmatrix} ​ 
 +\right) 
 +\
 +$$ 
 + 
 +With polar bearings: 
 + 
 +$$ 
 +Azimuth = arctan\left(\frac{Y}{X}\right),​ \qquad 
 +Inclination = arctan\left(\frac{Z}{\sqrt{X^2+Y^2}}\right),​ \qquad 
 +Range = \sqrt{X^2 + Y^2 + Z^2} \\ 
 $$ $$
  
Line 234: Line 246:
 A_{zn} = det\begin{vmatrix} 2z_1 & 2z_n \\ \Delta r_1 & \Delta r_n \end{vmatrix},​ \\ A_{zn} = det\begin{vmatrix} 2z_1 & 2z_n \\ \Delta r_1 & \Delta r_n \end{vmatrix},​ \\
  
-\left( 
-\begin{bmatrix} C_2 \\ C_3 \\ C_4\\ \end{bmatrix} 
-- 
-\begin{bmatrix} B_2 \\ B_3 \\ B_4\\ \end{bmatrix} ​ 
-\right) 
- 
-\left( 
 B_n = det\begin{vmatrix} \Delta r_1^2 & \Delta r_n^2 \\ \Delta r_1 & \Delta r_n \end{vmatrix},​ \qquad B_n = det\begin{vmatrix} \Delta r_1^2 & \Delta r_n^2 \\ \Delta r_1 & \Delta r_n \end{vmatrix},​ \qquad
 C_n = det\begin{vmatrix} (x_1^2+y_1^2+z_1^2) & (x_n^2+y_n^2+z_n^2) \\ \Delta r_1 & \Delta r_n \end{vmatrix} C_n = det\begin{vmatrix} (x_1^2+y_1^2+z_1^2) & (x_n^2+y_n^2+z_n^2) \\ \Delta r_1 & \Delta r_n \end{vmatrix}
-\right)+