How to calculate semiMajorAxis and trueAnomaly from TLE file
49 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to add satelltie to satellite scenario by following the documentaion.
The general way is to simply use the TLE file
sat1 = satellite(sc,tleFile,"Name","Sat1")
If I want to find the Keplerian elements the function orbitalElements(sat1) can give eccentricity, inclination, rightAscensionOfAscendingNode and argumentOfPeriapsis. But how does MATLAB computes semiMajorAxis and trueAnomaly?
Any help is appreicated.
Thank you
0 个评论
回答(2 个)
Garmit Pant
2024-8-12
Hello Raghav,
I see that you require MATLAB functions to compute the 'semiMajorAxis' and 'trueAnomaly' of a satellite from its TLE file. This can be achieved by the following two methods:
- Using the “orbitalElements” Function: The “orbitalElements” function calculates the ‘SemiMajorAxis’ and ‘TrueAnomaly’ of a satellite if the “OrbitalPropagator” property is set to ‘two-body-keplerian’. The following code snippet adds the satellite to the scenario using the “satellite” method to read the file and returns the orbital elements using the “orbitalElements” function:
sc = satelliteScenario;
tleFile = "eccentricOrbitSatellite.tle";
sat1 = satellite(sc,tleFile,OrbitPropagator="two-body-keplerian");
elements1 = orbitalElements(sat1)
- Using the “ijk2keplerian” Function: The “ijk2keplerian” function is used to calculate Keplerian orbit elements using position and velocity vectors. You can read the data from a TLE file using “tleread”, use it as an input to “propagateOrbit” to calculate the position and velocity of the satellite corresponding to an input time, and subsequently use the position and velocity data to calculate Keplerian orbit elements using “ijk2keplerian”. The following code snippet demonstrates this workflow:
tleStruct = tleread('leoSatelliteConstellation.tle');
[r,v] = propagateOrbit(datetime(2022, 1, 3, 12, 0, 0),tleStruct);
[SMA,ecc,incl,RAAN,argp,nu,truelon,arglat,lonper] = ijk2keplerian(r(:,:,1), v(:,:,1))
For further understanding, kindly refer to the following MathWorks Documentation:
- Refer to the ‘Output Arguments’ section to understand the different elements returned based on the OrbitPropagator: https://www.mathworks.com/help/releases/R2023b/satcom/ref/matlabshared.satellitescenario.satellite.orbitalelements.html
- Refer to the ‘Output Arguments’ section to understand the different elements returned: https://www.mathworks.com/help/releases/R2023b/aerotbx/ug/ijk2keplerian.html
I hope you find the above explanation and suggestions useful!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 CubeSat and Satellites 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!