An STRF crash course

Recently, the STRF satellite tracking toolkit for radio observations by Cees Bassa has been gaining some popularity. This toolkit allows one to process RF recordings to extract frequency measurements and perform TLE matching and optimization via Doppler curves. Unfortunately, there is not a lot of documentation for this toolkit. There are some people that want to use STRF but don’t have a clear idea of where to start.

While I have tested very briefly STRF in the past, I had never used it for doing any serious task, so I’m also a newcomer. I have decided to test this tool and learn to use it properly, writing some sort of walk-through as I learn the main functionality. Perhaps this crash course will be useful to other people that want to get started with STRF.

As I have said, I’m no expert on STRF, so there might be some mistakes or omissions in this tutorial that hopefully the experts of STRF will point out. The crash course is organized as a series of exercises that explain basic concepts and the workflow of the tools. The exercises revolve around an IQ recording that I made of the QB50 release from ISS in May 2017. That recording is interesting because it is a wide band recording of the full 70cm Amateur satellite band on an ISS pass on May 29. During a few days before this, a large number of small satellites had been released from the ISS. Therefore, this recording is representative of the TLE lottery situation that occurs after large launches, where the different satellites haven’t drifted much yet and one is trying to match each satellite to a TLE.

The IQ recording can be downloaded here. I suggest that you download it and follow the exercises on your machine. After you finish all the exercises, you can invent your own. Certainly, there is a lot that can be tried with that recording.

A number of supporting files are created during the exercises. For reference, I have created a gist with these files.

Es’hail 2 differential Doppler measurements

Since I published my Es’hail 2 Doppler measurement experiments, Jean Marc Momple 3B8DU has become interested in performing the same kind of measurements. The good thing about having several stations measuring Doppler simultaneously is that you can perform differential measurements, by subtracting the measurements done at each station. This eliminates all errors due to transmitter drift, since the drift is the same at both stations.

Of course, differential measurements need to be done with distant stations, to ensure different geometry that produces different Doppler curves in each station. Otherwise, the two stations see very similar Doppler curves, and subtracting yields nothing.

The good thing is that Jean Marc is in Mauritius, which, if you look at the map, is on the other side of the satellite compared to my station. The satellite is at 0ºN, 24ºE, my station is at 41ºN, 4ºW, and Jean Marc’s is at 20ºS, 58ºE. This provides a very good geometry for differential measurements.

Some days ago, Jean Marc sent me the measurements he had done on December 22, 23 and 24. This post contains an analysis of these measurements and the measurements I took over the same period, as well as some geometric analysis of Doppler.

It would be interesting if other people in different geographic locations join us and also perform measurements. As I’ll explain below, a station in Eastern Europe or South Africa would complement the measurements done from Spain and Mauritius well. If you want to join the fun, note a couple of things first: The Doppler is very small, around 1ppb (or 10Hz). Therefore, you need to have everything locked to a GPS reference, not only your LNB. Also, the change in Doppler is very slow. The Doppler looks like a sinusoidal curve with a period of one day. To obtain meaningful results, continuous measurements need to be done over a long period. At least 12 hours, and preferably a couple days.

Decoding Astrocast 0.1

Astrocast 0.1 is an Amateur satellite built by the Lucerne University of Applied Sciences and Arts (Hochschule Luzern). It is an in-orbit demonstrator for a future constellation of small satellites providing L-band data services for internet of things applications. The Amateur payload includes an on-board GPS receiver and a PRBS ranging signal transmitter for precise orbit determination .

This satellite was launched on December 3 on the SSO-A launch, but we only have payed attention to it recently. Its IARU coordinated frequency is 437.175MHz (actually it is a bit strange, because the IARU coordination data speaks about Astrocast 0.2, which hasn’t been launched yet). However, the satellite appears to be transmitting on 437.150MHz.

As it turns out, we had an unidentified object transmitting on 437.150MHz. This object was first thought to be RANGE-A, which was also on the SSO-A launch, as this frequency was assigned to RANGE-A. However, the RANGE-A team confirmed that this wasn’t their satellite, and I wasn’t able to identify the modem used by the mystery 437.150MHz signal.

