If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor

Transformations between ECEF and ENU coordinates

From Navipedia
Revision as of 14:20, 4 February 2022 by Gema.Cueto (talk | contribs)
Jump to navigation Jump to search


FundamentalsFundamentals
Title Transformations between ECEF and ENU coordinates
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Level Advanced
Year of Publication 2011

The relation between the local East, North, Up (ENU) coordinates and the [math](x,y,z)[/math] Earth Centred Earth Fixed (ECEF) coordinates is illustrated in the next figure:


Figure 1:: Transformations between ENU and ECEF coordinates.


From the figure 1 it follows that the ENU coordinates can be transformed to the [math](x,y,z)[/math] ECEF by two rotations, where [math]\varphi[/math] and [math]\lambda[/math] are, respectively, the latitude and longitude from the ellipsoid:


1. A clockwise rotation over east-axis by an angle [math]90-\varphi[/math] to align the up-axis with the [math]z[/math]-axis. That is [math]{\mathbf R}_1[-(\pi/2-\varphi)][/math].


2. A clockwise rotation over the [math]z[/math]-axis by an angle [math]90+\lambda[/math] to align the east-axis with the [math]x[/math]-axis. That is [math]{\mathbf R}_3[-(\pi/2+\lambda)][/math].


That is:

[math] \left [ \begin{array}{l} x\\ y\\ z\\ \end{array} \right ] = {\mathbf R}_3[-(\pi/2+\lambda)]\,{\mathbf R}_1[-(\pi/2-\varphi)] \left [ \begin{array}{l} E\\ N\\ U\\ \end{array} \right ] \qquad \mbox{(1)} [/math]


where, according to the expressions (2) (see Transformation between Terrestrial Frames)


[math] \begin{array}{l} \mathbb{\mathbf R}_1[\theta]=\left [ \begin{array}{ccc} 1 & 0 & 0\\ 0 & \cos \theta & \sin \theta \\ 0 & -\sin \theta & \cos \theta \\ \end{array} \right ] \;;\;\; \mathbb{\mathbf R}_2[\theta]=\left [ \begin{array}{ccc} \cos \theta & 0 & -\sin \theta \\ 0 & 1 & 0\\ \sin \theta &0 & \cos \theta \\ \end{array} \right ]\\ \\ \mathbb{\mathbf R}_3[\theta]=\left [ \begin{array}{ccc} \cos \theta & \sin \theta &0\\ -\sin \theta & \cos \theta & 0\\ 0 & 0 & 1\\ \end{array} \right ] \end{array} \qquad \mbox{(2)} [/math]


yields:

[math] {\mathbf R}_3[-(\pi/2+\lambda)]\,{\mathbf R}_1[-(\pi/2-\varphi)]= \left ( \begin{array}{ccc} -\sin \lambda & -\cos \lambda \sin \varphi &\cos \lambda \cos \varphi\\ \cos \lambda & -\sin \lambda \sin \varphi & \sin \lambda \cos \varphi\\ 0 & \cos \varphi & \sin \varphi\\ \end{array} \right ) \qquad \mbox{(3)} [/math]


The unit vectors in local East, North and Up directions as expressed in ECEF cartesian coordinates are given by the columns of matrix (3). That is:

[math] \begin{array}{l} \hat{\mathbf e}=\left ( -\sin \lambda \,,\,\cos \lambda\,,\, 0 \right )\\ \hat{\mathbf n}=\left ( - \cos \lambda \sin \varphi \,,\,- \sin \lambda \sin \varphi\,,\, \cos \varphi \right)\\ \hat{\mathbf u}=\left ( \cos \lambda \cos \varphi \,,\,\sin \lambda\ \cos \varphi\,,\, \sin \varphi \right) \qquad \mbox{(4)} \end{array} [/math]


Note: If [math](\lambda,\varphi)[/math] are ellipsoidal coordinates, thence, the vector [math]\hat{\mathbf u}[/math] is orthogonal to the tangent plane to the ellipsoid, which is defined by [math](\hat{\mathbf e}, \hat{\mathbf n})[/math]. If [math](\lambda,\varphi)[/math] are taken as the spherical latitude and longitude, thence, the vector [math]\hat{\mathbf u}[/math] is in the radial direction and [math](\hat{\mathbf e}, \hat{\mathbf n})[/math] defines the tangent plane to the sphere.


