Technical Articles

Teaching Hands-On Satellite Tracking and Communication to Delft University of Technology Undergraduates

By Bart Root, TU Delft


On April 28, 2008, a satellite designed and constructed by Delft University of Technology (TU Delft) students and faculty was launched into orbit. Its mission was to provide students with hands-on training on a real spacecraft project.

The Delfi-C3 satellite (Figure 1) was equipped with thin film solar cells, autonomous sun sensors, and communications systems, but it lacked an off switch. This omission turned out to be fortuitous—seven years after launch, the satellite is still in operation, and we use it to teach undergraduate and master’s aerospace engineering students satellite tracking and communications.

Figure 1. The Delfi-C3 satellite, designed and constructed at TU Delft.
Figure 1. The Delfi-C3 satellite, designed and constructed at TU Delft.

When I was asked to participate in teaching Satellite Tracking and Communications in our new Space Minor program, I wanted to give students a chance to work directly with real ground station hardware for orbit determination. My colleagues and I built a working ground station on campus dedicated to this purpose. In the course, students use MATLAB® to estimate when the satellite will pass over the ground station, plot the satellite’s ground track, and analyze signal data captured from the satellite.

MATLAB is ideal for this work because it enables students to handle the vast amount of data involved. MATLAB supports a project-oriented curriculum much more effectively than low-level languages such as C++ and Java® because it enables students to get started on projects quickly, and readily understand the work of their team members.

The best part of teaching is the moment when a student's expression changes from “What are you talking about?” to “Now I understand this!” MATLAB makes it easier for students to get to that moment because they can interactively experiment, explore, and visualize new concepts.

Building a Working Ground Station

I worked with another researcher and an undergraduate on the initial design for the ground station and on a funding proposal to purchase equipment, which included UHF, VHF, and GPS antennas, as well as a software-defined radio (SDR), GPS clock, radio, and computer.

We installed the antennas on the roof of the tallest building on campus (Figure 2). Because the land around TU Delft is very flat, these antennas, positioned at an altitude of just 100 meters, can pick up signals from satellites at almost minus two degrees elevation—below the horizon—enabling us to track the satellite for long periods of time.

Figure 2. Ground station UHF, GPS, and VHF antennas.
Figure 2. Left to right: Ground station UHF, GPS, and VHF antennas.

Simulating Basic Satellite Communications

To help students in Satellite Tracking and Communications understand the signal processing theory they learn in lecture, we start with a simple hardware project in which they use MATLAB, two Arduino® microcontrollers, and basic electronic components to construct a simulated satellite communications link.

In this setup, one Arduino acts as the ground station and the other as the satellite. Students learn how to encode and decode information. They also get firsthand experience in information bit-loss and signal gain changes by observing what happens to the communications link when the Arduinos move toward and away from one another.

Planning a Satellite Pass

Before they can capture signals from the Delfi-C3 satellite at the ground station, students must determine when the satellite will pass over their position. For one assignment, students use MATLAB to calculate the satellite’s approximate position based on two-line element (TLE) data provided by the U.S. Air Force, which tracks all objects in Earth’s orbit.

To help them with this assignment, we demonstrate in lecture how to propagate an orbit from a force model and a state vector. MATLAB makes it easy to show students Euler, Runge-Kutta, and Adams-Bashforth integration methods for orbit propagation. They put these concepts into practice using ordinary differential equation solvers and a variety of integrators in MATLAB. By the end of this exercise they can propagate virtually anything—from ballistic trajectories on Earth to satellite orbits in space.

Recording and Analyzing Satellite Data

About half an hour before the time calculated for the satellite to pass, the students come to the ground station to familiarize themselves with the antennas and equipment.

As the satellite approaches, the students’ excitement grows, and they are thrilled when they hear the satellite’s signal over the radio, its frequency decreasing during the whole pass due to the Doppler effect. We record the signals as the satellite passes, and students download the resulting binary data files to their computers for processing.

Working in MATLAB the students apply filters to remove noise introduced by the amateur radio enthusiasts who sometimes share the satellite’s bandwidth or other sources of error. One of the biggest challenges with the data processing is finding the relatively few relevant data points for the signal in the gigabytes of data that were recorded. Students write MATLAB scripts to extract these points and perform a Fourier transform to see the characteristic S-shaped Doppler curve of the recorded signals (Figure 3).

Figure 3. A waterfall plot of the recorded signal from Delfi-C3.
Figure 3. A waterfall plot of the recorded signal from Delfi-C3. The characteristic S-shaped Doppler curve shows higher frequencies as the satellites approach the ground station and lower frequencies as they move away.

