Idle data in BepiColombo X-band signal

Yesterday I posted about decoding the data in an X-band recording of BepiColombo. I only made a very shallow analysis of the data, which consisted of CCSDS TM Space Data Link frames. However, I showed that most of the data was transmitted on virtual channel 7. A few hours later, Oleg_meteo in Twitter noted that this data in virtual channel 7 was just a 511 bit PN sequence. After some analysis I’ve confirmed what Oleg_meteo said and shown another interesting and unexpected property of this data.

All the Space Data Link frames in virtual channel 7 have a first header pointer field of 2046, which means “idle data only”. When the payload in these frames is concatenated (there are 8792 payload bits per frame) we obtain an infinite sequence that fits the following description.

Continue reading “Idle data in BepiColombo X-band signal”

Decoding BepiColombo

BepiColombo is a joint mission between ESA and JAXA to send two scientific spacecraft to Mercury. The two spacecraft, the Mercury Planetary Orbiter, built by ESA, and the Mercury Magnetospheric Orbiter, built by JAXA, travel together, joined by the Mercury Transfer Module, which provides propulsion and support during cruise, and will separate upon arrival to Mercury. The mission was launched on October 2018 and will arrive to an orbit around Mercury on December 2025. The long cruise consists of one Earth flyby, two Venus flybys, and six Mercury flybys.

The Earth flyby will happen in a few days, on 2020-04-10, so currently BepiColombo is quickly approaching Earth at a speed of 4km/s. Yesterday, on 2020-04-04, the spacecraft was 2 million km away from Earth, which is close enough so that Amateur DSN stations can receive the data modulation sidebands. Paul Marsh M0EYT, Jean-Luc Milette and others have been posting their reception reports on Twitter.

Paul sent me a short recording he made on 2020-04-04 at 15:16 UTC at a frequency of 8420.535MHz, so that I could see if it was possible to decode the signal. I’ve successfully decoded the frames, with very few errors. This post is a summary of my decoding.

Continue reading “Decoding BepiColombo”

Earth rotation corrections for range and range-rate in GNSS

In GNSS, when considering the propagation of signals from the satellites to a receiver, it is easier to work in an ECI reference frame, since (ignoring the gravitational potential of Earth), light travels in straight lines in ECI coordinates. However, it is often common to do all the calculations in an ECEF frame, as the final goal is to obtain the receiver’s position in ECEF coordinates, and the ephemerides also use ECEF coordinates to describe the satellite positions. Therefore, a non-relativistic correction needs to be applied to account for the fact that light no longer travels in straight lines when one considers ECEF coordinates. Often, the correction is done as some kind of approximation. These types of corrections are known in the GNSS literature as the Sagnac effect.

The goal of this post is to discuss where the corrections arise from, the typical approximations that can be made, and how these corrections affects the calculation of range and range-rate. I didn’t find a good source in the literature where this is described in detail and in a self-contained way, so I decided to write it myself.

Continue reading “Earth rotation corrections for range and range-rate in GNSS”

More data from LES-5

Yesterday I looked at decoding some data transmitted by LES-5. Today I have analysed a longer recording made by Scott Tilley VE7TIL to perform an eclipse timing on 2020-03-25. The study has been done in this Jupyter notebook, which looks at the sequences of symbols extracted before and after the eclipse (they are kept as two separate sequences because the transmit frequency changed slightly after the eclipse, so decoding required two separate passes).

Continue reading “More data from LES-5”

Decoding LES-9

After decoding a recording of the LES-5 236.7MHz telemetry beacon made by Scott Tilley VE7TIL, I have decoded an older recording made by Scott of the S-band beacon of LES-9. This satellite was launched in 1976 and it has a 100 baud BPSK beacon at 2250MHz. Scott twitted about it in April 2019, and in January 2020 he reported that the modulation had stopped and the beacon was now a CW carrier.

I have used this recording made by Scott in 2020-01-13. The GNU Radio demodulator, which is very similar to the one for LES-5, is here and the Jupyter notebook with the results is here. Below, I make a brief summary of the results.

Continue reading “Decoding LES-9”

Decoding LES-5

LES-5 is a satellite launched in 1967. It was built by the MIT Lincoln Laboratory and its main payload was an experimental transponder for the military 230MHz band. It was placed in a subsynchrounous orbit with an altitude of around 33400km (GEO altitude is 35786km). Its operations ceased in 1971.

A couple days ago, Scott Tilley VE7TIL discovered that LES-5 was still transmitting, and was able to receive its beacon at 236.749MHz. Scott reports that LES-5 is the oldest GEO-belt object that he knows to be still transmitting.

