Tianwen-1 selfie and attitude

Today, the Chinese National Space Agency and the Chinese Lunar Exploration Program have released some “selfies” taken by Tianwen-1 to celebrate China’s National Day. Apparently, the images have appeared originally in this press release (Google translation), and many media in English have echoed the news.

The best image can be seen below. This kind of image might show us something about Tianwen-1’s attitude, or maybe not? Let’s try to find out.

Tianwen-1 selfie – CNSA and CLEP, original source

Tianwen-1 virtual channel usage

A few days ago, Paul Marsh M0EYT told me that he had seen something interesting in his recording of Tianwen-1‘s signal during the previous night. Paul usually does some nice videos of the signal waterfall by doing screen captures of Spectrum Lab. These clearly show events such as frequency jumps due to groundstation locking, and any high-speed data transmissions. You can see some of these in his Twitter feed.

The waterfall that Paul talked me about can be seen in this video. It corresponds to the night between September 20 and 21. Note that the data sidebands show some horizontal stripes. For a while they disappear altogether, and at other times their density changes. This is what caught Paul’s eye.

Tianwen-1 waterfall between 2020-09-20 and 2020-09-21 by Paul Marsh M0EYT

Paul was convinced that when the stripes disappeared, more data was being transmitted in the signal. I was a bit sceptical about it, but clearly there was something changing in the signal. I thought about the “dancing” related to the subcarrier and data clocks sliding. However, after analysing the signal, I saw that Paul was completely right, as I will explain here. After knowing exactly what happens, I’m still quite amazed that this shows up in the Spectrum Lab waterfall.

Tianwen-1 TCM-2

Last Sunday September 20, around 14:15 UTC, I published a post with an update on Tianwen-1‘s attitude during the mission. I mentioned that we were expecting to see an attitude change to prevent the high-gain antenna from exceeding its maximum slew range. I also mentioned that we were expecting the second trajectory correction manoeuvre (TCM-2) to happen sometime in September according to Chinese media.

Apparently the timing of my post was quite appropriate, because shortly afterwards, at 15:00 UTC (23:00 Beijing time), Tianwen-1 executed its TCM-2. However, news of this didn’t appear until the next morning, at 7:00 Beijing time (23:00 UTC). Unfortunately the manoeuvre happened when the spacecraft wasn’t in view from Europe, so we don’t have Doppler data as for TCM-1. In any case, we can use the state vectors transmitted in the telemetry to study the manoeuvre, by comparing the vectors received before the burn and those received after the burn. In this post I look at this and check if it matches the news report.

Update on Tianwen-1 attitude

A month ago I posted about the ADCS telemetry of Tianwen-1 and how it was controlling its attitude on its cruise orbit to Mars. Since then, AMSAT-DL has been collecting telemetry data from Tianwen-1 using the 20m antenna at Bochum observartory almost all the time that the spacecraft is in view from Germany. This short post is an update with the results collected so far.

Tianwen-1’s attitude is controlled by maintaining the spacecraft’s Y axis (on which the solar panels lie) perpendicular to the plane formed by the Sun, Earth and spacecraft, and by maintaining a fixed angle between the spacecraft’s X axis and the Sun vector. This is done to prevent the solar panels from having to steer constantly to track the Sun.

The figure below shows the angle between the Sun vector an the X axis using all the telemetry collected as of writing this post. We see that the Sun angle was fixed to 0 degrees at the start of the mission, then was changed to -15 degrees for a few days, and finally has been kept at -20 degrees since the beginning of August.

All the dots shown in this picture correspond to telemetry recorded either at Bochum or by Paul Marsh M0EYT. Many thanks to all people involved for their continuous effort in recording telemetry data.

Since the Sun-Earth angle, as seen from the spacecraft, changes as the spacecraft travels along the transfer orbit, and the spacecraft maintains a fixed Sun angle, the Earth angle keeps changing. The high-gain antenna is placed on the -Z axis according to diagrams of the spacecraft. However, the antenna can slew to track the Earth. The figure below shows the angle between the Earth vector and the -Z axis, which is precisely the slew angle needed to point the high-gain antenna.

We see that this slew angle keeps increasing with time. The slew angle of the antenna is limited mechanically, though we don’t know the maximum slew angle. At some point, the spacecraft will have to yaw and reduce its Sun-to-X angle in order to reduce the slew angle to an acceptable value. This is one of the events we are hoping to capture soon in the telemetry.

I don’t know the reason why the spacecraft yawed two times near the beginning of the mission. At first, I thought that the antenna slew was limited to perhaps 20 degrees, so the spacecraft would need to yaw every couple of week to maintain an acceptable antenna slew. Now it is clear that this is not the case, since the slew angle is near 60 degree. It may happen that the spacecraft was yawed for thermal reasons.

The other event we are expecting is the second correction manoeuvre, which according to some sources will happen in September. So far we haven’t seen any indication of this in the telemetry, so stay tuned for more news.

The updated Jupyter notebook where these plots have been made is here.

Measuring Tianwen-1’s modulation

This is a post I had announced since I first described Tianwen-1’s modulation. Since we have very high SNR recordings of the Tianwen-1 low rate rate telemetry signal made with the 20m dish in Bochum observatory, it is interesting to make detailed measurements of the modulation parameters. In fact, there is something curious about the way the modulation is implemented in the spacecraft’s transmitter. This analysis will show it clearly, but I will reserve the details for later in the post.

