Distance Elevation and Azimuth Calculation

ECI coordinates

The coordinates of the satellite given by the propagator, are given in the Earth-Centered Inertial (ECI) coordinate system. This system is a cartesian coordinate system, whose origin is located at the center of the earth (at the center of mass to be precise). The z axis is orthogonal to the equatorial plane and it is pointing north, the x axis is pointing towards the vernal equinox, and the y axis is such that the system remains a direct orthogonal system. The x and y axis are located in the equatorial plane as shown in the following figure.

ECI coordinates
Figure 1 : ECI coordinates

This system is convenient to represent the positions and velocities of space objects rotating around the earth, considering that the origin of the system is the center of mass of the earth, and that the system does not rotate with the earth. Indeed, "inertial" means that the coordinate system is not accelerating, therefore not rotating: considering the way the three axis are defined, the system is fixed in space regarding the stars.
The problem is that our ground station is located on the surface of the earth, so its coordinates are given in the geodetic coordinate system, which is obviously a system that is rotating with the earth.
We had therefore two options: either calculate the coordinates of the ground station in the ECI coordinate system, or calculate the coordinates of the satellite in the geodetic coordinate system. We chose the first option.

θ(τ) calculation

The main problem to go from the geodetic system to the ECI system is to calculate the angle between the ground station meridian (longitude) and the vernal equinox direction at the time of interest τ. This angle, also called the local sidereal time is a measure of time that depends on the stars, and not on the sun and that is why it is a bit touchy to calculate. For our implementation and tests, we relied on the algorithms and example given in the magazine Satellite Times ,in the column Orbital Coordinate Systems, Part II. θ(τ) is actually defined as the sum between the ground station east longitude and the greenwich sidereal time GST, which is the angle between the greenwich meridian and the vernal equinox, that we will note θg(τ).
θg(τ)can be calculated using the formula:

θg(τ) = θg(0h) + ωe·Δτ (1)

where Δτ is the number of seconds elapsed since 0h at the time of the calculation τ, and ωe = 7.29211510 × 10-5 radians/second is the Earth's rotation rate. θg(0h) is the GST calculated at 0h that day and it is given as:

θg(0h) = 24110.54841 + 864018.812866 Tu + 0.093104 Tu2 - 6.2 × 10-6 Tu3 (2)

where Tu = du/36525 and du is the number of days of Universal Time elapsed since the julian date 2451545.0 (2000 January 1, 12h UT1). Therefore, to calculate θg(τ), the first thing we need is the julian date of the day, which we can deduce from the julian date of the year as follow:

JD = Julian_Date_of_Year() + Number of day since the first of January

This calculation is done in the VI julian date.vi where the calculation of the Julian date of the year is done using the Meeus' approach.

Once we had the Julian date, we could calculate du and therefore Tu, and that way we calculated θg(0h) using (2). From there, we were able to calculate θg(τ) using (1) and since we know the east longitude of the antenna, we obtained θ(τ) by a simple sum. Those calculations are done in the VI tetag.vi, where θ(τ) is calculated in radians.

Geodetic to ECI conversion

Once we had the local sidereal time, we were able to make the change of system using the following formulas:

x=R cos θ
y=R sin θ
z=Re sin φ

where Re = 6378.135 km (radius of the earth), φ is the latitude of the antenna, θ is the local sidereal time and R = Re cos φ.
Those calculations are done in the VI Antenna coordinates ECI.vi, and x,y,and z are in kilometers.

Distance

Now that we had the coordinates of the ground station in the ECI coordinate system, and since the propagator gives us the coordinates of the satellite, the distance was pretty trivial to calculate. Indeed, as we said before, the ECI coordinate system is a cartesian system, and therefore the distance between two points A(x,y,z) and B(x',y',z') is defined by:

d= sqrt((x-x')²+(y-y')²+(z-z')²)

We used this formula to calculate the distance satellite to ground station in the VI distance.vi, which is very important to know for the link budget (for the free space loss) as we will see after.

Elevation and azimuth

The elevation and the azimuth are very important to know as well in order to analyse the satellite link, because if the elevation is too low (below 10 degrees)
it is not even worth calculating the link budget because the communication cannot be settled.
The first step for this calculation is to calculate the range vector r, which is defined by:

 r = [rx, ry, rz] = [xs - xa, ys - ya, zs - za].
(xa,ya,za) being the antenna ECI coordinates and (xs,ys,zs) the satellite ECI coordinates

But r is in the ECI coordinate system, which is not adapted for the elevation and the azimuth calculation. Therefore, we had to make another change of coordinates from the ECI to the Topocentric-Horizon Coordinate System that is defined in the figure below.


Figure 2 : Topocentric-Horizon Coordinate System

In the figure, θ is the local sidereal time, and φ is the latitude of the antenna. The new coordinates of the range vector r= (Rs,Re,Rz) are therefore defined by


rS = sin φ cos θ rx + sin φ sin θ ry - cos φ rz

rE = -sin θ rx + cos θ ry

rZ = cos φ cos θ rx + cos φ sin θ ry + sin φ rz

The range to the satellite is defined by:

r = √ [rS2 + rE2 + rZ2]

The elevation and the azimuth are then given by

El = arcsin(rZ / r)

Az = arctan(-rE / rS)

Tests

In order to check the validity of our program we had to test each step of our calculation.
Considering that the local sidereal time is not a very familiar value, to test the calculation, we used the examples given in Satellite Times to compare our values. We first check the julian date of interest and then the value of θg(τ) and θ(τ).
Once that was ok, the distance, elevation and azimuth were easier to test because we knew the order of magnitude of what we were supposed to obtain. We compared as well with values found on the internet.

References

ECI coordinates, Azimuth, Elevation, Distance & Julian Date Calculation :
https://celestrak.com/columns/v02n02/
https://celestrak.com/columns/v02n01/
Julian Date : https://en.wikipedia.org/wiki/Julian_day
Tests : http://www.n2yo.com/?s=33591