1 Introduction

Earth observation is one of the most important Space applications. Observation of the climate change and prediction of its further evolution requires spatially comprehensive measurements of all aspects influencing the climate [6]. One important influence is established by the oceans and ice. Long-term sea surface topography measurements from several decades of multiple satellite radar altimetry missions have led to significant understanding of the evolution of large-scale ocean circulations, mesoscale oceanic variabilities, ocean heat storage and ocean transport, sea-level rise, and change of the Atlantic Ocean circulation, which plays an important role in the evolution of the European weather and climate.

Conventional radar technologies require actively transmitting antennas as well as receiving antennas, which makes the instrument large and power consuming. Furthermore, the reflections are mainly received from nadir direction. Such satellite altimetry missions have provided data with cross-tracking spatial resolutions of 150 km, limiting the estimates of mesoscale variabilities and eddy current velocities to the same spatial scales.

An alternative approach is to focus on already transmitted signals by other satellites, and measure their reflections on earth surface. These Signals of Opportunity (SoOp) are normally transmitted signals with a different purpose, with GNSS signals being the most promising ones.

1.1 GNSS-Reflectometry techniques

In order to process these reflected signals, different techniques exist. First, a receiving payload can generate the code for the GNSS satellite which is going to be tracked on board, and correlate it with the received reflected signal (conventional GNSS-Reflectometry or cGNSS-R). Second, the interferometric GNSS-Reflectometry (iGNSS-R) receives the direct and reflected signal in parallel. For that iGNSS‑R uses two antennas, one up-looking antenna (Right Hand Circular Polarized (RHCP)) for the direct signal and one down-looking antenna (Left Hand Circular Polarized (LHCP) for GPS signals). The two received signals are aligned in time and frequency and correlated with each other. The concept is the so-called PAssive Reflectometry and Interferometry System (PARIS) and was first published in 1993 [3]. The geometry for both methods is depicted in Fig. 1. The main advantage of iGNSS‑R is, that the receiver does not need to know what type of signal is transmitted and therefore also the energy of unknown codes/modulations can be used (e.g., GPS military code). With PRETTY the main focus is on the interferometric approach in particular for GPS. The SoOp will be received via the direct path and via the reflected path from the earth surface.

Fig. 1
figure 1

Measurement geometry. Top cGNSS‑R, Bottom iGNSS‑R

The result after correlation is a waveform which allows to determine various geophysical properties (sea-surface height, sea-surface roughness, wind speed, etc.). A detailed theoretical analysis can be found in [4] and in [5] a mission concept including applications is defined.

1.2 Measurement principle for PRETTY

For the design of iGNSS‑R on a CubeSat platform, we take a closer look at the reflection coefficient (i.e., the power which is reflected from the surface) As can be seen in Fig. 2, it is changing from LHCP to RHCP when the elevation angle is low. The values for the calculation of the reflection coefficients have been taken from [2].

Fig. 2
figure 2

Reflection coefficients for various surfaces

This means, that the reflected signal has the same polarity as the transmitted signal, hence only one antenna polarization is needed to receive the direct and reflected signal. Moreover, the angle between the transmitter, the reflection point and the receiver is (at low elevation angle), about twice the elevation angle. Using an antenna with a broad pattern (in elevation direction), would allow to receive both signals with one antenna. Measurements at low elevation angles is called Grazing altimetry or Phase altimetry.

The interferometric cross-correlation is associated with some SNR loss compared with the correlation with clean replica codes. The loss is indirectly proportional to SNR of the direct signal at the input of the correlator, and thus, also depends on the filter bandwidth at the correlator input. For the proposed instrument the bandwidth of a digital filter in front of the correlator is configurable. The loss will be in the range of about 15 dB to 20 dB. Despite this loss, the interferometric cross-correlation approach is considered as advantageous:

  • The cross-correlation approach does not require any knowledge of GNSS spreading codes. Therefore, the encrypted GPS P (Y)-codes and the classified GPS M‑code and Galileo E1‑A signals can be utilized. This increases the total signal energy.

  • Further, the wider bandwidth of these non-open signals, narrows the correlation function, and thus improves the resolution of the non-coherent delay measurements.

  • Grazing reflections are known to have significantly longer coherence times than reflections at small incidence angles. Coherent integration times up to 50 ms are expected to be possible for the L1 frequency, even longer integration times are possible for the L2 or L5 frequencies. For correlation with clean replicas the navigation data demodulation of the GPS C/A-code signals limits the coherent integration to 20 ms. Only the pilot tone of Galileo E1-B/C could be tracked with integration times longer than 4 ms.

  • The Doppler shift between direct and reflected signal is smaller than the individual Doppler values. This simplifies the tracking.

2 Visibility and coverage

