As promised in this post, I will now speak about how to demodulate the Tianwen-1 telemetry signal. This post will deal with demodulation and FEC decoding. The structure of the frames will be explained in the next post. In this post I also give a fully working GNU Radio decoder that can store frames in the format used by the orbit state vector extraction Python script.
Category: Events
Activations, contests, field days… Everything which is just done for the fun and the sake of the hobby goes in.
Tracking Tianwen-1’s orbit to Mars: part II
Yesterday I published a post explaining how Tianwen-1 is transmitting real time state vectors for its own orbit in its telemetry and how we’ve used those to propagate its orbit and track the spacecraft with the Bochum observatory 20m dish. However, there seemed to be some problem in the way we were interpreting the state vectors, since the ephemerides derived from these had a pointing error of a few degrees when compared with observations from Bochum and other smaller Amateur stations.
As of writing that post, I believe I have found the problem. It has to do with the way that the timestamps from the state vectors are interpreted. After correcting this problem I am getting an orbit that matches the observations well. Here I explain this problem and show some more details about the corrected ephemerides.
Tracking Tianwen-1’s orbit to Mars
Last Thursday 2020-07-23 at 04:41 UTC, Tianwen-1, a Chinese mission to Mars consisting of an orbiter, a lander and a rover, launched from Wenchang. Usually, I would be posting an analysis of a recording of the telemetry signal, made by Paul Marsh M0EYT or another of my Amateur DSN contributors, as I did a few days ago for the Emirates Mars Mission. However, something amazing has happened that has kept me quite busy. Rest assured that the analysis of the signal will come in a future post, but here I’m going to tell a story about Tianwen-1’s orbit.
Decoding Emirates Mars Mission Hope
Last Sunday 2020-07-19, the first mission of United Arab Emirates to Mars, known as Emirates Mars Mission “Hope probe” launched from Tanegashima, Japan. This probe is expect to reach Mars in approximately 200 days and study its atmosphere over the course of two years. The scientific instruments onboard the probe are a digital camera, an infrared spectrometer, and an ultraviolet spectrometer.
Shortly after launch, several Amateur radio operators and Amateur spacecraft trackers received signals from the X-band beacon of the Hope probe at 8402.655 MHz and posted reports on Twitter, such as Paul Marsh M0EYT, Ferrucio IW1DTU, Edgar Kaiser DF2MZ, and others. Since the spacecraft was still near Earth, its signal was so strong that a data modulation with a main lobe of approximately 20kHz wide and several sidelobes could easily be seen in the spectrum, which is shown below.

