File Exchange Pick of the Week

Our best user submissions

A MATLAB Script for Calculating Greenwich Sidereal Time with NOVAS

Will's pick this week is A MATLAB Script for Calculating Greenwich Sidereal Time with NOVAS by David Eagle.

Anyone who's taken an orbital dynamics class knows that you need to understand a fair amount of astronomy to perform any meaningful satellite analysis. For spacecraft orbiting the Earth, it is typically most convenient to calculate their trajectories in an Earth-Centered Inertial (ECI) frame. The axes of this frame are fixed relative to the stars.

Of course the Earth merrily spins about relative to the stars. In order to keep track of items on the ground, it is convenient to use a coordinate system whose axes are fixed on the surface. We call this the Earth-Centered Earth-Fixed (ECEF) frame. Since their origins and Z axis are identical, the ECEF and ECI coordinate systems only differ by some rotational angle in the XY plane. The angle rotates 360 degrees roughly every 24 hours.

If you know this angle, then you can perform the coordinate transformation between ECI and ECEF. If you can do that, then you can determine where a satellite is relative to any point on the Earth's surface. This is a necessary first step for tracking and communication. One recurring challenge is predicting this angle as accurately as possible over as wide a range of time as possible.

David's submission achieves just that. It's but one example of a whole slew of goodies that he's uploaded to the File Exchange. He provides the Naval Observatory Vector Astrometry Software (NOVAS) in MATLAB form. There are all kinds of wonderful utilities that are provided in this package. I picked Greenwich Sidereal Time because I recall that being a particularly important detail in my grad student days. But there are all sorts of other functions in there that are just as valuable to an aerospace engineer.

Let us know what you think here or leave a comment for David.
  • print


To leave a comment, please click here to sign in to your MathWorks Account or create a new one.