Yesterday, Mike Rupprecht DK3WN noticed that this unidentified signal corresponded to Astrocast 0.1, and sent me some technical documentation about the protocols used by this satellite. Using that information, I confirmed that the mystery satellite at 437.150MHz was indeed Astrocast 0.1 and now I have added a decoder to gr-satellites.

D-STAR One Mobitex protocol decoded

D-STAR One are a series of Amateur satellites with an on-board D-STAR digital voice repeater. The first satellite of the series, called D-STAR One, was launched on November 2017 but was lost due to a problem with the upper stage of the rocket. The second satellite, called D-STAR One v1.1 Phoenix, was launched in February 2018 but never worked. On 27 December 2018, a Soyuz rocket launched the next two satellites in the series: D-STAR One Sparrow and D-STAR One iSat. I hear that, unfortunately, these two newer satellites haven’t been coordinated by IARU.

Besides using the D-STAR protocol, these two satellites also transmit telemetry in the 70cm Amateur satellite band using the Mobitex protocol, as described in the CMX990 modem datasheet. They use GFSK at 4800 baud.

In the past, I have talked about the Mobitex protocol in the context of the BEESAT satellites by TU Berlin. I described some notes about the Mobitex-NX variant used in these satellites, and contributed to the beesat-sdr GNU Radio decoder for the Mobitex-NX protocol.

Now, I have adapted the Mobitex-NX decoder to work also with the D-STAR One satellites, and added a decoder to gr-satellites. The decoder requires my fork of beesat-sdr to be installed.

One month of Es’hail 2 Doppler data

In a previous post I talked about my Doppler measurements of the Es’hail 2 10706MHz beacon. I’ve now been measuring the Doppler for almost a month and this is a follow-up post with the results. This experiment is a continuation of the previous post, so the measurement setup is as described there.

It is worthy to note that, besides the usual satellite movement in its geostationary orbit, which causes the small Doppler seen here, and the station-keeping manoeuvres done sometimes, another interesting thing has happened during the measurement period.

On 2018-12-13 at 8:00 UTC, the antenna where the 10706MHz beacon is transmitted was changed. Before this, it was transmitted on a RHCP beam with global coverage. After the change, the signal was vertically polarized and the coverage was regional. Getting a good coverage map of this beam is tricky, but according to reports I have received from several stations, the signal was as strong as usual in Spain, the UK and some parts of Italy, but very weak or inexistent in Central Europe, Brazil and Mauritius. It is suspected that the beam used was designed to cover the MENA (Middle East and North Africa) region, and that Spain and the UK fell on a sidelobe of the radiation pattern.

At some point on 2018-12-19, the beacon was back on the RCHP global beam, and it has remained like this until now.

The figure below shows my raw Doppler measurements, in parts-per-billion offset from the nominal 10706MHz frequency. The rest of the post is devoted to the analysis of these measurements.

In-orbit testing of Es’hail 2 Amateur transponders

Yesterday, December 23, MELCO carried out some in-orbit tests of the Es’hail 2 Amateur radio transponders. Since Es’hail 2 is currently under commissioning, it was expected that at some point the Amateur transponders would be activated for testing, but no announcement of the tests was done in advance. At around 11:00 UTC, Rob Janssen PE1CHL, noticed that the narrowband transponder was active and a carrier signal was being transmitted through it.

Since then, I monitored most of the tests and sent updates on Twitter, together with other people (see also the posts in the AMSAT-DL forum). Without knowing the details of the test plans, we limited ourselves to watching and following the tests that were being made. If some schedule of the tests had been published in advanced, we could have thought, prepared and performed some interesting measurements on the downlink signals.

I understand that since these tests are carried out by MELCO, AMSAT-DL might not have the specific details, but still I think that AMSAT-DL is publishing very little information about Es’hail 2 events. It was only at 22:35 UTC that AMSAT-DL published a small note on Twitter about the tests. I think the greatest concern is that people start transmitting through the transponder, interfering with the tests. However, since news spread very fast these days through social media, I think that publishing more information rather than keeping things discreetly serves better to prevent people from using the transponder during the commissioning. In any case, I’ll repeat it here:

