Advances with delta-range and delta-range rate observations in GMAT

A month ago I started modifying the GMAT EstimationPlugin to support delta-range observations. This work is needed in order to perform orbit determination with the VLBI observations that we did with DSLWP-B (Longjiang-2) during its mission. Now I have a version which is able to use both delta-range and delta-range rate observations in simulation and estimation. This is pretty much all that’s needed for the DSLWP-B VLBI observations.

The modified GMAT version and accompanying GMAT scripts for this project can be found in the gmat-dslwp Github repository. This post is an account of the work I’ve made.

Simulating delta-range observations in GMAT

During the DSLWP-B (Longjiang-2) mission, we made a number of VLBI observations of the spacecraft’s UHF signal by performing GPS-synchronized recordings at Dwingeloo (The Netherlands), Shahe and Harbin (China), and Wakayama (Japan). The basic measurement for these observations is the time difference of arrival (TDOA), which measures the differences between the time that it takes the spacecraft’s signal to arrive to each of the groundstations. This can be interpreted in terms of the difference of distances between the spacecraft and each groundstation, so this measurement is also called delta-range.

One very interesting practical application of the VLBI observations is to perform orbit determination. The delta-range measurements can be used to constrain and determine the state vector of the spacecraft. This would give us an autonomous means of tracking Amateur deep-space satellites, without relying on ranging by a professional deep-space network. Even though the measurements we made showed good agreement with the ephemerides computed by the Chinese deep-space network, during the mission we never ran orbit determination with the VLBI observations, mainly due to the lack of appropriate software.

While GMAT has good support for orbit determination, it doesn’t support delta-range measurements. Its basic orbit determination data type is two-way round-trip time between a groundstation (or two) and the satellite, as shown in the orbit determination tutorial.

I have started to modify GMAT in the gmat-dswlp Github repository to implement the support for this kind of VLBI observations. As a first step, I am now able to create and simulate delta-range observations.

DSLWP-B whole mission telemetry

Recently, together with people from Harbin Institute of Technology and CAMRAS, we have published in Zenodo the data collected during the DSLWP-B mission. This data release includes all the raw telemetry frames uploaded to the DSLWP telemetry server.

I have made a Jupyter notebook that loads up and parses the telemetry, with the idea of providing a simple way to study the data.

DSLWP-B crash site found

Back in August, I posted about my calculations of the site where DSLWP-B impacted with the lunar surface on July 31. The goal was to pass the results of these calculations to the Lunar Reconnaissance Orbiter Camera team so that they could image the location and try to find the impact crater.

Yesterday, the LROC team published a post saying that they had been able to find the crash site in an image taken by the LRO NAC camera on October 5. The impact crater is only 328 metres away from the location I had estimated.

This is amazing, as in some way it represents the definitive end of the DSLWP-B mission (besides all the science data we still need to process) and it validates the accuracy of the calculations we did to locate the crash site. I feel that I should give due credit to all the people involved in the location of the impact.

Wei Mingchuan BG2BHC from Harbin Institute of Technology was the first to take the orbital information from the Chinese Deep Space Network, perform orbit propagation and compute the crash location assuming a spherical Moon, thus obtaining an approximate position in Van Gent X crater. Cees Bassa from ASTRON refined Wei’s calculations by including a digital elevation model. Phil Stooke from Western University first suggested to use a digital elevation model, helped us contact the LROC team, and filled in an observation request for the camera. And of course the LROC team and the Chinese DSN, since the quality of their ephemeris for DSLWP-B allowed us to make a rather precise estimate.

The LROC team has posted the images shown below, where in a comparison between an image taken in 2014 and the image taken in October the small crater can be seen.

DSLWP-B crash site image

The image of the crash is M1324916226L, an image taken by the left NAC camera. However, I can’t find this image yet in the LROC archive, so it seems this image hasn’t been made public yet.

The small crater, which the LROC team estimate to be 4×5 metres in diameter, is visible more clearly if we compute the difference between the before and after images (an idea of Phil Stooke). The figures below show this difference both as a signed quantity and as an absolute value.

Difference in the before and after images
Absolute value of the difference between before and after images

Though my eye fails to see it, the LROC team says that the long axis of the crater is oriented in a southwest-northeast direction. This is consistent with the direction of the impact, since DSLWP-B was travelling towards the northeast.

For the comparison with the October 5 image, the LROC team has chosen an image taken with a similar illumination angle. In fact, the lunar phase in both images only differs in 10º, so the shadows are very similar, with the sun located towards the southwest. In fact, the newest image of the area was taken on 2018-10-16, but the one from 2014 probably gave the most similar illumination conditions.

