# Elevation angle for a non-GEO satellite

I want to calculate the elevation angle of a Non-GEO satellite with respect to a ground terminal. The information I have to solve this:

1. Instantaneous Longitude, Latitude, and Altitude of the non-GEO satellite
2. Instantaneous Longitude, Latitude, and Altitude (0) of the ground terminal

I found a few references that can solve the problem for the GEO satellite case (link: https://tiij.org/issues/issues/3_2/3_2e.html). The elevation angle of a GEO satellite can be given by:

Here G is the difference between the longitudes of the satellite orbit and the ground terminal.

L is the latitude of the ground terminal

Is it possible to calculate the elevation angle for the non-GEO satellite with respect to the ground terminal using the same closed-form formula?

If not, what can be my approach to finding it?

• Unless I'm missing something, if you have lon/lat/alt of the sub-satellite point and the ground station at the same time, then it doesn't matter what orbit the satellite is in at all. I don't see why you can't use the same equations that are in your "references that can solve the problem for the GEO satellite case" directly.
– uhoh
Nov 23, 2022 at 7:24
• @BlackDagger I still can't see why not, but let's wait for some other folks to chime in. As for your equation and link, I think we need a better source. I haven't a clue what 0.1512 is (truncated to 0.15 in your image) and it doesn't cite a reliable source. I think there are much better standard references for this, it's just simple spherical trigonometry Also see all the goodies mentioned at Resources and references on the topic of space exploration
– uhoh
Nov 23, 2022 at 20:04
• @uhoh Thanks for pointing that out. I looked into the derivation and figured out that I need to do some modifications in the case of non-GEO satellites. This is an approximate formula for the GEO case. Nov 24, 2022 at 21:42
• @uhoh yes, on top of that, some additional modifications are needed in the intermediate equations as GEO satellites always have a latitude of 0 degrees (that is why satellite latitude is missing in the equation) unlike non-GEO satellites who can be at different latitudes. I will post whatever I have found from the source shortly. Nov 24, 2022 at 22:31
• Posted my answer @uhoh Nov 24, 2022 at 23:06

I think I have figured out the general equation for finding out the elevation angles for non-GEO satellites from this source: https://www.educationallof.com/wp-content/uploads/Look-angle-determination-in-satellite-communications.pdf

The central angle $$\gamma$$ can be computed by equation (2.31) from the source:

$$\cos \gamma = \cos L_e \cos L_s \cos(l_s-l_e) + \sin L_e \sin L_s$$

• $$L_e$$ = Latitude of the ground terminal
• $$l_e$$ = Longitude of the ground terminal
• $$L_s$$ = Latitude of the satellite
• $$l_s$$ = Longitude of the satellite

Then the elevation angle $$\theta$$ can be computed by equation (2.35) from the source:

$$\cos \theta = \frac{\sin \gamma}{\left[ 1 + \left(\frac{r_e}{r_e+h_s}\right)^2 - 2 \left( \frac{r_e}{r_e+h_s} \right) \cos \gamma \right]^{1/2}}$$

• $$h_s$$ = Altitude of the satellite
• $$r_e$$ = Radius of the Earth = 6378.137 km

• Congratulations on solving your own challenge and first question!
– uhoh
Nov 24, 2022 at 23:11
• I've made an edit converting to MathJax can you double-check it when you have a chance? Thanks, and Welcome to Stack Exchange!
– uhoh
Nov 24, 2022 at 23:24
• @uhoh Thanks for the help again, I did not know how to write the mathematical equations on stack exchange, that is why posted screenshots from my Latex document! I checked and made a few minor changes. I think this looks good now. Nov 25, 2022 at 0:43

Getting the Earth-centered inertial (ECI) xyz coordinates of your non-GEO satellite at a specific point in time is somewhat easy. Two line elements are good enough for pointing a tracking ground antenna, and more than good enough for not needing to point an omnidirectional ground antenna.

To go from ECI to Earth-centered, Earth-fixed (ECEF) requires a model of the Earth's rotation, nutation, and precession. The Standards Of Fundamental Autonomy (SOFA) code provides functions that can provide this transformation. I would not go the extra step of converting to latitude, longitude, and altitude because you will need to convert back to ECEF xyz.

You will need to convert your ground station latitude, longitude, and altitude to ECEF because the difference between the satellite coordinates and the ECEF xyz ground station coordinates will yield the position of the target satellite, but in ECEF coordinates.

To convert those relative ECEF coordinates to aximuth and elevation, it will help to develop the transformation to (or from) ECEF and local East-North-Up. You might or might not want to account for the Earth's non-spherical shape. The largest factor by far in this non-spherical shape is the Earth's equatorial bulge. This is essentially the difference between geocentric and geodetic latitude. Geodetic East-North-Up is a bit more difficult, but it is doable (with the right software library). Once you've transformed the relative position to ground station East-North-Up, computing azimuth and elevation are relatively easy.

This reeks a bit of do my homework for me, for free!, so I'm not going to finish this off with the exact equations. If this isn't homework, let me know in a comment to this answer.

• Well, this is not a homework assignment. I am currently working on the handover issue for LEO satellite communication on Network Simulator-3 (NS-3). For that, I am using a mobility model (built on NS-3) which can give ECI or ECEF or geographical coordinates of a LEO satellite. I also need to figure out the elevation angle from the satellite positions for evaluating the channel model between the user and the satellite. Nov 24, 2022 at 21:33
• As my real focus is on the handover problem, not finding the elevation angle, and I am not an expert in this domain, I decided to seek help from others to save my time. It looks like I need to figure it out on my own. Thanks for your help. Nov 24, 2022 at 21:33