Yesterday, May 14th, at around 23:18 UTC the Tianwen-1 rover Zhurong safely landed on the Utopia Planitia region of Mars. To follow this event, AMSAT-DL made a 7 hour livestream of the orbiter signals as received by the 20m antenna in Bochum observatory. In this livestream we could see the signal losses caused by the manoeuvres of the deorbit burn and collision avoidance burn. Analysis of the telemetry decoded at Bochum shows more details about these manoeuvres. This post is a detailed report of the landing.
We could say that the preparations for the landing started on 2021-05-06. As the spacecraft passed the periapsis at around 18:17 UTC, it made a small burn to raise its apoapsis by approximately 130 km. The effect of this was to make the orbit period slightly longer than two Mars sidereal days, so that the ground track would slowly drift west.
In this post I explained the periodic station keeping manoeuvres that were needed to maintain the ground track of the reconnaissance orbit over the landing location. Upon more careful study it turns out that the reason why the apoapsis altitude keeps decreasing slowly is the non-spherical gravity of Mars, rather than atmospheric drag at periapsis (its effect is several orders of magnitude weaker).
The figure below is an updated version of one of the plots in that post. It shows the longitude of each periapsis passage. The gap during the end of April was due to a hardware problem in Bochum that prevented us from decoding telemetry over a few days (luckily nothing serious, in the end). We think that the part that we missed simply looks like a parabolic curve joining the points that we have.
We can see that the periapsis longitude evolves in a parabolic fashion due to the decrease of the orbit period, eventually drifting too far east. At some point the periapsis is raised again, kicking the orbit back west. Usually this was done at around 112 or 113ºE during the two months that the reconnaissance orbit lasted. However, on May 6th the orbit was kicked back west rather early to keep it around 108.5ºE.
I can’t currently link this to the actual landing location, because I haven’t been able to find a good source for it. Wikipedia gives a planning of 110.318ºE, 24.748ºN that dates back to July 2020, and several media include this figure in recent news. This tweet gives 109.9ºE, 25.1ºN, but the source is unclear.
On May 14th, at 16:11 UTC Earth observed time, the spacecraft switched to its low-gain antenna. At 16:46 UTC Earth observed time Bochum lost the signal due to an attitude change in preparation for the burn.
The last telemetry state vector received by Bochum before the manoeuvre was
2021-05-14 15:52:57.846700 -14473.644847573138 35994.56589541852 5119.652088220654 0.3156918969583496 -0.8122891742881977 0.32905180495508746
Note that if we factor in the nearly 18 minutes of light-time delay to Earth and the fact that state vectors are sent only every 32 seconds, we see that this state vector was received shortly before the change to the low-gain antenna.
The first telemetry state vector received after the manoeuvre was
2021-05-14 18:05:05.348800 -11595.144052430613 28659.661376768046 7505.676626430642 0.4178937743887875 -1.0526128217616113 0.2591276959995332
Note that, as usual, this state vector most likely corresponds to a pre-programmed expected trajectory rather than the actual results of the burn.
As in previous manoeuvres, I have propagated these in GMAT to find their intersection, which pinpoints when the burn actually happened. The
deorbit.script GMAT script is used for propagation and the output is analysed in this Jupyter notebook.
The distance between the two trajectories can be seen below. The minimum happens at 17:17:28 UTC (event time at Mars), with a distance of just 16 metres. This is the time when the burn happened.
The delta-V in Mars body inertial coordinates was
[ 2.76, 6.14, -20.12] m/s,
giving a total delta-V of 21.2 m/s. In this post I estimated that 900 kg of fuel would remain after the phasing into the reconnaissance orbit. There have been four small apoapsis raising burns since then, so perhaps around 850 kg remained for the deorbit burn. Using this and a dry mass of 2500 kg gives a burn duration of 24 seconds with the 3 kN thruster, and 22 kg of spent fuel.
The delta-V in VNB coordinates was
[-10.2, 4.4, -18.1] m/s
It is perhaps better to understand the burn in the coordinate frame formed by the along-radius vector \(r/\|r\|\), the vector \(v_u\) defined by the projection of the velocity vector onto the plane normal to \(r\), and the vector \(N\) normal to the orbit plane. In these coordinates the delta-V is
[ 0.7, -20.7, 4.4] m/s,
So we see that except for a small out-of-plane adjustment, most of the burn happens along \(v_u\).
The deorbit burn placed the spacecraft on an orbit with a periapsis altitude of -36.5 km. Such an orbit would impact the surface of Mars at 109.875ºE, 24.409ºN assuming zero-elevation terrain (which is not realistic, since Utopia Planitia is at -4.4 km elevation). The apoapsis radius of this deorbit trajectory was 60438 km, in comparison with the radius of 61159 km of the pre-burn orbit.
Nothing about this burn could be observed directly by Bochum, since the low-gain antenna signal was too weak to be detected in the waterfall. At 18:08 UTC Earth observed time the low-gain antenna signal was visible again, as the spacecraft was probably back to its nominal attitude.
Shortly after, at 18:22 UTC Earth observed time, the spacecraft switched back to its high-gain antenna, which allowed Bochum to resume telemetry decoding. Note that the first state vector received after the deorbit burn, which we showed above, was received more or less as soon as the high-gain antenna signal came back.
At 18:28 UTC the spacecraft switched to transmit high-speed data, using a modulation that we hadn’t seen before. In the past, Tianwen-1 used 2.048 Mbaud QPSK as its high-speed modulation. However, this time the modulation was much narrower, probably around 60 kbaud or so. The start of the transmission can be seen below, including what looks like the short burst of 8192 baud QPSK that is always used before and after the high-speed transmissions.
The high-speed data signal shown above appears very strong because it consists only of idle data, so the power is concentrated on many spectral lines, and the waterfall and spectrum make the signal appear stronger than it is.
The figure below shows the start of non-idle data, which is more random and has no significant spectral lines, so the display of the signal is now less deceiving and we can see what the real SNR looks like. It seems that there was enough SNR for decode, but unfortunately our decoder wasn’t prepared for this modulation.
It is reasonable that this modulation of moderate speed was used, since Mars is already 318 million km away from Earth and presumably the 35 m antenna in Zapala, Argentina, was used to receive this data, so using a much higher rate was probably not possible.
The high-speed data transmission ended at 18:41 UTC Earth observed time. I think that in the 13 minutes that the transmission lasted they were able to replay all the telemetry collected during the 2 hours and 11 minutes that the spacecraft was using the low-gain antenna. We need to take into account that the high-speed data was between 6-10 times faster than the low-rate signal (we don’t know the coding rate) and that usually between 25% and 50% of the real time telemetry is idle data that is not replayed.
Collision avoidance burn
At 20:22 UTC Earth observed time the spacecraft switched again to the low-gain antenna, in preparation for the separation of the lander and collision avoidance burn of the orbiter. At 20:57 UTC Earth observed time Bochum lost the signal as the spacecraft changed its attitude.
The last state vector received before the change to the low-gain antenna was
2021-05-14 20:03:29.441300 -8163.451235413843 20039.9547359936 8982.593582058193 0.5617731628601621 -1.4070534212421895 0.13412294116390164
After the collision avoidance burn, the first state vector decoded by Bochum was
2021-05-14 21:36:34.714900 -4487.147079687842 10856.291156934765 9157.659416074444 0.7825591745000139 -1.9485478281012811 -0.14157560311486433
The plot of the distance between the trajectories is shown below. The minimum is attained at 20:54:36 UTC (even time at Mars), with a distance of only 17 metres.
At some point before this collision avoidance burn, the lander would have detached and continued in the deorbit trajectory described above.
The delta-V in Mars body inertial coordinates for this burn was
[ 0.70, -4.77 , 60.97] m/s
The total delta-V was 61.2 m/s. In VNB coordinates the delta-V was
[ 4.91, -0.28, 60.96] m/s,
which shows that most of the delta-V happened along the binormal vector.
Using an estimated mass of 2825 kg (now we have to subtract the mass of the lander, of which I don’t have a good estimate), we get that the burn would have taken 57 seconds and spent 54 kg of fuel.
The collision avoidance trajectory has a periapsis altitude of 437.5 km that was passed at 23:17:17 UTC (event time at Mars) over 108.6ºE, 16.5ºN. The apoapsis radius is 60978 km. The first apoapsis will be passed on May 15 at 23:53:09 UTC, giving an orbital period of 49 hours, 11 minutes and 44 seconds. This is two minutes less than two Mars sidereal days, so the new trajectory of the orbiter will still have a repeating ground track over the landing site.
The high-gain antenna signal came back at 21:53 UTC. Interestingly, we weren’t able to see the low-gain antenna before this. The high-gain antenna signal appeared right away from the noise. This allowed us to decode real time telemetry again, including the state vector shown above, which taking into account nearly 18 minutes of light-time, was decoded shortly after the high-gain signal came back on.
As the elevation of Mars in the sky in Bochum decreased from 10 degrees down to zero, the signal became weaker, so we were only able to decode telemetry until 22:10 UTC approximately. Still, this gave us a first glance at the telemetry after the lander separation.
When preparing for the landing, I expected to be able to see some changes in the telemetry when the lander separated. During the Chang’e 5 mission, which was composed of several stages, we were able to see different ranges of APIDs disappear from the telemetry as some of the stages separated and were left behind.
This has also happened with Tianwen-1. Since the start of the mission, we saw that the real time telemetry sent data from two spacecraft IDs: 82 and 245. When the spacecraft was launched from Earth, the data corresponding to spacecraft 82 contained mostly static data, so we believed this to be assigned to the lander, which would be dormant. All the telemetry we’ve been analysing, such as the state vectors and ADCS telemetry has been from spacecraft 245.
In the recent days the real time telemetry from spacecraft 82 has started displaying more activity. We still have to review the data to see when this has started, and if we can make some sense of any of the telemetry variables. This would make sense, as the mission team would be waking the lander up and checking its systems several days or weeks in advance of the landing.
The following listing shows the APIDs and packet counts received by Bochum on May 14 before the collision avoidance manoeuvre. It is interesting to compare this with the data received shortly after launch. We see that the same APIDs are present with the same relative frequency, except for APID 257, which is new.
1: 10086 2: 9983 5: 892 129: 9700 130: 8077 131: 2677 136: 9674 257: 24007
When the high-gain antenna signal came on after the collision avoidance manoeuvre we could see a large change in the contents of the frames from spacecraft 82. Only a new APID, 137, was present. The rest had disappeared. The Space Data Link frames now had the replay flag enabled, whereas previously this flag was disabled.
I think that this means that APID 137 is used to relay the UHF telemetry of the lander that is received by the orbiter. The contents of this APID are shown below. It seems that it has some varying data, but I haven’t tried to reverse-engineer it yet.
The changes in the telemetry confirm that the lander separation happened during the collision avoidance manoeuvre, before the burn at 20:54:36 UTC. Therefore, the lander and orbiter were still attached while coasting for several hours after the deorbit burn.
I think that the reason for this is to have a failsafe option. The deorbit burn would be made several hours in advance of the landing, and after this, ranging would be done to determine if the deorbit trajectory was appropriate for the landing. If everything went as expected, then the landing could continue by detaching the lander and making the avoidance burn with the orbiter. If however the trajectory was not correct, the lander and orbiter could still make the avoidance burn, giving the possibility to have another try on the next orbit. In fact, before the successful landing was confirmed the official news from China only gave the landing window as between May 15 and 19, thus giving three possible periapsis passages.
Interestingly, we didn’t see any ranging tones close in to the carrier during the coasting phase after the deorbit burn. It is possible that DDOR was used. Tianwen-1’s DDOR tones are usually at 500 kHz offset from the carrier (see this post), so we wouldn’t have seen them in Bochum’s livestream.
After the high-gain antenna signal came back on, Bochum continued tracking the orbiter signal until Mars set at around 23:18 UTC. Bochum cannot track the lander directly. The lander is known to use proximity UHF to communicate with the orbiter, and an X-band beacon developed by Nanjing University of Aeronautics and Astronautics. The UHF link would be extremely weak (for tracking Perseverance landing in UHF the Effelsberg and Green Bank telescopes were used, for instance). For the X-band beacon we didn’t know its frequency, and the signal would be quite weak, so trying to detect it would be like finding a needle in a haystack.
Interestingly, no telemetry replay over high-speed data was seen after the collision avoidance burn. After most of the manoeuvres the data recorded while the spacecraft was using the low-gain antenna is played back over high-speed data. In this case perhaps it was replayed after the landing, since monitoring the progress of the lander in real time would have been the priority.
According to the telemetry, the orbiter passed periapsis at 23:17 UTC (event time at Mars), more or less at the officially stated time of landing, which was 23:18 UTC (also event time). There is not much information available at the moment other than the official news of the success of the landing. Congratulations to CNSA, the mission team, and the People’s Republic of China for the safe landing.
To help give an idea of the geometry of the landing, I have put together a GMAT script using the state vectors for the different phases of the landing, and propagating in between of them.
The initial trajectory of the spacecraft, starting at 15:42 UTC (corresponding to the start of the Bochum livestream) is shown in red. Then the trajectory changes to orange for the deorbit coast when the lander and orbiter are still attached. I have assumed that separation occurred 20 minutes before the collision avoidance burn. After separation, the lander trajectory is shown in yellow, while the orbiter’s trajectory is shown again in red. The simulation ends two hours after the orbiter’s periapsis.
The figure below shows a view which is nearly perpendicular to the orbital plane. We see that both manoeuvres happened well away from Mars.
The next figure shows the view from Earth. We see that the landing location is next to the planet’s limb. I wonder if this was the reason why the landing couldn’t occur earlier than May, since visibility of the landing location from Earth during the periapsis passage would be a must for the landing.