In my post in August I included a link to Quickmap showing the estimated area of the impact. Now I have marked in red the location of the crash. For a sense of scale, the large crater northwest of the crash is some 50 metres in diameter. You can see both points in Quickmap here.

Location of DSLWP-B crash (red) and estimate (blue)

It is good to go back to all the simulations I did to have an idea of what the 328m error represents. My final simulation was done with the ephemeris from July 25, so they were 6 days old at the moment of impact. When I used the ephemeris from July 18, the position of the impact changed by 231m, while the ephemeris from June 28 yielded a change of 496m. Therefore, it seems that an error of 300m is well in line with what we could expect of the precision of the Chinese DSN ephemeris.

The impact location computed by Cees Bassa was 2786m away from my estimate. The main problem with Cees’s estimate is that the orbital model he used considered spherical gravity for the Moon, while my studies showed that it was important to consider non-spherical gravity.

I did most of my simulations with a 10×10 spherical harmonic model for the Moon gravity, but to assess whether this was enough, I also made a simulation with a 20×20 spherical harmonic model. This yielded an impact point which was 74m away from the impact computed with the 10×10 model.

According to my Monte Carlo simulations with a 1km ephemeris error, the 1-sigma ellipse semi-axes of the impact position were 876m in the northeast direction and 239m in the southeast direction. With this information, I gave an educated guess of the position error of 600m in the northeast direction and 200m in the southeasth direction. The actual impact point is 328m northwest of my estimate, so somewhat higher than my error estimate but still within the 2-sigma ellipse. This leaves me quite happy with the quality of my estimate.

Trying to find the DSLWP-B crash site

As you may well know, DSLWP-B, the Chinese lunar orbiting Amateur satellite crashed with the Moon on July 31 as a way to end its mission without leaving debris in orbit. I made a post with my prediction, which showed the impact point southeast of Mare Moscoviense, in the far side of the Moon. Phil Stooke was more precise and located the impact point near the Van Gent crater.

Our plan is to get in contact with the LRO team and try to find the crash site in future LRO images. We are confident that this can be done, since they were able to locate the Beresheet impact site a few months ago. However, to help in the search we need to compute the location of the impact point as accurately as possible, and also come up with some estimate of the error to define a search area where we are likely to find the crash. This post is a detailed account of my calculations.

More DSLWP-B lunar surface images identified

In my last posts about DSLWP-B, I have been showing all the images of the lunar surface that were taken by the satellite during the last weeks of the mission, and tried to identify to which area of the Moon each image corresponded. For several of them, I was able to give a good identification using Google Moon, but for many of the latest images I was unable to find an identification, since they show few or none characteristic craters.

Thus, for these images I only gave a rough prediction of which area of the Moon was imaged by using GMAT and the published ephemeris from dslwp_dev. This doesn’t take into account camera pointing, orbit or shutter time errors.

Phil Stooke has become interested in this and he has managed to identify many of the images, even some containing very little detail, which I find impressive. No wonder, Phil is the author of several atlases of space exploration of the Moon and Mars, so he knows a lot of lunar geography.

Phil tells me that he has used Quickmap, which is a very nice tool that I didn’t know of. It is much more powerful than Google Moon. He recommends to switch to an equidistant cylindrical projection and set as a basemap layer the “WAC mosaic (no shadows) map”, which contains images with the sun directly overhead. This resembles the images taken by DSLWP-B better, since these are always taken with the sun at a high elevation, because the camera always points away from the sun. It is interesting to see how the appearance of the surface changes between the “no shadows” and “big shadows” maps.

In this post I show the locations of the images identified by Phil.

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.

DLSWP-B impact orbit in GMAT (view of Earth and Moon)
DSLWP-B impact orbit in GMAT (top view)
Ground track and location of DSLWP-B impact in GMAT

DSLWP-B activities for the third week of July

During this week, the Amateur payload of DSLWP-B was active during the following slots:

  • 14 Jul 19:00 to 21:00
  • 15 Jul 12:00 to 14:00
  • 17 Jul 04:40 to 06:50
  • 18 Jul 20:50 to 22:50
  • 20 Jul 14:20 to 16:20
  • 21 Jul 05:30 to 07:30

Among these, the Moon was visible from Europe only on July 14, 18 and 21, so Dwingeloo only observed these days, which were mainly devoted to the download of SSDV images of the lunar surface. As usual, the payload took an image automatically at the start of each slot, so some of the slots were used for autonomous lunar imaging, even though no tracking was made from Dwingeloo.

This post is a detailed account of the activities done with DSLWP-B during the third week of July.