Technical Articles

Customer Insights

Developing Mission Operations Planning and Scientific Analysis Applications for GNSS-Based Lunar Navigation

Supporting Mission Planning, Operations, and Analysis for the LuGRE Mission


Authors:

  • Simone Zocca, Politecnico di Torino
  • Luca Morichi, Politecnico di Torino
  • Alex Minetto, Politecnico di Torino
  • Andrea Nardin, Politecnico di Torino
  • Oliviero Vouch, Politecnico di Torino
  • Fabio Dovis, Politecnico di Torino

12-minute read

Summary

  • The LuGRE team in the Department of Electronics and Telecommunications at Politecnico di Torino used MATLAB to model Earth-Moon-spacecraft geometry and predict GNSS signal visibility at lunar distances.
  • They built mission operations applications with MATLAB App Designer and MATLAB Report Generator to support analysis and decision-making.
  • They enabled landmark lunar navigation achievements and created open resources for future GNSS-based space exploration research.

In January 2025, Firefly Aerospace’s Blue Ghost lunar lander launched, carrying ten NASA science payloads to the Moon. One of those payloads was the Lunar GNSS Receiver Experiment (LuGRE), a joint project between NASA, the Italian Space Agency (ASI), and Qascom. It was designed to answer an important question for future lunar exploration: Could navigation signals from Earth’s GPS and Galileo constellations be received and used nearly a quarter-million miles from our planet? At the outset of the mission, the answer was far from clear. Global navigation satellite system (GNSS) satellites broadcast their signals toward Earth, not toward the Moon. At lunar distances, those signals become extremely weak; the geometry of the GNSS constellation collapses into what appears from the Moon as a tight cluster of ranging sources near the Earth’s disk, and signal visibility depends not only on a spacecraft’s location relative to the satellite but also on whether the signal is received from a satellite antenna’s main lobe or sidelobes.

Our research group—the Navigation Signal Analysis and Simulation (NavSAS) group in the Department of Electronics and Telecommunications at Politecnico di Torino—served on the LuGRE science team, supporting the mission before, during, and after flight. Before launch, we worked with NASA to predict when useful GNSS signals would be available and identify the best opportunities to collect data. During the mission, we had to rapidly analyze incoming measurements, determine whether each observation had produced scientifically valuable results, and revise collection plans as mission operations changed. After the mission, we have continued to analyze the data to validate the experiment’s results and enable further scientific research.

We used MATLAB® to develop two complementary applications to meet these challenges. The first—a 3D orbital analysis application built around the satellite scenario capability—models the changing geometry of the spacecraft, Earth, Moon, and GNSS constellations to predict satellite visibility and support mission operations planning (Figure 1). The second, dubbed LuNART (the LuGRE Navigation Analysis and Reporting Tool), combines a graphical user interface developed using MATLAB App Designer with automated report generation via MATLAB Report Generator™ to streamline scientific analysis and documentation of the mission data. Together, these applications supported a mission that achieved the first publicly documented GNSS navigation fix on the surface of the Moon, tracked GNSS signals at the farthest publicly documented distance, and produced an open data set that continues to advance research into lunar navigation.

Video length is 0:37

Figure 1. The LuGRE 3D orbital analysis application built using MATLAB, Aerospace Toolbox, Antenna Toolbox™, and Navigation Toolbox™. The application enabled dynamic visualization of the spacecraft, Moon, and GNSS signal paths near the lunar surface (left) and GNSS satellite geometry relative to Earth and the mission trajectory (right).

Planning the Operational Windows for the Mission

Long before LuGRE began receiving signals from the Moon, the science team faced a planning challenge: determining when the mission’s GNSS receiver should operate. Unlike terrestrial GNSS receivers, a receiver traveling to the Moon would see only a handful of weak signals at any given time. Whether those signals would be detectable depended on the spacecraft’s position, the changing geometry of the GPS and Galileo constellations, and the orientation of each satellite’s transmitting antenna.

Because no previous mission had attempted GNSS-based navigation at the Moon, there was no established methodology for identifying the best observation windows. Poorly chosen windows would leave gaps in the data set that could not be recovered. The challenge was not simply to predict satellite visibility, but to determine which observation opportunities were most likely to produce scientifically valuable data and then compare our results with independent analyses performed by NASA. The resulting analysis helped the science team determine when LuGRE should collect data and provided confidence that each observation window offered the greatest scientific value.

To support this work, we built an interactive 3D orbital analysis application in MATLAB based on the satelliteScenario object. The application modeled the positions of the spacecraft, Earth, Moon, and GNSS satellites throughout the mission, using the lander’s planned trajectory provided by NASA. This application enabled the team to visualize the changing geometry and model satellite visibility through configurable field-of-view cones representing both main lobe and sidelobe reception. By combining orbital visualization with mission-specific visibility analysis, the application became an essential planning tool for selecting observation windows before launch and, later, for supporting operational decisions as the mission unfolded (Figures 2 and 3).