The beacon is modulated, rather than being a CW carrier, so Scott sent me a short recording for analysis. This post is a summary of my study.

Continue reading “Decoding LES-5”

Coherence and QO-100

My tweet about the AMSAT-BR QO-100 FT8 QRPp experiment has spawned a very interesting discussion with Phil Karn KA9Q, Marcus Müller and others about weak signal modes specifically designed for the QO-100 communications channel, which is AWGN albeit with some frequency drift (mainly due to the imperfect reference clocks used in the typical groundstations).

Roughly speaking, the conversation shifted from noting that FT8 is not so efficient in terms of EbN0 to the idea of using something like coherent BPSK with \(r=1/6\) CCSDS Turbo code, then to observing that maybe there was not enough SNR for a Costas loop to work, so a residual carrier should be used, and eventually to asking whether a residual carrier would work at all.

There are several different problems that can be framed in this context. For me, the most interesting and difficult one is how to transmit some data with the least CN0 possible. In an ideal world, you can always manage to transmit a weaker signal just by transmitting slower (thus maintaining the Eb/N0 constant). In the real world, however, there are some time-varying physical parameters of the signal that the receiver needs to track (be it phase, frequency, clock synchronization, etc.). In order to detect and track these parameters, some minimum signal power is needed at the receiver.

This means that, in practice, depending on the physical channel in question, there is a lower CN0 limit at which communication on that channel can be achieved. In many situations, designing a system that tries to approach to that limit is a hard and interesting question.

Another problem that can be posed is how to transmit some data with the least Eb/N0 possible, thus approaching the Shannon capacity of the channel. However, the people doing DVB-S2 over the wideband transponder are not doing it so bad at all in this respect. Indeed, by transmitting faster (and increasing power, to keep the Eb/N0 reasonable), the frequency drift problems become completely manageable.

In any case, if we’re going to discuss about these questions, it is important to characterize the typical frequency drift of signals through the QO-100 transponder. This post contains some brief experiments about this.

Continue reading “Coherence and QO-100”

Decoding images from AMICal Sat

AMICal Sat is a 2U cubesat developed by the Space Centre of the Grenoble University, France, and the Skobeltsyn Institute of Nuclear Physics in the Lomonosov Moscow State University. Its scientific mission consists in taking images of auroras from low Earth orbit. The satellite bus was built by SatRevolution. Currently, the satellite is in Grenoble waiting to be launched on a future date (which is uncertain due to the COVID-19 situation).

A few weeks ago I was working with Julien Nicolas F4HVX to try to decode some of the images transmitted by AMICal Sat. Julien is an Amateur radio operator and he is helping the satellite team at Grenoble with the communications of the satellite.

This post is an account of our progress so far.

Continue reading “Decoding images from AMICal Sat”

Fifth alpha for gr-satellites 3

Today I have released gr-satellites v3-alpha4, the fifth alpha in the series that will lead to the refactor of gr-satellites in which I’ve been working since September. This alpha release has been focused on improving the performance of the BPSK and FSK demodulators. Here I summarise the improvements and new features that this alpha brings, and look at the roadmap leading to the release of gr-satellites 3.0.0.

Continue reading “Fifth alpha for gr-satellites 3”

Simulating the TED gain for a polyphase matched filter

Trying to improve the performance of the demodulators in gr-satellites, I am switching to the Symbol Sync GNU Radio block, which was introduced by Andy Walls in GRCon17. This block covers the functionality of all the other clock synchronization blocks, such as Polyphase Clock Sync and Clock Recovery MM, while fixing many bugs.

One of the new features of the Symbol Sync block is the ability to specify the gain of the timing error detector (TED) used in the clock recovery feedback loop. All the other blocks assumed unity gain, which simply causes the loop filter taps to be wrong. However, the TED gain needs to be calculated beforehand either by analysis or simulation, as it depends on the choice of TED, samples per symbol, pulse shaping, SNR and other.

While Andy shows how to use the Symbol Sync block as a direct replacement for the Polyphase Clock Sync block in his slides, he leaves the TED gain as one, since that is what the Polyphase Clock Sync block uses. In replacing the Polyphase Clock Sync block by Symbol Sync in gr-satellites, I wanted to use the correct TED gain, but I didn’t found anyone having computed it before. This post shows my approach at simulating the TED gain for polyphase matched filter with maximum likelyhood detector.

Continue reading “Simulating the TED gain for a polyphase matched filter”