Satellite Navigation Project

During the course of my studies I collaborated with RUAG space, a leading European provider of products and technologies for the space industry. My personal contributions were targeted toward a satellite navigation system, which I developed together with seven additional students from five different nations. 

Why locating satellites is important 

Location services are part of the everyday conveniences we often take for granted. Take navigating to the supermarket for example, or simply searching for the closest tram station. Both of these rely on an accurate way of determining your position. Luckily, the Global Positioning System (GPS) offers precisely that. 

GPS works by means of triangulation. In essence, if you know your distance from 4 distinct points in three-dimensional space, you can unambiguously pinpoint your position. By leveraging the speed of light, in combination with a number of satellites orbiting our planet, the system can reliably measure the distance to a user from multiple points in space. The positions of these satellites are known - and if a sufficient number of them are within reach of your device, triangulation can be successfully applied.

The distance between you and a satellite of interest is measured by means of signal propagation time. The satellites continuously transmit signals toward the earth. Your device receives and re-transmits these signals which are then captured by the satellites. By measuring the time between transmission and inception, a satellite can determine how far the signal has travelled. 

How to locate a satellite

The theory presented above offers a reliable way of determining your position anywhere on earth. It does however require that the satellites can be accurately located in the first place. Locating such a satellite was precisely the goal of your project.  At a glance, the task might seem as complicated as the first one. However, the satellites travel along eccentric orbits governed by Kepler’s laws of planetary motion - and are to a large extent predictable. 

One strength of the equations which govern these orbits is that they are closed form, meaning that they can be evaluated effectively even with limited computational power. This is a highly desirable property as computational power is one of the primary constraints in any space-application.

Besides our planet’s gravitational pull, there are a number of additional factors that affect the orbit of a satellite - and these idealistic modelling scenarios only take you so far. As an addition to these, our project therefore made use of Kalman filters. 

Kalman filters

A powerful estimation technique for uncovering values of unknown state variables in a linear system is the Kalman filter. This tool uses a series of measurements observed over time, containing statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement alone. MATLAB has created a series of video lectures, which can be found here, giving an introduction to the topic. 

The Kalman filter is a type of state observer, designed for stochastic systems. Moreover, it is recursive, only requiring the previous estimated state, current measurement and error covariance matrix to produce a new estimate of state variables. It does this in two steps: with and update step and with a prediction step.

update step: Generates a priori estimates form the previous state variable predictions

prediction step: Takes a priori estimates of the state variables and generates posterior state estimates.  This step weights the contributions of the a priori state estimator and the new measurement to the posterior state estimate according to the expected variability of the two.