From ECEF to ENU coordinates

Taking into account the properties of the rotation matrices [math]{\mathbf R}_i(\alpha)[/math],i.e., [math]{\mathbf R}_i^{-1}(\alpha)= {\mathbf R}_i(-\alpha)={\mathbf R}_i^T(\alpha)[/math], thence, the inverse transformation of (1) is given by:

[math] \left [ \begin{array}{l} E\\ N\\ U\\ \end{array} \right ] = {\mathbf R}_1[\pi/2-\varphi]\,{\mathbf R}_3[\pi/2+\lambda] \left [ \begin{array}{l} x\\ y\\ z\\ \end{array} \right ] \qquad \mbox{(5)} [/math]


where the transformation matrix of (5) is the transpose of matrix (3):


[math] {\mathbf R}_1[\pi/2-\varphi]\,{\mathbf R}_3[\pi/2+\lambda]= \left ( \begin{array}{ccc} -\sin \lambda & \cos \lambda &0\\ - \cos \lambda \sin \varphi & -\sin \lambda \sin \varphi & \cos \varphi\\ \cos \lambda \cos \varphi & \sin \lambda \cos \varphi & \sin \varphi\\ \end{array} \right ) \qquad \mbox{(6)} [/math]


The unit vectors in the ECEF [math]\hat{\mathbf x}[/math], [math]\hat{\mathbf y}[/math] and [math]\hat{\mathbf z}[/math] directions, as expressed in ENU coordinates, are given by the columns of matrix (6). That is:

[math] \begin{array}{l} \hat{\mathbf x}=\left ( -\sin \lambda \,,\,-\cos \lambda \sin \varphi\,,\, \cos \lambda \cos \varphi \right )\\ \hat{\mathbf y}=\left (\cos \lambda\,,\,- \sin \lambda \sin \varphi\,,\, \sin \lambda \cos \varphi \right)\\ \hat{\mathbf z}=\left ( 0 \,,\, \cos \varphi \,,\,\sin \varphi \right) \end{array} \qquad \mbox{(7)} [/math]


Elevation and azimuth computation

Given the line of sight unit vector

[math] \hat {\boldsymbol \rho}=\displaystyle \frac{{\mathbf r}^{sat}-{\mathbf r}_{rcv}}{\| {\mathbf r}^{sat}-{\mathbf r}_{rcv} \|} \qquad \mbox{(8)} [/math]


where [math]{\mathbf r}^{sat}[/math] and [math]{\mathbf r}_{rcv}[/math] are the geocentric position of the satellite and receiver, respectively, the elevation and azimuth in the local system coordinates (ENU), defined by the unit vectors [math]\hat{\mathbf e}[/math], [math]\hat{\mathbf n}[/math] and [math]\hat{\mathbf u}[/math] can be computed from (see figure 2):

[math] \begin{array}{l} \hat {\boldsymbol \rho}\cdot \hat{\mathbf e} =\cos E \sin A\\ \hat {\boldsymbol \rho}\cdot \hat{\mathbf n}=\cos E \cos A\\ \hat {\boldsymbol \rho}\cdot \hat{\mathbf u} = \sin E \end{array} \qquad \mbox{(9)} [/math]


Thence the elevation and azimuth of satellite in the local coordinates system are given by:

[math] E=\arcsin(\hat {\boldsymbol \rho}\cdot \hat{\mathbf u}) \qquad \mbox{(10)} [/math]
[math] A=\arctan \left (\frac{\hat {\boldsymbol \rho}\cdot \hat{\mathbf e}}{\hat {\boldsymbol \rho}\cdot \hat{\mathbf n}}\right ) \qquad \mbox{(11)} [/math]


Figure 2:: Local coordinate frame showing the elevation ([math]E[/math]) and azimuth ([math]A[/math]).


Note: If [math](\lambda,\varphi)[/math] are ellipsoidal coordinates, thence, the vector [math]\hat{\mathbf u}[/math] is orthogonal to the tangent plane to the ellipsoid, which is defined by [math](\hat{\mathbf e}, \hat{\mathbf n})[/math]. If [math](\lambda,\varphi)[/math] are taken as the spherical latitude and longitude, thence, the vector [math]\hat{\mathbf u}[/math] is in the radial direction and [math](\hat{\mathbf e}, \hat{\mathbf n})[/math] defines the tangent plane to the sphere.