Generate look angles between aircraft and satellite

27 views (last 30 days)
I need to calculate pointing angles from an antenna mounted on top of an airplane to a satellite. The plane will be flying in a large circle and the mounted antenna's elevation must stay above 20 degrees. The satellite is GEO and can be considered stationary. These pointing angles must take into consideration aircraft roll, pitch, and yaw, antenna orientation with respect to the airframe.
Does the Aerospace or some other toolbox contain codes for this problem?

Answers (1)

Jim Riggs
Jim Riggs on 16 Nov 2022
I don't think that you will find this exact problem solution in the Aerospace toolbox, but it does contain some functions that you will need to work this problem, specifically the ecef2lla and lla2ecef transformations.
Apart from these functions, everything else you will need are simple Euler angle to DCM calculations, which are very straightforward to do. The main thing that makes you problem complicated is that you probably want to describe the aircraft orientation relative to a local-level reference frame - this means you need to be able to perform coordinate transformations back and forth from earth to local-level and vice versa. This is what the functions ecef2lla and lla2ecef provide.
The calculation of the line of sight from the antenna to the satellite is very straightforward;
1) calculate a vector pointing from the aircraft to the satellite in the ECEF reference frame. You simply subtract the position vector for the aircraft from the position vector of the satellite.
2) rotate this vector into the local level frame (DCM ECEF to LLA) (this is the tricky one)
3) Rotate the vector from local-level to the aircraft (DCM LLA to Body made from your 3 Euler angles)
4) Rotate the vector from the body frame to the antenna frame (DCM Body to Antenna made from the antenna steering angles)
The vector now points from the aircraft to the satellite in the Antenna frame, and you can compute angles relative to the antenna.
Note that you can also construct a single [DCM ECEF to Antenna] :
[DCM ECEF to Antenna] = [DCM ECEF to LLA] * [DCM LLA to Body] * [DCM Body to Antenna]
Position Vector (Body to Satellite) in the antenna frame = [DCM ECEF to Antenna] * Position Vector (B to S) in ECEF frame.
Jim Riggs
Jim Riggs on 17 Nov 2022
Yes, you are correct.
Technically, this is another step going from lla to ENU or NED (I always use NED for the local level frame).
ECEF -> LLA -> NED (or ENU) -> Body -> Antenna

Sign in to comment.


Find more on Aerospace Applications in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by