Paul has been quite kind to send me a recording that he made with his station on 2019-07-19 at 23:29 UTC and I have been decoding the data in GNU Radio and looking at the frames. The recording can be downloaded here (193MB). It is an int16 IQ recording at 99998 samples per second. This post is an account of my results.
Receiving Arecibo in HF
The well known Arecibo observatory, besides being used as a radiotelescope and planetary radar, has a powerful HF transmitter that is used to artificially excite the ionosphere, in order to study ionospheric effects using 430MHz incoherent scatter radar. More information about this can be found in the HF proposals page of the observatory web, and in this poster that details the characteristics of the HF facilities.
The HF transmitter has a power of up to 600kW and can use the frequencies 5.1MHz and 8.175MHz. At those frequencies, the dish has a gain of 22dB (13º beamwidth) and 25.5dB (8.5deg) respectively, so the power that is beamed up to the ionosphere is huge. The 430MHz incoherent scatter radar is even more powerful, with up to 2MW. For an introduction to ionospheric incoherent scatter radar, see this lecture by Juha Vierinen, which explains why such huge powers are needed, due to the very weak radar return of ionospheric plasma.
A few days ago, on Wednesday 24, Chris Fallen tweeted that the Arecibo transmitter was active at 5.1MHz. According to the telescope schedule, which can be seen in the figure below (click on the image to view it in full size), there was an experiment that involved the HF transmitter on 2020-06-24 from 18:00 to 22:00 UTC, on 2020-06-25 from 17:00 to 21:00 UTC, and on 2020-06-26 from 17:00 to 21:00 UTC.
Decoding Crew Dragon Demo-2
The launch last Saturday of Crew Dragon Demo-2 undoubtedly was an important event in the history of American space exploration and human spaceflight. This was the first crewed launch from the United States in 9 years and the first crewed launch ever by a commercial provider. Amateur radio operators always follow this kind of events with their hobby, and in the hours and days following the launch, several Amateur operators have posted reception reports of the Crew Dragon C206 “Endeavour” signals.
It seems that the signal received by most people has been the one at 2216 MHz. Among these reports, I can mention the tweets by Scott Tilley VE7TIL (and this one), USA Satcom, Paul Marsh M0EYT. Paul also managed to receive a signal on 2272.5 MHz, which is not in the FCC filing, so this may or may not be from the Crew Dragon.
Scott has also shared with me an IQ recording of one of the passes, and as I showed on Twitter yesterday, I have been able to demodulate the data. This post is my analysis of the 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.
DSLWP-B last activities and end of mission
As probably you all know, the Chinese Amateur lunar orbiting satellite DSLWP-B was expected to collide with the Moon on July 31 at 14:20 UTC, so this is the last report about the DSLWP-B activities. The collision was planned since January this year, and was done as a means to end the mission without leaving debris in lunar orbit.
The activation slots for the Amateur payload on-board DSLWP-B for this week were the following:
- 29 Jul 00:15 to 02:15
- 29 Jul 04:30 to 06:30
- 29 Jul 20:00 to 22:00
- 30 Jul 05:30 to 07:30
- 30 Jul 16:20 to 18:20
- 31 Jul 06:30 to 08:30
- 31 Jul 13:24 to 15.24
- 1 Aug 05:30 to 07:30
I had calculated a periapsis height of -62km for the July 31 orbit, so the collision with the Moon was quite certain, even taking orbit errors into account. However, a slot was set on August 1 just in case the collision didn’t happen.
This post summarizes the activities done this week with DSLWP-B and the end of the mission.
DSLWP-B activities for the fourth week of July
During the fourth week of July, the Amateur payload on-board DSLWP-B was active in the following slots.
- 22 Jul 06:14 to 08:14
- 22 Jul 22:40 to 23 Jul 00:40
- 23 Jul 23:20 to 24 Jul 01:20
- 25 Jul 00:30 to 02:30
- 26 Jul 10:55 to 12:55
- 27 Jul 02:30 to 04:30
- 28 Jul 03:30 to 05:30
Additionally, Wei Mingchuan BG2BHC shared on Twitter the 10 minute slots for the activations of the X band transmitter. This transmitter uses a frequency of 8478MHz (in the Deep Space X band) and 2Mbps BPSK with CCSDS standards. The transmit power is 2W and the gain of the small X-band dish is 22dBi. The signal is detectable with small stations (as shown here), but to demodulate the data a large dish is needed. The Chinese DSN uses 35m and 50m antennas to receive this signal.
DSLWP-B mission end prediction
Back in May, I spoke about the future collision of DSLWP-B with the lunar surface. It would happen on July 31, thus putting and end to the mission. Now that the impact date is near, I have run again the calculations with the latest ephemeris in order to have an accurate simulation of the event.
The ephemeris I’m using consist of a Moon centred ICRF Keplerian state vector which has been shared by Wei Mingchuan BG2BHC. In GMAT, this state vector is as follows:
DSLWP_B.Epoch = '25 Jul 2019 02:30:00.000'; DSLWP_B.CoordinateSystem = LunaICRF; DSLWP_B.SMA = 8708.404; DSLWP_B.ECC = 0.747921; DSLWP_B.INC = 44.157; DSLWP_B.RAAN = 52.405; DSLWP_B.AOP = 86.261; DSLWP_B.TA = 165.00062091131025;
Using this GMAT script, I have obtained that the impact will happen on 2019-07-31 14:19:57 UTC, near Mare Moscoviense, in the lunar far side. This result is quite close to the calculations I did in May, which predicted an impact at 14:47 UTC.
The images below show the impact simulation in GMAT. Since the impact happens on the far side of the Moon, it will not be visible from Earth. There is an activation of the Amateur payload onboard DSLWP-B for 2019-07-31 13:24 to 15:24 UTC. The satellite will hide behind the Moon around 14:08 UTC. If the Moon was not solid, DSLWP-B would reappear around 14:35 UTC. The absence of radio signals after this moment will confirm that the impact has occurred.


