Generate look angles between aircraft and satellite
41 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
Jim Riggs
2022-11-16
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.
3 个评论
Jim Riggs
2022-11-17
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
John Nolan
2024-7-29,23:43
Hi @Jim Riggs, I was wondering if you could elaborate on step 2. What are you defining as the local-level-frame?
Do we need to go to LLA coordinates, could some other coordinate system be used instead?
Thanks
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Aerospace Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!