File Exchange Pick of the Week

Our best user submissions

GPS Visibility Predictor

Will‘s pick this week is GPS Visibility Predictor by Eric Ogier.

The first demo I built upon joining MathWorks was a Simulink model that predicts the number of GPS satellites overhead a particular location on the Earth’s surface. It reads TLE files to load initial conditions, propagates orbits, and calculates azimuth and elevation to count visible satellites. Proud though I am of this work, Eric’s easily puts me to shame with his impressive GPS predictor.

Eric adopts a pure MATLAB approach. Simply type “GPS” in the Command Window, and you’ll soon have a ground tracking plot for the GPS satellite network. The location for which each satellite is directly overhead is plotted on the map. Here’s a partial screenshot.

Map Excerpt

At the time I collected that image, two spacecraft were nearly directly overhead my approximate location. That location is denoted by the + mark, which can be defined by clicking or more accurately through a settings window. Whenever you define a ground location of interest, a curve is placed on the map to indicate the field of view for that location. Any spacecraft that falls outside the curve will not be visible to a GPS receiver.

If you want a different perspective, you can toggle the Sky Map. This polar plot is a flattened version of the sky from the ground location. The center of the plot would be straight up, which is why you see GPS 31 and 14 near it. The edge of the circle defines the horizon in all directions. So according to Eric’s prediction, I should be able to see a dozen GPS satellites if my view was totally unobstructed (five are rather marginal).

Receiver's Perspective

If that weren’t enough, you also can visualize GPS visibility through something akin to a Gantt chart. This shows you which spacecraft are visible at the present as well as estimates for the past and future. Pretty slick!

Gantt Chart

Through all my experimentation with the tool, I never once encountered a glitch. It appears to be a solidly written set of code that adheres to a number of programming best practices. If I was ever in any doubt as to how to use the tool or interpret data, I could turn to a PowerPoint presentation that clearly explains everything you’d want to know. I’m honestly struggling to think what more I’d want out of a Pick of the Week. Absolutely outstanding work, Eric!

Let us know what you think here or leave a comment for Eric.

  • print


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