Es’hail 2 is currently under commissioning. The 2.4GHz uplink of the Amateur transponders should never be used until authorized by AMSAT-DL. The Amateur transponders will sometimes be enabled for in-orbit testing by the MELCO/Es’hailSat/AMSAT-DL engineers. Relax, sit back, and watch the tests on the 10GHz downlink.

I also think that publishing more information would be beneficial to educate the community of radio Amateurs. Some people have asked me about the concept of in-orbit tests. After a satellite is launched into orbit, the performance of all its systems is tested to ensure that it matches design specifications, simulations, and pre-launch tests done on ground. This is important to guarantee that any problems, malfunction or damage that occurred during the launch can be diagnosed and hopefully mitigated by activating backup systems or other reliability measures. In-orbit testing of large satellites can take several months, since there are many complex systems that need to be tested remotely.

In the case of the Amateur radio payload of Es’hail 2, MELCO is carrying out the tests, since the payload was built by MELCO according to the design specifications by AMSAT-DL. The kind of tests they are performing are related to the performance of the bent-pipe transponders. They sweep in frequency the transponders to make sure that the passband shape is as expected. They transmit carriers of different power levels to check for linearity of the transponder and AGC performance, and they try different gain/power level settings of the transponder power amplifier to make sure it performs correctly over all its working range.

This is a rough account of the tests that were made yesterday, using my tweets as a sort of activity log.

Recommendations for receiving Es’hail 2

A couple days ago, Janos Tolgyesi HG5APZ asked me by email about different hardware setups to receive the Amateur radio transponders on Es’hail 2, with an interest on inexpensive but effective solutions. He was quite happy with my detailed reply and convinced me to turn it into a blog post, so that other people can learn from it.

This post is intended for people that do not know much about Es’hail 2 but are interested in receiving it. If you’ve been investigating about the different setups that people are doing to receive it, then probably you’ll not learn anything new here. The post addresses questions such as “do I need a modified LNB” and similar.

FUNcube telemetry submitter for gr-satellites

After doing a PW-Sat2 telemetry submitter, I’ve set out to add an telemetry submitter for the FUNcube telemetry server. I’ve been in contact with Dave Johnson G4DPZ, who has been kind enough to send me a Java example explaining how the submission protocol works.

The protocol is very simple. It is based on a HTTP POST request whose content is the telemetry frame in hex. To prevent spoofing, some sort of HMAC formed by an MD5 digest of the message concatenated with a user-specific authorization code is used in the POST url. The authorization code is distributed to each user when registering on the server. The Python implementation of the telemetry submitter is here.

To use the submitter in gr-satellites, you need to obtain your Site Id (or username) and the Authorization code (which is usually sent to you by email when registering). See the README for how these parameters have to be specified in the decoder.

Studying Es’hail 2 Doppler

Es’hail 2, the first geostationary satellite carrying an Amateur radio payload, was launched on November 15. I wrote a post studying the launch and geostationary transfer orbit, and I expected to track Es’hail 2’s manoeuvres by following the NORAD TLEs. However, for reasons not completely known, no NORAD TLEs were published during the first two weeks after launch.

On November 23, people found Es’hail 2 around the 24ºE geostationary orbital slot by receiving its Ku-band beacons at 10706MHz and 11205MHz. On November 27, NORAD TLEs started being published, confirming the position of Es’hail 2 around 24ºE. Since then, it has remained in this slot. Apparently, this is the slot that will be used for in-orbit test before moving the satellite to its operational slot on 25.5ºE or 26ºE.

Since November 27, I have been monitoring the frequency of the 10706MHz beacon to measure the Doppler. A geostationary satellite is never in a fixed location as seen from the Earth. It moves slightly due to imperfections in its orbit and orbital perturbations. This movement is detectable as a small amount of Doppler. Here I study the measurements I’ve been doing.