A first analysis on the number of possible events shows that, during a one-week simulation considering GPS L1 reflections at grazing angles only, at every point in time there will be at least one reflection point visible. In Fig. 3 the concurrent visible grazing reflection points are shown for a time resolution of 30 s, using a one-week period for a representative orbit.

Fig. 3
figure 3

Concurrent visible reflection points

This means, that the PRETTY reflectometry payload can be run at any time during the orbit and will detect an event, which can be measured. Moreover, the number of events is much larger than the number of processing channels within PRETTY, hence a larger payload could process more than 4 times the measurements than PRETTY.

Each measurement will need electrical power (for the hardware components running during the measurement), and storage for the results. Therefore, it is necessary, to determine the length of the reflection events (i.e., the length of the track on earth surface), in order not to drain too much power (depth of discharge of battery) nor to exceed the on-board storage of the processing unit. Since the reflection point is not static and the spacecraft is moving during the measurement time, the software needs to update the processing settings during the measurement. In Fig. 4 the track lengths are shown as histogram for two different bin sizes (= width of one histogram bin, i.e., the accumulation over 1min and 5min). Most of the reflections are visible only for a small portion of time (around \(5-10\)min). However, there are a few ones which last up to 40min (i.e., about half an orbit).

Fig. 4
figure 4

Duration of visible reflection points

An interesting fact of the distribution of the events can be seen in Fig. 5. At \(0^{\circ }\) and \(180^{\circ }\) we see lots of short events, which correspond to rising/setting GNSS satellites, whereas on the sides (\(90^{\circ }\), resp. \(-90^{\circ }\)) longer tracks can be found. Note that there are even events up to 60 min, which are too long (w.r.t. science data storage and power consumption) to be considered operational interesting events.

Fig. 5
figure 5

Duration vs Direction of GNSS reflection events, w.r.t. flight direction of satellite

The PRETTY spacecraft has storage capability of 30 min of reflection events, before the data needs to be downloaded. This means that during operations planning, it is possible to choose between multiple short events or one long event. Depending on the geographic region where the track passes through, this enables the mission to increase coverage in specific areas.

Considering the coverage on earth surface for all GPS L1 grazing reflections within one week each point on earth can be measured up to 9 times. In Fig. 6 and 7 the coverage is shown for a grid size of \(0.5^{\circ }\)× \(0.5^{\circ }\). Note that the polar regions are the most interesting ones for this demonstrator mission, due to the higher reflection coefficient, hence higher power received.

Fig. 6
figure 6

Global coverage (0.5°) grid size

Fig. 7
figure 7

a North Pole coverage (0.5°) grid size, b South Pole coverage (0.5°) grid size

Recent studies, based on L1 (1575.42MHz) vs L2 (1227.6MHz) frequency measurements from space, have shown that the coherence of the phase, i.e., the time the phase of the signal does not change significantly, is way higher for L2 than for L1. The reason for this is the longer wavelength of the signal. Within the PRETTY project team and ESA, it was agreed to switch to L5 (1176.45MHz), which has an even larger wavelength, to demonstrate grazing altimetry measurements at L5 for the first time in space.

3 PRETTY

3.1 Platform

PRETTY is a 3 U CubeSat having a size of of \(10\times 10\times 30\) cm and a mass of approx. 6 kg. Two deployable solar array panels generate 24 W of electrical (peak) power. For satellite communication two options are available:

  • VHF (low data rate uplink and downlink)

  • S‑band (high speed uplink and downlink)

This ensures even in the case of failure on one link, that the spacecraft is not lost and can be further operated.

In order to receive GNSS signals in a grazing geometry, two custom designed antenna patches are mounted on the satellite X‑face. During operations the satellite will be turned so that the antenna will be facing in direction of the transmitting GNSS satellite.

3.2 GNSS-R hardware

The principal signal processing for the GNSS‑R payload onboard PRETTY is shown in Fig. 8. As described in Subsection 1.2, only a single RHCP antenna is used for reception of both the direct and reflected signal. The front-end is responsible for amplifying, filtering and converting the signal to the digital domain. Note that GNSS signals have a negative signal-to-noise (SNR) ratio in the range of \(-20\mathrm{dB}\) with a signal power in the range of \(-128\mathrm{dBm}\). Within PRETTY, the front-end is built around the AD9361 RF transceiver chip, which consists of two transmit and two receive channels including 12 bit DAC/12 bit ADC, with a channel bandwidth of up to 56MHz, and a frequency range between 70MHz and 6GHz. The chip covers all aspects needed for GNSS‑R measurements. Although the AD9361 is a COTS component, recent Single Event Effect studies show that it is suitable in the LEO radiation environment [7].

Fig. 8
figure 8

Principal Signal Processing