Spacecraft near the Moon with lines of sight to GNSS satellites.

Figure 2. Visualization from the 3D orbital analysis application, showing the spacecraft near the Moon with lines of sight to GNSS satellites.

Figure 3. Mission-planning analysis plots for the Blue Ghost mission generated using MATLAB. The left graph shows the elevation profiles for selected GNSS satellites, with the red dashed line representing the Earth’s horizon and the blue dashed line indicating the approximate upper boundary of the ionosphere. The right graph shows the predicted visibility states for the same satellites during that observation period.

Analyzing Signal Data and Supporting Mission Operations

Once LuGRE began returning data, our team’s focus shifted from mission planning to mission operations. Each observation generated raw GNSS measurements and signal samples that had to be analyzed quickly to determine whether the collection had achieved its scientific objectives. The results would guide planning for upcoming observation opportunities, making rapid turnaround essential. The analysis also needed to be repeatable and accessible to the entire science team, allowing every researcher to produce consistent results and official scientific mission reports.

We developed LuNART to meet these requirements. The tool’s graphical interface provided an intuitive environment for loading mission data, executing predefined scientific analyses, visualizing the results, and automatically generating standardized reports (Figure 4).

The LuNART-q interface for loading mission data, running analyses, and generating reports.

Figure 4. The user interface of LuNART-q, the full mission operations version of LuNART used on the Blue Ghost mission.

During mission operations, researchers worked around the clock in rotating shifts. Rather than requiring team members to run individual MATLAB scripts, the application integrated the complete analysis workflow into a single interface used across the science team, enabling those who had not developed the software to perform consistent analyses and generate reports with minimal training. The underlying MATLAB framework, built with Signal Processing Toolbox™, Aerospace Toolbox, and Statistics and Machine Learning Toolbox™, enabled us to incorporate additional analyses as the mission progressed. At the same time, we preserved a common workflow for every observation and produced consistent scientific documentation (Figure 5).

A plot of the carrier-to-noise density ratio for individual GNSS satellites during a LuGRE observation window.

Figure 5. Carrier-to-noise density ratio (C/N₀) for individual GNSS satellites during a LuGRE observation window. Generated by LuNART, this visualization enabled the science team to evaluate signal quality and compare measured visibility with mission planning predictions.

Occasionally, mission operations deviate from the planned schedule. For example, a maneuver may use more fuel than expected, forcing future science operations to be canceled or rescheduled. When unexpected mission events disrupted our established observation schedule, we returned to the 3D orbital analysis application to evaluate new opportunities and used LuNART-q to rapidly assess the latest observations. Together, the two applications enabled us to quickly recommend revised observation windows and receiver configurations, making the best use of the remaining opportunities throughout the mission.

Post-Mission Analysis and Open Science

After mission operations concluded, our focus shifted once again, this time from supporting daily operations to conducting more detailed scientific analyses of the complete LuGRE data set. Because LuNART was designed to accommodate additional analyses, we were able to continue expanding its capabilities in MATLAB while preserving the same workflow established during the mission. The 3D orbital analysis application also remained valuable during post-mission analysis, providing the geometric context needed to interpret measured receiver performance in light of the spacecraft trajectory and predicted satellite visibility for individual observation periods.

The LuGRE data set was released publicly as part of the mission’s commitment to open science. After the mission concluded, we separately decided, in agreement with ASI, to release LuNART—a more stable, reduced version of the LuNART-q interface used for mission operations—as open-source software. Although doing so meant sharing years of analysis and software development, we believed the software would have greater impact as a resource for the broader scientific community. Together, the data set and LuNART enable researchers to explore GNSS performance at lunar distances using the same analysis environment developed for the mission, helping to accelerate future research into GNSS-based navigation beyond Earth orbit.

Mission Success and Future Directions

LuGRE demonstrated that GNSS signals can support navigation well beyond Earth orbit, establishing new milestones in signal tracking and positioning at lunar distances. Under favorable conditions, the mission achieved sub-kilometer positioning accuracy despite the weak signals and poor satellite geometry encountered at the Moon. For our team, the mission also demonstrated the value of combining 3D orbital modeling, application development, and signal analysis within a single engineering workflow. The same applications that were developed using MATLAB supported mission planning before launch, operational decision-making during flight, and scientific analysis after the mission concluded.

As interest in sustained lunar exploration continues to grow, future missions will place even greater demands on navigation and mission operations. We expect the techniques and workflows that we implemented in MATLAB for LuGRE to continue evolving in support of those efforts, providing researchers and engineers with practical tools for planning missions, analyzing signal data, and supporting the development of future GNSS-based lunar navigation systems.

Learn More

Published 2026


Keep Exploring