Here I will be using a recording that already appeared in a previous post. It was made on 2020-07-26 07:47:20 UTC in Bochum shortly after the switch to the high gain antenna, so the SNR is fantastic. The recording was done at 2.5Msps, and the spectrum can be seen below. The asymmetry (especially around +1MHz) might be due to the receive chain.

The signal is residual carrier phase modulation, with 16348 baud BPSK data on a 65536Hz square wave subcarrier. There is also a 500kHz ranging tone.

Tianwen-1 attitude during cruise and early orbit

In a previous post I talked about the ADCS telemetry of Tianwen-1. In there I showed that Space Packets in APID 1281 had several fields corresponding to the ADCS, including the quaternion giving the spacecraft attitude. I used these quaternions to show that the spacecraft had made a turn of 15º about its Y axis. However, at that time I still lacked some details to give a full interpretation of the attitude quaternions, such as what frame of reference they used or how were the spacecraft body axes defined.

Now I have looked at all the telemetry we have collected so far and with this I’ve been able to guess the missing details, so I can give a complete interpretation of the attitude quaternions. In this post I will show the attitude control law of Tianwen-1 on its cruise orbit to Mars and also the attitude during early orbit operations.

Tianwen-1 virtual channel 24

In this post I analyse part of the telemetry transmitted by Tianwen-1 over high-speed data done on 2020-08-03. The decoded frames were kindly provided by Paul Marsh M0EYT. r00t.cz has made an analysis of this data in his Tianwen-1 page, which also includes some more information not shown here. This telemetry contains a full playback of some channels spanning 2020-07-25 to 2020-08-02, including gyroscope data, as described in this post.

Tianwen-1 high speed data signal

In a previous post I talked about how the high data rate signal of Tianwen-1 can be used to replay recorded telemetry. I did an analysis of the telemetry transmitted over the high speed data signal on 2020-07-30 and showed how to interpret the ADCS data, but left the detailed description of the modulation and coding for a future post.

Here I will talk about the modulation and coding, and how the signal switches from the ordinary low rate telemetry to the high speed signal. I also give GNU Radio decoder flowgraphs, tianwen1_hsd.grc, which works with the 8192 bit frames, and tianwen1_hsd_shortframes.grc, which works with the 2048 bit short frames.

Tianwen-1 post–TCM-1 state vectors

Yesterday I reported about Tianwen-1’s first trajectory correction manoeuvre, TCM-1. In that post I commented the possibility that the updated state vectors that we saw on the telemetry after TCM-1 might come from a prediction or planning rather than take into account the actual performance of the burn.

The figure below shows the error between the state vectors collected after TCM-1 over the last two days, and a trajectory propagated in GMAT, using the following state vector, which is one of the first received after TCM-1.

[0151059eb9ea] 2020-08-02 00:17:06.711400 100230220.21360767 -106145016.11787066 -45441035.07405791 25.581827920522485 18.240707152437626 8.567874276424218

We see that on the UTC night between August 1 and 2 the state vectors deviate very little from the GMAT trajectory. However, on the UTC night between August 2 and 3 we see a slightly different trajectory in the state vectors. We have no data in between, as the spacecraft is not visible in Europe, so we don’t know the precise moment of change. The gap in telemetry around 2020-08-03 00:45 UTC is due to a transmission of high-speed data.

It seems reasonable to think that after TCM-1 the Chinese DSN performed precise ranging of the spacecraft to determine the new orbit accurately and then uploaded a correction to the state vectors on-board Tianwen-1.

The state vectors from last night all describe the same trajectory, as shown in the plot below which uses

[0151322e67d0] 2020-08-02 21:03:08.078400 102132184.96868199 -104770375.00352533 -44795830.46284772 25.29849580646669 18.532513218789806 8.692135086385246

to propagate a trajectory in GMAT. There is a small jump of a few hundred meters at some point. We usually see one or two these jumps per day, but we don’t understand well why they happen.

The trajectory according to the state vectors from 00:17:06 and from 21:03:08 are very similar. For example, at the closest approach to Mars they only differ in 1197km. For comparison, the difference between the new trajectory and the pre–TCM-1 trajectory is 126529km (again, at the closest approach to Mars).

I have generated a new table of right-ascension, declination and distance coordinates based on the updated state vectors. Note that this table doesn’t include light-time delay to the spacecraft.

Thanks to AMSAT-DL‘s Bochum observatory team and to Paul Marsh M0EYT for their continuous effort in tracking Tianwen-1. The data used in this post has come from their observations.

Tianwen-1 TCM-1

On 2020-08-01 23:00 UTC, Tianwen-1 made its first correction manoeuvre, called TCM-1. The manoeuvre was observed by Amateur trackers, such as Edgar Kaiser DF2MZ, Paul Marsh M0EYT, and the 20m antenna at Bochum observatory, operated by AMSAT-DL. The news of the successful manoeuvre appeared in Chinese media, and in the German Wikipedia article for Tianwen-1 (thanks to Achim Vollhardt DH2VA for sharing this information).

Since Tianwen-1 transmits its own real time orbit state vectors in the telemetry, by comparing the vectors transmitted before and after TCM-1, and also by studying the Doppler observed by groundstations on Earth, we can learn more about the manoeuvre.