The processing platform is based on an ALTERA Cyclone V System-on-Chip (SoC) module, which features high-performance CPU (Dual-Core ARM) combined with a FPGA fabric. It is the same SoC as in the OPS-SAT mission, which was ESA’s first Nanosat, and has been launched in December 2019 [1]. Currently OPS-SAT is still fully functional and is used for various user defined experiments.

The signal processing core, ALPACO, has been developed at RSA. This core targets a broad range of applications for GNSS‑R. The ALPACO can handle two antenna inputs (for direct and reflected signal) enabling the iGNSS‑R approach. In addition, the FPGA core is capable of generation of a local code replica, in order to perform cGNSS‑R as well. The correlation result can be processed either in its complex form, or as power waveforms, with flexible integration times between 1 ms and over 2 s. A single result would be sufficient for altimetric measurements. However, to compute other geophysical parameters the signal after correlation and before integration needs to be spaced in the Doppler domain. The ALPACO can process up to 15 different Doppler frequencies at the same time, and stores them into buffers which are further processed by an inhouse developed software.

3.3 GNSS-R software

PRETTY will be operated from a ground station located at the rooftop of TU Graz. The average LEO revisit times are around 30 min, the exact value is available after the launcher has been finally selected. The duration of each contact is about 5 min. For the design of the software, the ground contacts, the power budget and the eclipse times have to be taken into consideration. An efficient operation of the satellite requires a high degree of spacecraft autonomy, in order to avoid a complex space to ground interface and ground operations procedures. Thus, the following tasks are performed autonomously within the spacecraft, requiring a tight integration between the payload and the spacecraft bus:

  • Predetermination of possible observation events and selection of the most suitable one

  • Autonomous calculation of observation parameters (attitude, delay and Doppler compensation) and configuration of hardware reflectometer hardware

  • Command satellite bus for reflection point tracking

  • Acquisition of correlation results from currently selected reflection points.

  • Acquire auxiliary data (e.g. FrontEnd Temperature, signal power level, signal processing statistics, satellite position, etc.)

  • Storage and compression of science and auxiliary data

All autonomous functions can be overruled via dedicated telecommands from ground (which enables for example to focus on specific events, like tropical cyclones). As can be seen from the software tasks, there is a multitude of different aspects from low-level communication (e.g., ADCS commanding via CAN bus), over time critical operations (e.g., synchronization of FPGA processing settings to GNSS PPS) to computation intensive operations.

The most challenging task from the computational viewpoint is the calculation of the reflection points on earth surface. This comes from the fact, that for a reflection on the WGS84 ellipsoid there exists no analytical solution and an iterative approach is needed. In [8] different methods for the calculation are shown, including their errors. However, the algorithms described are not suitable for the intended autonomous operations and another algorithm for the calculation of the reflection point was developed. The basic operation of the PRETTY reflection point algorithm is that the reflection point has to be in the plane spanning the transmitter (GPS satellite), receiver (PRETTY) and geodetic earth center. This also means, that the reflection point can be seen as the sub-satellite point, on a direct line between the transmitter and the receiver. The algorithm now follows the direct line in a binary search way from the transmitter to the receiver. In each iteration, the sub-satellite point is checked if it is the desired reflection point (according to Snells law with a sufficient small error between incoming and outgoing angle). With this algorithm, the PRETTY SW is able to calculate the reflection points for all GNSS satellites with a coarse resolution, extract statistics of them (length of event, region on earth, etc.) and selecting the best suitable among them. This has been combined with a Digital Elevation Model (DEM), in order to also calculate the reflection events over land ice surfaces.

The reflection point calculation has to be embedded with the other control tasks listed above. The overall complexity of the software does not allow a manual check during code review, and therefore an automated approach was chosen. Since the actual System-on-Chip features an ARM processor and full system tests with RF stimuli is time consuming, a cross-compile toolchain has been setup. This allows to run the reflectometer software within a Linux environment and enables the check of flight software data versus the reference model. Hence, full system tests in a software/software environment (which normally runs much faster than a hardware system test) are possible.

The data extracted from the observation campaign are stored as standard netCDF files, which can be read by various tools (including Matlab and Python). The advantage of netCDF is, that it is a self-describing format, meaning that the description of the data is included inside the data packet. The science data packet also includes additional auxiliary data and more detailed science data fields (e.g., measured clock error).

4 Conclusion

We have shown the principle of GNSS‑R and how this technique can be applied on a low cost CubeSat mission, via restriction to a single antenna and low elevation angles. The necessary coverage has been shown for GPS L1 and is very good for the polar regions.

The design of the platform, GNSS‑R hardware and GNSS‑R software imposes different challenges. Especially for the software development, we have shown the complexity of a highly autonomous and a way for a cost-effective solution.

Currently the CDR is going to be finished and the launch is envisaged for Q3/22.