Once the students know how the frequency changes, they use MATLAB to calculate the satellite’s velocity with respect to the ground station and then use the results for orbit determination. The students also calculate the time of closest approach (TCA), the exact instant that the satellite passes directly overhead. They take pride in producing results that are more accurate than the TLE data they used for pass planning.

At one point we managed to simultaneously track Delfi-C3 and its sister satellite, Delfi-n3Xt, which was also designed at TU Delft. The signals from Delfi-n3Xt were strong because it was passing over the ground station. The signals from Delfi-C3 were weaker because it was over Iceland, but the satellite was still visible from the ground station (Figure 4).

Figure 4.   A waterfall plot showing the recorded transmissions of Delfi-C3 as it passed over Iceland and its sister satellite, Delfi-n3Xt, as it passed over the ground station at TU Delft.
Figure 4. A waterfall plot showing the recorded transmissions of Delfi-C3 as it passed over Iceland and its sister satellite, Delfi-n3Xt, as it passed over the ground station at TU Delft.

Satellite tracking results are much more accurate when there are multiple ground stations. We designed our system to be affordable and easy to implement so that other universities could set up stations, gradually developing a worldwide network of satellite tracking stations. We are also investigating the feasibility of turning our ground station into a virtual lab that online students can access remotely. Here, software for operating the station and MATLAB scripts to extract tracking data will be available for download. Documents on how to design and build your own ground station will also be available.

Seeing the Bigger Picture

While we cannot match the satellite tracking accuracy of large space agencies with much more expensive equipment, I am impressed with what a few students using a home-grown station installed on a rooftop can achieve. Many of our students have gone on to positions at NASA, the European Space Agency, and aerospace companies. Engineers working in industry tell me that TU Delft graduates are in high demand because they have a reputation for seeing the bigger picture of engineering problems and rapidly coming up with solutions. MATLAB plays a big role in this reputation because our students use it throughout their studies to quickly try new ideas and show other engineers how their solutions will work.

Visualizing Gravitational and Geophysical Phenomena

In his blog, DeepEarthScience, Bart Root writes about astrodynamics, space missions, geophysics, and other scientific topics. In one post, he writes about using MATLAB to calculate and plot the gravitational field of the 67P/Churyumov–Gerasimenko comet based on data from the ESA Rosetta satellite that is orbiting it (Figure 5).

Figure 5. Magnitude of the gravity vector for the 67P/Churyumov–Gerasimenko comet at 500 m altitude.
Figure 5. Magnitude of the gravity vector for the 67P/Churyumov–Gerasimenko comet at 500 m altitude.

Root also blogs about a project that is breathing new life into the work of Dutch geophysicist Vening Meinesz, who was a professor at TU Delft in the 1930s. Vening Meinesz invented a gravimeter, which he used on several submarine expeditions to measure Earth’s gravitational field. Root and a group of undergraduates entered data that Vening Meinesz had recorded in his notebooks into spreadsheets. He then used MATLAB to analyze and plot the data for a new website chronicling Vening Meinesz’ work.

Oceanic trenches were particularly interesting to Vening Meinesz. His measurements of the gravity anomalies near the Romanche Trench between Africa and South America produced results comparable with those obtained from state-of-the-art instruments today. Working in MATLAB and Mapping Toolbox™, Root plotted Vening Meinesz’ path across the trench and compared the gravity anomalies he calculated with those produced by a high-resolution global gravity model currently used by scientists (Figure 6).

Figure 6. Top: MATLAB plot tracing Vening Meinesz’ path across the Romanche trench. Bottom: Plots comparing Vening Meinesz’ gravity anomaly and depth measurements with current measurements.
Figure 6. Top: MATLAB plot tracing Vening Meinesz’ path across the Romanche trench. Bottom: Plots comparing Vening Meinesz’ gravity anomaly and depth measurements with current measurements.

In the same project, Root used MATLAB to create 3D and 2D plots of the Earth’s geoid, the shape that the oceans would form if they were solely affected by Earth’s gravity and rotation (Figure 7).

Figure 7. 3D and 2D MATLAB plots of Earth’s geoid.
Figure 7. 3D and 2D MATLAB plots of Earth’s geoid.

About the Author

Bart Root is a Ph.D. candidate and instructor at Delft University of Technology. He blogs about astrodynamics, space missions, geophysics, and other topics at deepearthscience.blogspot.nl.

Published 2015 - 92291v00

View Articles for Related Capabilities

View Articles for Related Industries