- ORI’s lunar descent CTF
Open Research Institute has recently published the solutions for a Lunar Descent CTF that they ran at BSides San Diego 2026. The CTF revolves around the Ka-band radio altimeter used by the Chandrayaan-3 lunar lander. The CTF includes a simulation of the radio altimeter and the goal is to discover why the lander is crashing in this simulation and fix the problem. The CTF is in the Github repository OpenResearchInstitute/lunar-descent-ctf, which includes both the CTF and the solutions (in a
spoilersdirectory). This seemed like an interesting topic, and in the past I have enjoyed a lot other CTFs that were organized by Michelle Thompson, so I decided to clone the repo, delete thespoilersdirectory, and start playing. In this post I comment on the CTF and my solution, so read no further if you don’t want to see spoilers.The CTF is a standalone Python script that contains the simulation of the radio altimeter and the landing autopilot. There are three scenarios that are simulated, which correspond to different descent profiles. The first is the standard one, which is similar to what Chandrayaan-3 did. The second has a fast exponential descent. The third has hovers around the radar guard bands (more on this later) and drops in between them. Initially, the lander is crashing in all these three simulations. The reason is that there is a problem with the radar measurement processing logic (the
MeasurementQualifierclass). The goal of the CTF is to modify this processing logic (and only this processing logic) to achieve a successful landing in all the three scenarios, and ideally, to not reject any valid measurements produced by the radar in this processing logic.The model of the Ka-band radio altimeter is fairly accurate and based on the paper FPGA Implementation of a Hardware-Optimized Autonomous Real-Time Radar Altimeter Processor for Interplanetary Landing Missions, which describes the Radar Altimeter Processor used in Chandrayaan-3. This is what makes this CTF so interesting. Unfortunately, at the time of writing this post I haven’t been able to obtain a copy of this paper, so all I will say here is based on the Python model included in the CTF.
The radar is an FMCW radar that uses linear chirps with a bandwidth of 240 MHz. The chirp duration is configurable, and is set dynamically depending on the altitude as explained below. The radar transmits an upchirp and a downchirp in order to decouple range and Doppler. After mixing with the transmitted waveform, the returns of these chirps will produce CW tones at IF, which are sampled by a 496.53 Msps 8-bit ADC and then decimated by 48 to obtain approximately 10.34 Msps of real samples. A 8192-point FFT is used to detect and measure the frequency of the CW tone produced by the return of the FMCW chirps.
The chirp duration is chosen dynamically depending on the altitude according to the 13 modes from the following table. The target is to select a mode that gives a CW return within the processing band 1.9 – 4 MHz. Therefore, the chirp duration needs to be made shorter when the altitude is lower. In the CTF there is a best_mode_for_altitude() function that essentially selects the mode which places the CW return closest to the centre of the processing band. However, generally the mode is updated by the AutoTracker class, which increments/decrements the mode for the next measurement by one if the FFT peak is seen above/below the processing band. This AutoTracker chooses the right mode when the altitude is changing smoothly, but it unlocks if there are altitude jumps or very fast changes.
$ python3 lunar_descent_ctf.py --modes
KaRA RAP Mode Table (13 modes)
Paper: Table 2, sweep time 1.45 μs to 8.2 ms
Processing band: [1.90, 4.00] MHz
FFT size: 8192, Freq resolution: 1262.7 Hz
──────────────────────────────────────────────────────────────────────────────
Mode Sweep T (μs) Alt range (m) M (m/bin) Samples
──────────────────────────────────────────────────────────────────────────────
0 1.45 [ 1.7, 3.6] 0.000572 14/8192
1 2.98 [ 3.5, 7.4] 0.001175 30/8192
2 6.12 [ 7.3, 15.3] 0.002413 63/8192
3 12.57 [ 14.9, 31.4] 0.004958 130/8192
4 25.83 [ 30.7, 64.5] 0.010187 267/8192
5 53.07 [ 63.0, 132.6] 0.020929 549/8192
6 109.04 [ 129.4, 272.4] 0.042999 1127/8192
7 224.02 [ 265.8, 559.7] 0.088340 2317/8192
8 460.26 [ 546.2, 1149.8] 0.181494 4761/8192
9 945.59 [ 1122.1, 2362.3] 0.372878 8192/8192
10 1942.70 [ 2305.4, 4853.4] 0.766073 8192/8192
11 3991.26 [ 4736.3, 9971.2] 1.573888 8192/8192
12 8200.00 [ 9730.8, 20485.8] 3.233536 8192/8192Note that the modes for lower altitudes have chirp durations that are shorter than the 8192-point FFT, and indeed the mode for the lowest altitude range has a chirp duration of only 14 samples. For these modes, the FFT is zero-padded to 8192 points.
The Python model of the radio altimeter used in the CTF simulates the 10.34 Msps samples of the radar return. A CW tone in AWGN is generated separately for the upchirp and the downchirp, the 8192-point FFT of these two signals is taken, and a peak bin is searched within the 1.7 – 4.2 MHz band (which is the processing band plus guard bands) and returned to the measurment processing code. Note that I said a peak rather than the largest peak. The implementation returns the first peak (that is, the one at lowest frequency) above a threshold that it finds. This does not really matter this simple simulation, because the return is a single CW tone in AWGN. Also in radar processing it probably makes sense to return the first peak, because it will typically correspond to the line-of-sight return from the ground. Peaks at higher frequencies, even if they are stronger, will typically come from multiple bounces.
The radio altimeter processor computes altitude and vertical velocity form the peak indices of the upchirp and downchirp. Altitude is computed from the average of the peak indices, and Doppler (and hence velocity) is computed from the difference of peak indices divided by two.
The altitude and velocity measurements are fed into a measurement qualifier (measurement processor logic) that is the focus of the CTF and is what the participant can modify. The measurement qualifier that is given is very simple. It rejects measurements that the radio altimeter processor flags as invalid (because it did not detect a peak in the FFT), and it also rejects measurements that cause a velocity that is too large.
The output of the measurement qualifier, is fed into the autopilot, which presumably uses it to land the spacecraft. However, the autopilot is all smoke and mirrors in this CTF. There is no closed-loop simulation of how the spacecraft descends based on radar altimeter measurements and autopilot behaviour. The simulation is open-loop. There is a predetermined time series of altitude and velocity for each of the three descent profiles. The radar altimeter simulation is fed inputs based on these time series. The only thing that the autopilot does is to check that the measurement qualifier does not produce a Doppler which is too large at a low altitude. Otherwise, it is considered that the thrusters would fire at full power close to ground to counteract and the lander would crash, which is what is happening in the initial state of the CTF.
I think that this simplification in the lander model is fine for this CTF. After playing through the CTF, I see that it has a main educational goal, which is to teach participants about how this radio altimeter works. The physics simulation that would be needed to have a closed loop autopilot does not add any additional value to this goal, so it is okay to remove it completely. The beauty about a CTF like this in which you are given all the code is that how everything works is very transparent. The only difficulty is going through the code and understanding it. This is great for an educational CTF, although it removes some of the attractiveness of other CTFs more focused on competition, where key aspects of the problem are deliberately kept secret and it is always a joy to figure out and discover these secretes.
The first flag in the CTF is obtained by explaining the problem that makes the lander crash to the CTF organizers. However, this is actually explained quite well in a comment in the code, so I guess that the main intention of this first flag is to get people to read and understand the code they are given, which is excellent for an educational CTF.
The problem is basically that the Doppler measurements on the low altitude modes are garbage. The reason is that due to the short chirp duration of these modes, frequency measurement of the CW returns is inherently less accurate. In the FFT processing this is manifested by the fact that the CW tone has a length of just a few samples (14 samples in the worst case) and it is zero padded to 8192 samples. Therefore the FFT is going to have a peak which is very broad, so the location of the peak in the FFT might be wrong by multiple bins. The Doppler (or velocity) resolution does not depend on the mode, and is 1.26 kHz (or 5.3 m/s) per FFT bin. Therefore, an error of multiple bins in the peak location gives a garbage result, specially when the lander is supposed to be hovering close to ground.
Range processing is not affected by this issue because even if the frequency measurement error is inversely proportional to the chirp duration, the scale factor to transform the frequency measurement into a range measurement is proportional to the chirp duration, so the two effects cancel out. The range error depends intrinsically only on the chirp bandwidth, which is kept fixed at 240 MHz in all the modes (thus giving a range resolution on the order of 0.6 metres).
When I understood the problem, I was tempted to modify the radar signal processing code to do something fancier than peak finding on the FFT to estimate the frequency of the CW return. An improved estimator would help with the short CW tones, although it doesn’t fully solve the problem. However, this signal processing code is out-of-bounds for the CTF. Only the measurement qualifier is supposed to be editable.
Having seen how the CTF simulation and the scoring system work, it is easy to “cheat” and give a simple solution that technically solves the CTF and achieves the maximum score. The problem is that the Doppler measurement in the few modes for lower altitudes is garbage, and the only thing that the CTF is checking is that we produce valid measurements that don’t have a Doppler that is too large. Because in these low altitude modes the velocity is going to be low, as the lander is almost hovering close to ground, we can simply ignore the velocity measurement from the radar processor in some of the lower altitude modes and return zero as the velocity. This makes the CTF happy and gives us all the points.
However, this solution is not satisfactory, because we have just cheated the simplified autopilot implementation of the CTF. It would be nice to be able to produce some form of velocity estimate at low altitudes, yet the radar processor measurements are extremely noisy. The CTF presents us with this engineering challenge, and luckily for us, there are standard engineering solutions for this. A pretty common solution is to use a Kalman filter. So I decided to implement a Kalman filter in the measurement qualifier class to see how well it would work. The CTF expects the measurement qualifier to provide a valid value whenever the radar processor is outputting a value. It is also assumed that the measurement qualifier will not output a value in the time steps in which the radar processor is not able to provide a value (because the peak search has failed). The autopilot is supposed to “coast” in this case. However, if we use a Kalman filter, we can provide an output value even in the time steps in which the radar processor is not generating an output, because the Kalman filter propagates its state.
To implement a Kalman filter properly, I had to break the rules of the CTF slightly and add a time argument to some functions which are not allowed to be modified. This is because the Kalman filter propagation step needs to know the time increment corresponding to each time step, and in the CTF this is different for each descent profile.
I implemented the Kalman filter using the straightforward formulas from Wikipedia. The state is altitude and velocity, and the state update amounts to propagating altitude using velocity and leaving velocity constant (this is a constant velocity model). I used educated guesses for the process noise covariance and the measurement noise covariance. For the process noise, I made it proportional to the current state, since large altitudes or velocities are likely to change more rapidly. For the measurement noise, I modelled the standard deviation of the FFT peaks as something that is inversely proportional to the number of samples per sweep, and then used the measurement formulas to derive standard deviations for altitude and velocity.
This Kalman filter works pretty well. I didn’t have to fine tune anything. I modified some of the CTF code to print all the time steps, and to add some columns to the output table, to have a clearer idea of what is going on. The following shows the output of the simulation on the standard descent profile. We can see that the Kalman filter output matches the true altitude and velocity quite well, except at time 600 seconds, where the altitude jumps suddenly from 3 to 20 meters, and the radio altimeter fails to produce a measurement. The Kalman filter is thus not aware of this jump until the next epoch.
$ python3 lunar_descent_ctf.py Time | True Alt | RAP Alt | Q Alt | True Vel | RAP Vel | Q.Vel | Mode | Status ────────────────────────────────────────────────────────────────────────────────────────────── 0.0 | 10000.0 | 10001.3 | 10001.3 | 60.0 | 61.1 | 61.1 | 12 | OK 1.8 | 9894.7 | 9894.6 | 9894.6 | 60.0 | 58.5 | 58.8 | 12 | OK 3.5 | 9789.5 | 9789.6 | 9789.6 | 60.0 | 58.5 | 58.5 | 11 | OK 5.3 | 9684.2 | 9684.1 | 9684.1 | 60.0 | 61.1 | 60.7 | 11 | OK 7.0 | 9578.9 | 9578.7 | 9578.7 | 60.0 | 58.5 | 58.8 | 11 | OK 8.8 | 9473.7 | 9473.2 | 9473.2 | 60.0 | 61.1 | 60.8 | 11 | OK 10.5 | 9368.4 | 9367.8 | 9367.8 | 60.0 | 58.5 | 58.8 | 11 | OK 12.3 | 9263.2 | 9262.3 | 9262.3 | 60.0 | 61.1 | 60.8 | 11 | OK 14.0 | 9157.9 | 9158.5 | 9158.5 | 60.0 | 61.1 | 61.1 | 11 | OK 15.8 | 9052.6 | 9053.0 | 9053.0 | 60.0 | 58.5 | 58.9 | 11 | OK 17.5 | 8947.4 | 8947.6 | 8947.6 | 60.0 | 61.1 | 60.8 | 11 | OK 19.3 | 8842.1 | 8842.1 | 8842.1 | 60.0 | 58.5 | 58.8 | 11 | OK 21.1 | 8736.8 | 8736.7 | 8736.7 | 60.0 | 61.1 | 60.8 | 11 | OK 22.8 | 8631.6 | 8631.2 | 8631.2 | 60.0 | 58.5 | 58.8 | 11 | OK 24.6 | 8526.3 | 8525.8 | 8525.8 | 60.0 | 61.1 | 60.8 | 11 | OK 26.3 | 8421.1 | 8421.9 | 8421.9 | 60.0 | 61.1 | 61.1 | 11 | OK 28.1 | 8315.8 | 8316.4 | 8316.4 | 60.0 | 58.5 | 58.9 | 11 | OK 29.8 | 8210.5 | 8211.0 | 8211.0 | 60.0 | 61.1 | 60.8 | 11 | OK 31.6 | 8105.3 | 8105.5 | 8105.5 | 60.0 | 58.5 | 58.8 | 11 | OK 33.3 | 8000.0 | 8000.1 | 8000.1 | 60.0 | 61.1 | 60.8 | 11 | OK 35.1 | 7894.7 | 7894.6 | 7894.6 | 60.0 | 58.5 | 58.8 | 11 | OK 36.8 | 7789.5 | 7789.2 | 7789.2 | 60.0 | 61.1 | 60.8 | 11 | OK 38.6 | 7684.2 | 7683.7 | 7683.7 | 60.0 | 58.5 | 58.8 | 11 | OK 40.4 | 7578.9 | 7578.3 | 7578.3 | 60.0 | 61.1 | 60.8 | 11 | OK 42.1 | 7473.7 | 7474.4 | 7474.4 | 60.0 | 61.1 | 61.1 | 11 | OK 43.9 | 7368.4 | 7368.9 | 7368.9 | 60.0 | 58.5 | 58.9 | 11 | OK 45.6 | 7263.2 | 7263.5 | 7263.5 | 60.0 | 61.1 | 60.8 | 11 | OK 47.4 | 7157.9 | 7158.0 | 7158.0 | 60.0 | 58.5 | 58.8 | 11 | OK 49.1 | 7052.6 | 7052.6 | 7052.6 | 60.0 | 61.1 | 60.8 | 11 | OK 50.9 | 6947.4 | 6947.1 | 6947.1 | 60.0 | 58.5 | 58.8 | 11 | OK 52.6 | 6842.1 | 6841.7 | 6841.7 | 60.0 | 61.1 | 60.8 | 11 | OK 54.4 | 6736.8 | 6736.2 | 6736.2 | 60.0 | 58.5 | 58.8 | 11 | OK 56.1 | 6631.6 | 6630.8 | 6630.8 | 60.0 | 61.1 | 60.8 | 11 | OK 57.9 | 6526.3 | 6526.9 | 6526.9 | 60.0 | 61.1 | 61.1 | 11 | OK 59.6 | 6421.1 | 6421.5 | 6421.5 | 60.0 | 58.5 | 58.9 | 11 | OK 61.4 | 6315.8 | 6316.0 | 6316.0 | 60.0 | 61.1 | 60.8 | 11 | OK 63.2 | 6210.5 | 6210.6 | 6210.6 | 60.0 | 58.5 | 58.8 | 11 | OK 64.9 | 6105.3 | 6105.1 | 6105.1 | 60.0 | 61.1 | 60.8 | 11 | OK 66.7 | 6000.0 | 5999.7 | 5999.7 | 60.0 | 58.5 | 58.8 | 11 | OK 68.4 | 5894.7 | 5894.2 | 5894.2 | 60.0 | 61.1 | 60.8 | 11 | OK 70.2 | 5789.5 | 5790.3 | 5790.3 | 60.0 | 61.1 | 61.1 | 11 | OK 71.9 | 5684.2 | 5683.3 | 5683.3 | 60.0 | 61.1 | 61.1 | 11 | OK 73.7 | 5578.9 | 5579.4 | 5579.4 | 60.0 | 61.1 | 61.1 | 11 | OK 75.4 | 5473.7 | 5474.0 | 5474.0 | 60.0 | 58.5 | 58.9 | 11 | OK 77.2 | 5368.4 | 5368.5 | 5368.5 | 60.0 | 61.1 | 60.8 | 11 | OK 78.9 | 5263.2 | 5263.1 | 5263.1 | 60.0 | 58.5 | 58.8 | 11 | OK 80.7 | 5157.9 | 5157.6 | 5157.6 | 60.0 | 61.1 | 60.8 | 11 | OK 82.5 | 5052.6 | 5052.2 | 5052.2 | 60.0 | 58.5 | 58.8 | 11 | OK 84.2 | 4947.4 | 4946.7 | 4946.7 | 60.0 | 61.1 | 60.8 | 11 | OK 86.0 | 4842.1 | 4842.9 | 4842.9 | 60.0 | 61.1 | 61.1 | 11 | OK 87.7 | 4736.8 | 4737.4 | 4737.4 | 60.0 | 58.5 | 58.9 | 10 | OK 89.5 | 4631.6 | 4631.7 | 4631.7 | 60.0 | 58.5 | 58.5 | 10 | OK 91.2 | 4526.3 | 4526.7 | 4526.7 | 60.0 | 61.1 | 60.7 | 10 | OK 93.0 | 4421.1 | 4421.0 | 4421.0 | 60.0 | 61.1 | 61.1 | 10 | OK 94.7 | 4315.8 | 4316.1 | 4316.1 | 60.0 | 58.5 | 58.9 | 10 | OK 96.5 | 4210.5 | 4210.3 | 4210.3 | 60.0 | 58.5 | 58.5 | 10 | OK 98.2 | 4105.3 | 4105.4 | 4105.4 | 60.0 | 61.1 | 60.7 | 10 | OK 100.0 | 4000.0 | 3999.7 | 3999.7 | 33.3 | 34.5 | 38.6 | 10 | OK 101.8 | 3941.9 | 3942.2 | 3942.2 | 32.8 | 31.9 | 33.7 | 10 | OK 103.5 | 3884.7 | 3884.8 | 3884.8 | 32.4 | 34.5 | 34.3 | 10 | OK 105.3 | 3828.4 | 3828.8 | 3828.8 | 31.9 | 31.9 | 32.6 | 10 | OK 107.0 | 3772.8 | 3772.9 | 3772.9 | 31.4 | 29.2 | 30.4 | 10 | OK 108.8 | 3718.0 | 3718.5 | 3718.5 | 31.0 | 31.9 | 31.4 | 10 | OK 110.5 | 3664.1 | 3664.1 | 3664.1 | 30.5 | 29.2 | 30.0 | 10 | OK 112.3 | 3610.9 | 3610.5 | 3610.5 | 30.1 | 29.2 | 29.5 | 10 | OK 114.0 | 3558.5 | 3558.4 | 3558.4 | 29.7 | 29.2 | 29.3 | 10 | OK 115.8 | 3506.8 | 3506.3 | 3506.3 | 29.2 | 29.2 | 29.3 | 10 | OK 117.5 | 3455.9 | 3455.8 | 3455.8 | 28.8 | 29.2 | 29.2 | 10 | OK 119.3 | 3405.8 | 3406.0 | 3406.0 | 28.4 | 26.6 | 27.6 | 10 | OK 121.1 | 3356.4 | 3356.2 | 3356.2 | 28.0 | 29.2 | 28.6 | 10 | OK 122.8 | 3307.6 | 3307.9 | 3307.9 | 27.6 | 26.6 | 27.3 | 10 | OK 124.6 | 3259.6 | 3259.6 | 3259.6 | 27.2 | 29.2 | 28.5 | 10 | OK 126.3 | 3212.3 | 3212.9 | 3212.9 | 26.8 | 26.6 | 27.3 | 10 | OK 128.1 | 3165.7 | 3165.4 | 3165.4 | 26.4 | 26.6 | 26.9 | 10 | OK 129.8 | 3119.8 | 3119.4 | 3119.4 | 26.0 | 26.6 | 26.7 | 10 | OK 131.6 | 3074.5 | 3074.2 | 3074.2 | 25.6 | 23.9 | 25.0 | 10 | OK 133.3 | 3029.9 | 3029.8 | 3029.8 | 25.2 | 23.9 | 24.4 | 10 | OK 135.1 | 2985.9 | 2986.2 | 2986.2 | 24.9 | 26.6 | 25.6 | 10 | OK 136.8 | 2942.6 | 2942.5 | 2942.5 | 24.5 | 23.9 | 24.6 | 10 | OK 138.6 | 2899.8 | 2899.6 | 2899.6 | 24.2 | 23.9 | 24.2 | 10 | OK 140.4 | 2857.8 | 2858.2 | 2858.2 | 23.8 | 23.9 | 24.0 | 10 | OK 142.1 | 2816.3 | 2816.8 | 2816.8 | 23.5 | 23.9 | 24.0 | 10 | OK 143.9 | 2775.4 | 2775.5 | 2775.5 | 23.1 | 23.9 | 23.9 | 10 | OK 145.6 | 2735.1 | 2734.9 | 2734.9 | 22.8 | 21.3 | 22.4 | 10 | OK 147.4 | 2695.4 | 2695.0 | 2695.0 | 22.5 | 21.3 | 21.8 | 10 | OK 149.1 | 2656.3 | 2656.7 | 2656.7 | 22.1 | 21.3 | 21.5 | 10 | OK 150.9 | 2617.8 | 2617.7 | 2617.7 | 21.8 | 23.9 | 22.8 | 10 | OK 152.6 | 2579.8 | 2580.1 | 2580.1 | 21.5 | 21.3 | 22.0 | 10 | OK 154.4 | 2542.3 | 2541.8 | 2541.8 | 21.2 | 21.3 | 21.6 | 10 | OK 156.1 | 2505.4 | 2505.1 | 2505.1 | 20.9 | 21.3 | 21.4 | 10 | OK 157.9 | 2469.1 | 2469.1 | 2469.1 | 20.6 | 18.6 | 19.9 | 10 | OK 159.6 | 2433.2 | 2433.0 | 2433.0 | 20.3 | 21.3 | 20.6 | 10 | OK 161.4 | 2397.9 | 2397.8 | 2397.8 | 20.0 | 21.3 | 20.9 | 10 | OK 163.2 | 2363.1 | 2363.3 | 2363.3 | 19.7 | 18.6 | 19.7 | 10 | OK 164.9 | 2328.8 | 2328.9 | 2328.9 | 19.4 | 21.3 | 20.5 | 10 | OK 166.7 | 2295.0 | 2295.2 | 2295.2 | 19.1 | 21.3 | 20.9 | 9 | OK 168.4 | 2261.7 | 2261.5 | 2261.5 | 18.8 | 18.6 | 19.7 | 9 | OK 170.2 | 2228.9 | 2228.7 | 2228.7 | 18.6 | 18.6 | 19.1 | 9 | OK 171.9 | 2196.5 | 2196.6 | 2196.6 | 18.3 | 18.6 | 18.9 | 9 | OK 173.7 | 2164.7 | 2164.6 | 2164.6 | 18.0 | 18.6 | 18.7 | 9 | OK 175.4 | 2133.2 | 2133.2 | 2133.2 | 17.8 | 18.6 | 18.7 | 9 | OK 177.2 | 2102.3 | 2102.3 | 2102.3 | 17.5 | 15.9 | 17.4 | 9 | OK 178.9 | 2071.8 | 2071.7 | 2071.7 | 17.3 | 15.9 | 16.7 | 9 | OK 180.7 | 2041.7 | 2041.9 | 2041.9 | 17.0 | 15.9 | 16.4 | 9 | OK 182.5 | 2012.1 | 2012.0 | 2012.0 | 16.8 | 15.9 | 16.2 | 9 | OK 184.2 | 1982.9 | 1983.0 | 1983.0 | 16.5 | 15.9 | 16.1 | 9 | OK 186.0 | 1954.1 | 1953.9 | 1953.9 | 16.3 | 15.9 | 16.0 | 9 | OK 187.7 | 1925.7 | 1925.5 | 1925.5 | 16.0 | 15.9 | 16.0 | 9 | OK 189.5 | 1897.8 | 1897.9 | 1897.9 | 15.8 | 15.9 | 16.0 | 9 | OK 191.2 | 1870.2 | 1870.4 | 1870.4 | 15.6 | 15.9 | 16.0 | 9 | OK 193.0 | 1843.1 | 1843.1 | 1843.1 | 15.4 | 13.3 | 14.8 | 9 | OK 194.7 | 1816.3 | 1816.3 | 1816.3 | 15.1 | 13.3 | 14.2 | 9 | OK 196.5 | 1790.0 | 1789.8 | 1789.8 | 14.9 | 15.9 | 14.9 | 9 | OK 198.2 | 1764.0 | 1764.1 | 1764.1 | 14.7 | 13.3 | 14.3 | 9 | OK 200.0 | 1738.4 | 1738.4 | 1738.4 | 14.5 | 15.9 | 14.9 | 9 | OK 201.8 | 1713.2 | 1713.4 | 1713.4 | 14.3 | 13.3 | 14.3 | 9 | OK 203.5 | 1688.3 | 1688.4 | 1688.4 | 14.1 | 15.9 | 14.9 | 9 | OK 205.3 | 1663.8 | 1663.8 | 1663.8 | 13.9 | 15.9 | 15.3 | 9 | OK 207.0 | 1639.6 | 1639.5 | 1639.5 | 13.7 | 13.3 | 14.5 | 9 | OK 208.8 | 1615.9 | 1615.7 | 1615.7 | 13.5 | 13.3 | 14.0 | 9 | OK 210.5 | 1592.4 | 1592.6 | 1592.6 | 13.3 | 13.3 | 13.7 | 9 | OK 212.3 | 1569.3 | 1569.4 | 1569.4 | 13.1 | 13.3 | 13.5 | 9 | OK 214.0 | 1546.5 | 1546.3 | 1546.3 | 12.9 | 13.3 | 13.4 | 9 | OK 215.8 | 1524.1 | 1524.0 | 1523.9 | 12.7 | 13.3 | 13.4 | 9 | OK 217.5 | 1501.9 | 1502.0 | 1502.0 | 12.5 | 10.6 | 12.3 | 9 | OK 219.3 | 1480.1 | 1480.0 | 1480.0 | 12.3 | 13.3 | 12.7 | 9 | OK 221.1 | 1458.7 | 1458.7 | 1458.7 | 12.2 | 10.6 | 12.0 | 9 | OK 222.8 | 1437.5 | 1437.4 | 1437.4 | 12.0 | 13.3 | 12.4 | 9 | OK 224.6 | 1416.6 | 1416.6 | 1416.6 | 11.8 | 13.3 | 12.7 | 9 | OK 226.3 | 1396.1 | 1396.1 | 1396.1 | 11.6 | 10.6 | 12.0 | 9 | OK 228.1 | 1375.8 | 1375.9 | 1375.9 | 11.5 | 10.6 | 11.5 | 9 | OK 229.8 | 1355.8 | 1355.8 | 1355.8 | 11.3 | 10.6 | 11.2 | 9 | OK 231.6 | 1336.2 | 1336.4 | 1336.4 | 11.1 | 10.6 | 11.0 | 9 | OK 233.3 | 1316.8 | 1317.0 | 1317.0 | 11.0 | 10.6 | 10.9 | 9 | OK 235.1 | 1297.7 | 1297.6 | 1297.6 | 10.8 | 10.6 | 10.8 | 9 | OK 236.8 | 1278.8 | 1279.0 | 1279.0 | 10.7 | 10.6 | 10.8 | 9 | OK 238.6 | 1260.3 | 1260.3 | 1260.3 | 10.5 | 10.6 | 10.7 | 9 | OK 240.4 | 1242.0 | 1241.7 | 1241.7 | 10.3 | 10.6 | 10.7 | 9 | OK 242.1 | 1224.0 | 1223.8 | 1223.8 | 10.2 | 10.6 | 10.7 | 9 | OK 243.9 | 1206.2 | 1206.3 | 1206.3 | 10.1 | 8.0 | 9.8 | 9 | OK 245.6 | 1188.7 | 1188.7 | 1188.7 | 9.9 | 10.6 | 10.1 | 9 | OK 247.4 | 1171.4 | 1171.6 | 1171.6 | 9.8 | 10.6 | 10.2 | 9 | OK 249.1 | 1154.4 | 1154.4 | 1154.4 | 9.6 | 10.6 | 10.3 | 9 | OK 250.9 | 1137.7 | 1137.6 | 1137.6 | 9.5 | 8.0 | 9.6 | 9 | OK 252.6 | 1121.2 | 1121.2 | 1121.2 | 9.3 | 8.0 | 9.1 | 8 | OK 254.4 | 1104.9 | 1104.9 | 1104.9 | 9.2 | 10.6 | 9.6 | 8 | OK 256.1 | 1088.9 | 1088.8 | 1088.8 | 9.1 | 8.0 | 9.1 | 8 | OK 257.9 | 1073.0 | 1073.0 | 1073.0 | 8.9 | 10.6 | 9.5 | 8 | OK 259.6 | 1057.5 | 1057.6 | 1057.6 | 8.8 | 8.0 | 9.1 | 8 | OK 261.4 | 1042.1 | 1042.1 | 1042.1 | 8.7 | 10.6 | 9.5 | 8 | OK 263.2 | 1027.0 | 1027.1 | 1027.1 | 8.6 | 8.0 | 9.0 | 8 | OK 264.9 | 1012.1 | 1012.2 | 1012.2 | 8.4 | 8.0 | 8.7 | 8 | OK 266.7 | 997.4 | 997.3 | 997.3 | 8.3 | 8.0 | 8.5 | 8 | OK 268.4 | 982.9 | 982.8 | 982.8 | 8.2 | 8.0 | 8.4 | 8 | OK 270.2 | 968.7 | 968.6 | 968.6 | 8.1 | 8.0 | 8.3 | 8 | OK 271.9 | 954.6 | 954.5 | 954.5 | 8.0 | 8.0 | 8.2 | 8 | OK 273.7 | 940.8 | 940.7 | 940.7 | 7.8 | 8.0 | 8.1 | 8 | OK 275.4 | 927.1 | 927.3 | 927.3 | 7.7 | 8.0 | 8.1 | 8 | OK 277.2 | 913.6 | 913.6 | 913.6 | 7.6 | 5.3 | 7.4 | 8 | OK 278.9 | 900.4 | 900.4 | 900.4 | 7.5 | 8.0 | 7.5 | 8 | OK 280.7 | 887.3 | 887.3 | 887.3 | 7.4 | 8.0 | 7.6 | 8 | OK 282.5 | 874.4 | 874.4 | 874.4 | 7.3 | 5.3 | 7.1 | 8 | OK 284.2 | 861.7 | 861.7 | 861.7 | 7.2 | 5.3 | 6.7 | 8 | OK 286.0 | 849.2 | 849.2 | 849.2 | 7.1 | 8.0 | 7.0 | 8 | OK 287.7 | 836.9 | 836.9 | 836.9 | 7.0 | 8.0 | 7.2 | 8 | OK 289.5 | 824.8 | 824.7 | 824.7 | 6.9 | 5.3 | 6.8 | 8 | OK 291.2 | 812.8 | 812.7 | 812.7 | 6.8 | 5.3 | 6.5 | 8 | OK 293.0 | 801.0 | 800.9 | 800.9 | 6.7 | 8.0 | 6.8 | 8 | OK 294.7 | 789.4 | 789.3 | 789.3 | 6.6 | 8.0 | 7.0 | 8 | OK 296.5 | 777.9 | 777.9 | 777.9 | 6.5 | 5.3 | 6.7 | 8 | OK 298.2 | 766.6 | 766.6 | 766.6 | 6.4 | 5.3 | 6.4 | 8 | OK 300.0 | 755.5 | 755.4 | 755.4 | 5.0 | 5.3 | 6.2 | 8 | OK 301.8 | 746.7 | 746.7 | 746.7 | 5.0 | 5.3 | 6.0 | 8 | OK 303.5 | 737.9 | 738.0 | 738.0 | 5.0 | 5.3 | 5.8 | 8 | OK 305.3 | 729.2 | 729.2 | 729.2 | 4.9 | 5.3 | 5.7 | 8 | OK 307.0 | 720.6 | 720.5 | 720.5 | 4.9 | 5.3 | 5.6 | 8 | OK 308.8 | 712.0 | 711.8 | 711.8 | 4.9 | 5.3 | 5.5 | 8 | OK 310.5 | 703.4 | 703.5 | 703.5 | 4.9 | 5.3 | 5.4 | 8 | OK 312.3 | 694.9 | 694.9 | 694.9 | 4.8 | 2.7 | 5.0 | 8 | OK 314.0 | 686.5 | 686.4 | 686.4 | 4.8 | 5.3 | 5.0 | 8 | OK 315.8 | 678.1 | 678.1 | 678.1 | 4.8 | 5.3 | 5.0 | 8 | OK 317.5 | 669.7 | 669.7 | 669.7 | 4.7 | 5.3 | 5.1 | 8 | OK 319.3 | 661.4 | 661.4 | 661.4 | 4.7 | 5.3 | 5.1 | 8 | OK 321.1 | 653.2 | 653.2 | 653.2 | 4.7 | 2.7 | 4.7 | 8 | OK 322.8 | 645.0 | 645.0 | 645.0 | 4.7 | 5.3 | 4.8 | 8 | OK 324.6 | 636.9 | 636.9 | 636.9 | 4.6 | 2.7 | 4.5 | 8 | OK 326.3 | 628.8 | 628.7 | 628.7 | 4.6 | 5.3 | 4.6 | 8 | OK 328.1 | 620.7 | 620.7 | 620.7 | 4.6 | 5.3 | 4.7 | 8 | OK 329.8 | 612.8 | 612.7 | 612.7 | 4.5 | 5.3 | 4.8 | 8 | OK 331.6 | 604.8 | 604.7 | 604.7 | 4.5 | 5.3 | 4.8 | 8 | OK 333.3 | 596.9 | 596.9 | 596.9 | 4.5 | 2.7 | 4.5 | 8 | OK 335.1 | 589.1 | 589.1 | 589.1 | 4.4 | 5.3 | 4.6 | 8 | OK 336.8 | 581.3 | 581.3 | 581.3 | 4.4 | 2.7 | 4.4 | 8 | OK 338.6 | 573.6 | 573.5 | 573.5 | 4.4 | 5.3 | 4.5 | 8 | OK 340.4 | 565.9 | 565.9 | 565.9 | 4.4 | 5.3 | 4.6 | 8 | OK 342.1 | 558.3 | 558.3 | 558.3 | 4.3 | 5.3 | 4.6 | 8 | OK 343.9 | 550.7 | 550.7 | 550.7 | 4.3 | 5.3 | 4.7 | 8 | OK 345.6 | 543.2 | 543.2 | 543.2 | 4.3 | 2.7 | 4.4 | 7 | OK 347.4 | 535.8 | 535.8 | 535.8 | 4.2 | 2.7 | 4.2 | 7 | OK 349.1 | 528.3 | 528.4 | 528.4 | 4.2 | 2.7 | 4.0 | 7 | OK 350.9 | 521.0 | 520.9 | 520.9 | 4.2 | 2.7 | 3.9 | 7 | OK 352.6 | 513.7 | 513.7 | 513.7 | 4.2 | 2.7 | 3.8 | 7 | OK 354.4 | 506.4 | 506.4 | 506.4 | 4.1 | 5.3 | 4.0 | 7 | OK 356.1 | 499.2 | 499.2 | 499.2 | 4.1 | 2.7 | 3.8 | 7 | OK 357.9 | 492.0 | 492.1 | 492.1 | 4.1 | 5.3 | 4.0 | 7 | OK 359.6 | 484.9 | 484.9 | 484.9 | 4.0 | 2.7 | 3.9 | 7 | OK 361.4 | 477.9 | 477.9 | 477.9 | 4.0 | 5.3 | 4.0 | 7 | OK 363.2 | 470.9 | 470.9 | 470.9 | 4.0 | 5.3 | 4.2 | 7 | OK 364.9 | 463.9 | 464.0 | 464.0 | 3.9 | 5.3 | 4.3 | 7 | OK 366.7 | 457.0 | 457.1 | 457.1 | 3.9 | 5.3 | 4.3 | 7 | OK 368.4 | 450.2 | 450.2 | 450.2 | 3.9 | 5.3 | 4.4 | 7 | OK 370.2 | 443.4 | 443.4 | 443.4 | 3.9 | 2.7 | 4.2 | 7 | OK 371.9 | 436.6 | 436.7 | 436.7 | 3.8 | 2.7 | 4.0 | 7 | OK 373.7 | 430.0 | 430.0 | 430.0 | 3.8 | 2.7 | 3.8 | 7 | OK 375.4 | 423.3 | 423.3 | 423.3 | 3.8 | 5.3 | 4.0 | 7 | OK 377.2 | 416.7 | 416.7 | 416.7 | 3.7 | 2.7 | 3.8 | 7 | OK 378.9 | 410.2 | 410.2 | 410.2 | 3.7 | 2.7 | 3.7 | 7 | OK 380.7 | 403.7 | 403.7 | 403.7 | 3.7 | 5.3 | 3.8 | 7 | OK 382.5 | 397.3 | 397.3 | 397.3 | 3.7 | 2.7 | 3.7 | 7 | OK 384.2 | 390.9 | 390.9 | 390.9 | 3.6 | 2.7 | 3.6 | 7 | OK 386.0 | 384.6 | 384.5 | 384.5 | 3.6 | 2.7 | 3.5 | 7 | OK 387.7 | 378.3 | 378.3 | 378.3 | 3.6 | 5.3 | 3.7 | 7 | OK 389.5 | 372.1 | 372.0 | 372.0 | 3.5 | 2.7 | 3.6 | 7 | OK 391.2 | 365.9 | 365.9 | 365.9 | 3.5 | 5.3 | 3.7 | 7 | OK 393.0 | 359.8 | 359.8 | 359.8 | 3.5 | 2.7 | 3.6 | 7 | OK 394.7 | 353.7 | 353.6 | 353.6 | 3.4 | 2.7 | 3.5 | 7 | OK 396.5 | 347.7 | 347.6 | 347.6 | 3.4 | 2.7 | 3.4 | 7 | OK 398.2 | 341.7 | 341.7 | 341.7 | 3.4 | 5.3 | 3.6 | 7 | OK 400.0 | 335.8 | 335.8 | 335.8 | 3.4 | 2.7 | 3.5 | 7 | OK 401.8 | 329.9 | 330.0 | 330.0 | 3.3 | 2.7 | 3.4 | 7 | OK 403.5 | 324.1 | 324.1 | 324.1 | 3.3 | 2.7 | 3.3 | 7 | OK 405.3 | 318.3 | 318.3 | 318.3 | 3.3 | 2.7 | 3.3 | 7 | OK 407.0 | 312.6 | 312.6 | 312.6 | 3.2 | 2.7 | 3.2 | 7 | OK 408.8 | 307.0 | 307.0 | 307.0 | 3.2 | 2.7 | 3.2 | 7 | OK 410.5 | 301.4 | 301.3 | 301.3 | 3.2 | 2.7 | 3.2 | 7 | OK 412.3 | 295.8 | 295.9 | 295.9 | 3.2 | 2.7 | 3.1 | 7 | OK 414.0 | 290.3 | 290.4 | 290.4 | 3.1 | 2.7 | 3.1 | 7 | OK 415.8 | 284.9 | 284.9 | 284.9 | 3.1 | 2.7 | 3.1 | 7 | OK 417.5 | 279.5 | 279.4 | 279.4 | 3.1 | 2.7 | 3.1 | 7 | OK 419.3 | 274.1 | 274.1 | 274.1 | 3.0 | 2.7 | 3.0 | 7 | OK 421.1 | 268.8 | 268.8 | 268.8 | 3.0 | 2.7 | 3.0 | 7 | OK 422.8 | 263.6 | 263.5 | 263.5 | 3.0 | 2.7 | 3.0 | 6 | OK 424.6 | 258.4 | 258.4 | 258.4 | 2.9 | 2.7 | 3.0 | 6 | OK 426.3 | 253.2 | 253.2 | 253.2 | 2.9 | 2.7 | 2.9 | 6 | OK 428.1 | 248.1 | 248.1 | 248.1 | 2.9 | 2.7 | 2.9 | 6 | OK 429.8 | 243.1 | 243.1 | 243.1 | 2.9 | 2.7 | 2.9 | 6 | OK 431.6 | 238.1 | 238.1 | 238.1 | 2.8 | 2.7 | 2.9 | 6 | OK 433.3 | 233.2 | 233.2 | 233.2 | 2.8 | 2.7 | 2.9 | 6 | OK 435.1 | 228.3 | 228.3 | 228.3 | 2.8 | 2.7 | 2.8 | 6 | OK 436.8 | 223.5 | 223.5 | 223.5 | 2.7 | 2.7 | 2.8 | 6 | OK 438.6 | 218.7 | 218.6 | 218.6 | 2.7 | 2.7 | 2.8 | 6 | OK 440.4 | 214.0 | 213.9 | 213.9 | 2.7 | 2.7 | 2.8 | 6 | OK 442.1 | 209.3 | 209.3 | 209.3 | 2.7 | 2.7 | 2.7 | 6 | OK 443.9 | 204.7 | 204.6 | 204.6 | 2.6 | 2.7 | 2.7 | 6 | OK 445.6 | 200.1 | 200.1 | 200.1 | 2.6 | 2.7 | 2.7 | 6 | OK 447.4 | 195.6 | 195.6 | 195.6 | 2.6 | 2.7 | 2.7 | 6 | OK 449.1 | 191.1 | 191.1 | 191.1 | 2.5 | 2.7 | 2.6 | 6 | OK 450.9 | 186.7 | 186.7 | 186.7 | 2.5 | 2.7 | 2.6 | 6 | OK 452.6 | 182.3 | 182.3 | 182.3 | 2.5 | 2.7 | 2.6 | 6 | OK 454.4 | 178.0 | 178.0 | 178.0 | 2.4 | 2.7 | 2.6 | 6 | OK 456.1 | 173.7 | 173.8 | 173.8 | 2.4 | 2.7 | 2.5 | 6 | OK 457.9 | 169.5 | 169.5 | 169.5 | 2.4 | 2.7 | 2.5 | 6 | OK 459.6 | 165.4 | 165.3 | 165.3 | 2.4 | 2.7 | 2.5 | 6 | OK 461.4 | 161.2 | 161.2 | 161.2 | 2.3 | 0.0 | 2.4 | 6 | OK 463.2 | 157.2 | 157.2 | 157.2 | 2.3 | 2.7 | 2.4 | 6 | OK 464.9 | 153.2 | 153.2 | 153.2 | 2.3 | 2.7 | 2.4 | 6 | OK 466.7 | 149.2 | 149.2 | 149.2 | 2.2 | 2.7 | 2.3 | 6 | OK 468.4 | 145.3 | 145.3 | 145.3 | 2.2 | 0.0 | 2.3 | 6 | OK 470.2 | 141.5 | 141.5 | 141.5 | 2.2 | 2.7 | 2.2 | 6 | OK 471.9 | 137.7 | 137.7 | 137.7 | 2.2 | 0.0 | 2.2 | 6 | OK 473.7 | 133.9 | 133.9 | 133.9 | 2.1 | 2.7 | 2.2 | 6 | OK 475.4 | 130.2 | 130.2 | 130.2 | 2.1 | 2.7 | 2.2 | 6 | OK 477.2 | 126.6 | 126.6 | 126.6 | 2.1 | 2.7 | 2.2 | 5 | OK 478.9 | 123.0 | 123.0 | 123.0 | 2.0 | 2.7 | 2.1 | 5 | OK 480.7 | 119.5 | 119.5 | 119.5 | 2.0 | 2.7 | 2.1 | 5 | OK 482.5 | 116.0 | 116.0 | 116.0 | 2.0 | 2.7 | 2.1 | 5 | OK 484.2 | 112.5 | 112.5 | 112.5 | 1.9 | 2.7 | 2.1 | 5 | OK 486.0 | 109.2 | 109.2 | 109.2 | 1.9 | 0.0 | 2.0 | 5 | OK 487.7 | 105.8 | 105.8 | 105.8 | 1.9 | 2.7 | 2.0 | 5 | OK 489.5 | 102.5 | 102.6 | 102.6 | 1.9 | 0.0 | 1.9 | 5 | OK 491.2 | 99.3 | 99.3 | 99.3 | 1.8 | 2.7 | 1.9 | 5 | OK 493.0 | 96.1 | 96.1 | 96.1 | 1.8 | 2.7 | 1.9 | 5 | OK 494.7 | 93.0 | 93.0 | 93.0 | 1.8 | 0.0 | 1.8 | 5 | OK 496.5 | 89.9 | 89.9 | 89.9 | 1.7 | 2.7 | 1.8 | 5 | OK 498.2 | 86.9 | 86.9 | 86.9 | 1.7 | 2.7 | 1.8 | 5 | OK 500.0 | 83.9 | 83.9 | 83.9 | 1.7 | 2.7 | 1.8 | 5 | OK 501.8 | 81.0 | 81.0 | 81.0 | 1.6 | 2.7 | 1.8 | 5 | OK 503.5 | 78.2 | 78.1 | 78.1 | 1.6 | 0.0 | 1.7 | 5 | OK 505.3 | 75.3 | 75.3 | 75.3 | 1.6 | 0.0 | 1.6 | 5 | OK 507.0 | 72.6 | 72.6 | 72.6 | 1.6 | 0.0 | 1.6 | 5 | OK 508.8 | 69.9 | 69.9 | 69.9 | 1.5 | 0.0 | 1.6 | 5 | OK 510.5 | 67.2 | 67.2 | 67.2 | 1.5 | 2.7 | 1.6 | 5 | OK 512.3 | 64.6 | 64.6 | 64.6 | 1.5 | 0.0 | 1.5 | 5 | OK 514.0 | 62.0 | 62.0 | 62.0 | 1.4 | 0.0 | 1.5 | 4 | OK 515.8 | 59.5 | 59.5 | 59.5 | 1.4 | 0.0 | 1.5 | 4 | OK 517.5 | 57.1 | 57.1 | 57.1 | 1.4 | 0.0 | 1.4 | 4 | OK 519.3 | 54.7 | 54.7 | 54.7 | 1.4 | 2.7 | 1.4 | 4 | OK 521.1 | 52.3 | 52.3 | 52.3 | 1.3 | 0.0 | 1.4 | 4 | OK 522.8 | 50.0 | 50.0 | 50.0 | 1.3 | 0.0 | 1.3 | 4 | OK 524.6 | 47.8 | 47.8 | 47.8 | 1.3 | 0.0 | 1.3 | 4 | OK 526.3 | 45.6 | 45.6 | 45.6 | 1.2 | 0.0 | 1.3 | 4 | OK 528.1 | 43.4 | 43.4 | 43.4 | 1.2 | 2.7 | 1.3 | 4 | OK 529.8 | 41.3 | 41.3 | 41.3 | 1.2 | 0.0 | 1.2 | 4 | OK 531.6 | 39.3 | 39.3 | 39.3 | 1.1 | 0.0 | 1.2 | 4 | OK 533.3 | 37.3 | 37.3 | 37.3 | 1.1 | 0.0 | 1.2 | 4 | OK 535.1 | 35.4 | 35.4 | 35.4 | 1.1 | 0.0 | 1.1 | 4 | OK 536.8 | 33.5 | 33.5 | 33.5 | 1.1 | 2.7 | 1.1 | 4 | OK 538.6 | 31.7 | 31.7 | 31.7 | 1.0 | 2.7 | 1.1 | 4 | OK 540.4 | 29.9 | 29.9 | 29.9 | 1.0 | 0.0 | 1.1 | 3 | OK 542.1 | 28.1 | 28.1 | 28.1 | 1.0 | 2.7 | 1.0 | 3 | OK 543.9 | 26.5 | 26.5 | 26.5 | 0.9 | 2.7 | 1.0 | 3 | OK 545.6 | 24.8 | 24.8 | 24.8 | 0.9 | 0.0 | 1.0 | 3 | OK 547.4 | 23.3 | 23.3 | 23.3 | 0.9 | 2.7 | 0.9 | 3 | OK 549.1 | 21.7 | 21.7 | 21.7 | 0.9 | 0.0 | 0.9 | 3 | OK 550.9 | 20.3 | 20.3 | 20.3 | 0.8 | 0.0 | 0.9 | 3 | OK 552.6 | 18.8 | 18.8 | 18.8 | 0.8 | 0.0 | 0.8 | 3 | OK 554.4 | 17.5 | 17.5 | 17.5 | 0.8 | 0.0 | 0.8 | 3 | OK 556.1 | 16.1 | 16.1 | 16.1 | 0.7 | 0.0 | 0.8 | 3 | OK 557.9 | 14.9 | 14.9 | 14.9 | 0.7 | 0.0 | 0.7 | 2 | OK 559.6 | 13.7 | 13.7 | 13.7 | 0.7 | 0.0 | 0.7 | 2 | OK 561.4 | 12.5 | 12.5 | 12.5 | 0.6 | 0.0 | 0.7 | 2 | OK 563.2 | 11.4 | 11.4 | 11.4 | 0.6 | 5.3 | 0.7 | 2 | OK 564.9 | 10.3 | 10.3 | 10.3 | 0.6 | 5.3 | 0.6 | 2 | OK 566.7 | 9.3 | 9.3 | 9.3 | 0.6 | 0.0 | 0.6 | 2 | OK 568.4 | 8.4 | 8.4 | 8.4 | 0.5 | 2.7 | 0.6 | 2 | OK 570.2 | 7.5 | 7.5 | 7.5 | 0.5 | 0.0 | 0.5 | 2 | OK 571.9 | 6.6 | 6.6 | 6.6 | 0.5 | 5.3 | 0.5 | 1 | OK 573.7 | 5.8 | 5.8 | 5.8 | 0.4 | 8.0 | 0.5 | 1 | OK 575.4 | 5.1 | 5.1 | 5.1 | 0.4 | 8.0 | 0.4 | 1 | OK 577.2 | 4.4 | 4.4 | 4.4 | 0.4 | 15.9 | 0.4 | 1 | OK 578.9 | 3.7 | 3.7 | 3.7 | 0.4 | -5.3 | 0.4 | 1 | OK 580.7 | 3.1 | --- | 3.1 | 0.3 | --- | 0.4 | 1 | OK 582.5 | 3.0 | 3.0 | 3.0 | 0.3 | 37.2 | 0.2 | 0 | OK 584.2 | 3.0 | 3.0 | 3.0 | 0.3 | 13.3 | 0.0 | 0 | OK 586.0 | 3.0 | 3.0 | 3.0 | 0.2 | 58.5 | 0.0 | 0 | OK 587.7 | 3.0 | 3.0 | 3.0 | 0.2 | 26.6 | 0.0 | 0 | OK 589.5 | 3.0 | 3.0 | 3.0 | 0.2 | 2.7 | 0.0 | 0 | OK 591.2 | 3.0 | 3.0 | 3.0 | 0.1 | 5.3 | 0.0 | 0 | OK 593.0 | 3.0 | 3.0 | 3.0 | 0.1 | -55.8 | 0.0 | 0 | OK 594.7 | 3.0 | 3.0 | 3.0 | 0.1 | 63.8 | 0.0 | 0 | OK 596.5 | 3.0 | 3.0 | 3.0 | 0.1 | 8.0 | 0.0 | 0 | OK 598.2 | 3.0 | 3.0 | 3.0 | 0.1 | 45.2 | 0.0 | 0 | OK 600.0 | 20.0 | --- | 3.0 | 0.2 | --- | 0.0 | 0 | OK 601.8 | 19.6 | 19.7 | 19.4 | 0.2 | 2.7 | -0.9 | 3 | OK 603.5 | 19.3 | 19.3 | 19.3 | 0.2 | 0.0 | -0.9 | 3 | OK 605.3 | 18.9 | 18.9 | 18.9 | 0.2 | -2.7 | -0.5 | 3 | OK 607.0 | 18.6 | 18.6 | 18.6 | 0.2 | 0.0 | -0.1 | 3 | OK 608.8 | 18.2 | 18.2 | 18.2 | 0.2 | 0.0 | 0.0 | 3 | OK 610.5 | 17.9 | 17.9 | 17.9 | 0.2 | 0.0 | 0.1 | 3 | OK 612.3 | 17.5 | 17.5 | 17.5 | 0.2 | 0.0 | 0.1 | 3 | OK 614.0 | 17.2 | 17.2 | 17.2 | 0.2 | 2.7 | 0.1 | 3 | OK 615.8 | 16.8 | 16.8 | 16.8 | 0.2 | 0.0 | 0.1 | 3 | OK 617.5 | 16.5 | 16.5 | 16.5 | 0.2 | 2.7 | 0.2 | 3 | OK 619.3 | 16.1 | 16.1 | 16.1 | 0.2 | 2.7 | 0.2 | 3 | OK 621.1 | 15.8 | 15.8 | 15.8 | 0.2 | 0.0 | 0.2 | 3 | OK 622.8 | 15.4 | 15.4 | 15.4 | 0.2 | 0.0 | 0.2 | 3 | OK 624.6 | 15.1 | 15.1 | 15.1 | 0.2 | 2.7 | 0.2 | 3 | OK 626.3 | 14.7 | 14.7 | 14.7 | 0.2 | 0.0 | 0.2 | 2 | OK 628.1 | 14.4 | 14.4 | 14.4 | 0.2 | 2.7 | 0.2 | 2 | OK 629.8 | 14.0 | 14.0 | 14.0 | 0.2 | 2.7 | 0.2 | 2 | OK 631.6 | 13.7 | 13.7 | 13.7 | 0.2 | -2.7 | 0.2 | 2 | OK 633.3 | 13.3 | 13.3 | 13.3 | 0.2 | 2.7 | 0.2 | 2 | OK 635.1 | 13.0 | 13.0 | 13.0 | 0.2 | -5.3 | 0.2 | 2 | OK 636.8 | 12.6 | 12.6 | 12.6 | 0.2 | 0.0 | 0.2 | 2 | OK 638.6 | 12.3 | 12.3 | 12.3 | 0.2 | 0.0 | 0.2 | 2 | OK 640.4 | 11.9 | 11.9 | 11.9 | 0.2 | -2.7 | 0.2 | 2 | OK 642.1 | 11.6 | 11.6 | 11.6 | 0.2 | 2.7 | 0.2 | 2 | OK 643.9 | 11.2 | 11.2 | 11.2 | 0.2 | 0.0 | 0.2 | 2 | OK 645.6 | 10.9 | 10.9 | 10.9 | 0.2 | 0.0 | 0.2 | 2 | OK 647.4 | 10.5 | 10.5 | 10.5 | 0.2 | 5.3 | 0.2 | 2 | OK 649.1 | 10.2 | 10.2 | 10.2 | 0.2 | 0.0 | 0.2 | 2 | OK 650.9 | 9.8 | 9.8 | 9.8 | 0.2 | 0.0 | 0.2 | 2 | OK 652.6 | 9.5 | 9.5 | 9.5 | 0.2 | 2.7 | 0.2 | 2 | OK 654.4 | 9.1 | 9.1 | 9.1 | 0.2 | -5.3 | 0.2 | 2 | OK 656.1 | 8.8 | 8.8 | 8.8 | 0.2 | -2.7 | 0.2 | 2 | OK 657.9 | 8.4 | 8.4 | 8.4 | 0.2 | 0.0 | 0.2 | 2 | OK 659.6 | 8.1 | 8.1 | 8.1 | 0.2 | -2.7 | 0.2 | 2 | OK 661.4 | 7.7 | 7.7 | 7.7 | 0.2 | 5.3 | 0.2 | 2 | OK 663.2 | 7.4 | 7.4 | 7.4 | 0.2 | -2.7 | 0.2 | 2 | OK 664.9 | 7.0 | 7.0 | 7.0 | 0.2 | 2.7 | 0.2 | 1 | OK 666.7 | 6.7 | 6.7 | 6.7 | 0.2 | -10.6 | 0.2 | 1 | OK 668.4 | 6.3 | 6.3 | 6.3 | 0.2 | 5.3 | 0.2 | 1 | OK 670.2 | 6.0 | 6.0 | 6.0 | 0.2 | -8.0 | 0.2 | 1 | OK 671.9 | 5.6 | 5.6 | 5.6 | 0.2 | -5.3 | 0.2 | 1 | OK 673.7 | 5.3 | 5.3 | 5.3 | 0.2 | 5.3 | 0.2 | 1 | OK 675.4 | 4.9 | 4.9 | 4.9 | 0.2 | -8.0 | 0.2 | 1 | OK 677.2 | 4.6 | 4.6 | 4.6 | 0.2 | 10.6 | 0.2 | 1 | OK 678.9 | 4.2 | 4.2 | 4.2 | 0.2 | 13.3 | 0.2 | 1 | OK 680.7 | 3.9 | 3.9 | 3.9 | 0.2 | -10.6 | 0.2 | 1 | OK 682.5 | 3.5 | 3.5 | 3.5 | 0.2 | 10.6 | 0.2 | 0 | OK 684.2 | 3.2 | 3.1 | 3.1 | 0.2 | 39.9 | 0.2 | 0 | OK 686.0 | 3.0 | 3.0 | 3.0 | 0.2 | -8.0 | 0.1 | 0 | OK 687.7 | 3.0 | 3.0 | 3.0 | 0.2 | -21.3 | 0.0 | 0 | OK 689.5 | 3.0 | 3.0 | 3.0 | 0.2 | 13.3 | 0.0 | 0 | OK 691.2 | 3.0 | 3.0 | 3.0 | 0.2 | 18.6 | 0.0 | 0 | OK 693.0 | 3.0 | 3.0 | 3.0 | 0.2 | -23.9 | 0.0 | 0 | OK 694.7 | 3.0 | 3.0 | 3.0 | 0.2 | -29.2 | 0.0 | 0 | OK 696.5 | 3.0 | 3.0 | 3.0 | 0.2 | 13.3 | 0.0 | 0 | OK 698.2 | 3.0 | 3.0 | 3.0 | 0.2 | -34.5 | 0.0 | 0 | OK 700.0 | 3.0 | 3.0 | 3.0 | 0.2 | -31.9 | 0.0 | 0 | OK Tracking Timeline: (. = OK, X = gap, ! = bad velocity near ground, altitude decreasing →) ................................................................................ standard: LANDED Valid: 400/400 Gaps: 0, Position error: 17.00m Max velocity seen: 61.1 m/sIn the aggressive descent profile there are no altitude jumps, and the Kalman filter works really well, making a maximum altitude error of only 1.7 meters.
$ python3 lunar_descent_ctf.py -p aggressive Time | True Alt | RAP Alt | Q Alt | True Vel | RAP Vel | Q.Vel | Mode | Status ────────────────────────────────────────────────────────────────────────────────────────────── 0.0 | 10000.0 | 10001.3 | 10001.3 | 166.7 | 167.4 | 167.4 | 12 | OK 1.0 | 9834.3 | 9833.7 | 9833.7 | 163.9 | 164.8 | 164.9 | 11 | OK 2.0 | 9671.4 | 9671.5 | 9671.5 | 161.2 | 162.1 | 162.2 | 11 | OK 3.0 | 9511.1 | 9511.0 | 9511.0 | 158.5 | 156.8 | 157.1 | 11 | OK 4.0 | 9353.5 | 9353.6 | 9353.6 | 155.9 | 156.8 | 156.8 | 11 | OK 5.0 | 9198.5 | 9197.8 | 9197.8 | 153.3 | 154.1 | 154.3 | 11 | OK 6.0 | 9046.1 | 9045.1 | 9045.1 | 150.8 | 151.5 | 151.6 | 11 | OK 7.0 | 8896.2 | 8895.6 | 8895.6 | 148.3 | 148.8 | 149.0 | 11 | OK 8.0 | 8748.8 | 8749.2 | 8749.2 | 145.8 | 146.2 | 146.3 | 11 | OK 9.0 | 8603.8 | 8602.9 | 8602.9 | 143.4 | 143.5 | 143.7 | 11 | OK 10.0 | 8461.3 | 8461.2 | 8461.2 | 141.0 | 143.5 | 143.5 | 11 | OK 11.0 | 8321.1 | 8321.1 | 8321.1 | 138.7 | 140.9 | 141.0 | 11 | OK 12.0 | 8183.2 | 8182.6 | 8182.6 | 136.4 | 135.5 | 135.9 | 11 | OK 13.0 | 8047.6 | 8047.3 | 8047.3 | 134.1 | 135.5 | 135.6 | 11 | OK 14.0 | 7914.3 | 7913.5 | 7913.5 | 131.9 | 132.9 | 133.1 | 11 | OK 15.0 | 7783.1 | 7782.9 | 7782.9 | 129.7 | 130.2 | 130.4 | 11 | OK 16.0 | 7654.2 | 7655.4 | 7655.4 | 127.6 | 127.6 | 127.8 | 11 | OK 17.0 | 7527.3 | 7527.9 | 7527.9 | 125.5 | 124.9 | 125.1 | 11 | OK 18.0 | 7402.6 | 7402.0 | 7402.0 | 123.4 | 124.9 | 124.9 | 11 | OK 19.0 | 7280.0 | 7280.8 | 7280.8 | 121.3 | 122.3 | 122.5 | 11 | OK 20.1 | 7159.3 | 7159.6 | 7159.6 | 119.3 | 119.6 | 119.8 | 11 | OK 21.1 | 7040.7 | 7041.6 | 7041.6 | 117.3 | 116.9 | 117.2 | 11 | OK 22.1 | 6924.0 | 6923.5 | 6923.5 | 115.4 | 114.3 | 114.5 | 11 | OK 23.1 | 6809.3 | 6810.2 | 6810.2 | 113.5 | 114.3 | 114.3 | 11 | OK 24.1 | 6696.5 | 6695.3 | 6695.3 | 111.6 | 111.6 | 111.9 | 11 | OK 25.1 | 6585.5 | 6585.1 | 6585.1 | 109.8 | 111.6 | 111.6 | 11 | OK 26.1 | 6476.4 | 6476.5 | 6476.5 | 107.9 | 109.0 | 109.2 | 11 | OK 27.1 | 6369.1 | 6368.0 | 6367.9 | 106.2 | 106.3 | 106.6 | 11 | OK 28.1 | 6263.6 | 6262.5 | 6262.5 | 104.4 | 103.6 | 103.9 | 11 | OK 29.1 | 6159.8 | 6160.2 | 6160.2 | 102.7 | 101.0 | 101.3 | 11 | OK 30.1 | 6057.7 | 6056.3 | 6056.3 | 101.0 | 101.0 | 101.0 | 11 | OK 31.1 | 5957.3 | 5957.2 | 5957.2 | 99.3 | 98.3 | 98.6 | 11 | OK 32.1 | 5858.6 | 5859.6 | 5859.6 | 97.6 | 98.3 | 98.4 | 11 | OK 33.1 | 5761.6 | 5760.4 | 5760.4 | 96.0 | 95.7 | 96.0 | 11 | OK 34.1 | 5666.1 | 5666.0 | 5666.0 | 94.4 | 95.7 | 95.7 | 11 | OK 35.1 | 5572.2 | 5573.1 | 5573.1 | 92.9 | 93.0 | 93.3 | 11 | OK 36.1 | 5479.9 | 5480.3 | 5480.3 | 91.3 | 90.4 | 90.7 | 11 | OK 37.1 | 5389.1 | 5389.0 | 5389.0 | 89.8 | 90.4 | 90.4 | 11 | OK 38.1 | 5299.8 | 5299.3 | 5299.3 | 88.3 | 87.7 | 88.1 | 11 | OK 39.1 | 5212.0 | 5211.1 | 5211.1 | 86.9 | 87.7 | 87.8 | 11 | OK 40.1 | 5125.6 | 5124.6 | 5124.6 | 85.4 | 85.0 | 85.4 | 11 | OK 41.1 | 5040.7 | 5041.2 | 5041.2 | 84.0 | 82.4 | 82.8 | 11 | OK 42.1 | 4957.1 | 4956.2 | 4956.2 | 82.6 | 82.4 | 82.5 | 11 | OK 43.1 | 4875.0 | 4874.3 | 4874.3 | 81.3 | 82.4 | 82.4 | 11 | OK 44.1 | 4794.2 | 4794.1 | 4794.1 | 79.9 | 79.7 | 80.1 | 11 | OK 45.1 | 4714.8 | 4715.4 | 4715.4 | 78.6 | 79.7 | 79.8 | 10 | OK 46.1 | 4636.7 | 4637.0 | 4637.0 | 77.3 | 77.1 | 77.5 | 10 | OK 47.1 | 4559.8 | 4559.7 | 4559.7 | 76.0 | 74.4 | 74.9 | 10 | OK 48.1 | 4484.3 | 4484.6 | 4484.6 | 74.7 | 74.4 | 74.5 | 10 | OK 49.1 | 4410.0 | 4409.5 | 4409.5 | 73.5 | 74.4 | 74.4 | 10 | OK 50.1 | 4336.9 | 4336.7 | 4336.7 | 72.3 | 71.8 | 72.2 | 10 | OK 51.1 | 4265.1 | 4264.7 | 4264.7 | 71.1 | 71.8 | 71.8 | 10 | OK 52.1 | 4194.4 | 4194.2 | 4194.2 | 69.9 | 71.8 | 71.8 | 10 | OK 53.1 | 4124.9 | 4124.5 | 4124.5 | 68.7 | 69.1 | 69.6 | 10 | OK 54.1 | 4056.5 | 4056.4 | 4056.4 | 67.6 | 66.4 | 67.0 | 10 | OK 55.1 | 3989.3 | 3988.9 | 3988.9 | 66.5 | 66.4 | 66.6 | 10 | OK 56.1 | 3923.2 | 3923.1 | 3923.1 | 65.4 | 66.4 | 66.5 | 10 | OK 57.1 | 3858.2 | 3857.9 | 3857.9 | 64.3 | 63.8 | 64.3 | 10 | OK 58.1 | 3794.3 | 3794.4 | 3794.4 | 63.2 | 61.1 | 61.8 | 10 | OK 59.1 | 3731.4 | 3731.5 | 3731.5 | 62.2 | 61.1 | 61.3 | 10 | OK 60.2 | 3669.6 | 3670.3 | 3670.3 | 61.2 | 61.1 | 61.2 | 10 | OK 61.2 | 3608.8 | 3609.0 | 3609.0 | 60.1 | 61.1 | 61.1 | 10 | OK 62.2 | 3549.0 | 3548.4 | 3548.4 | 59.1 | 58.5 | 59.1 | 10 | OK 63.2 | 3490.2 | 3490.2 | 3490.2 | 58.2 | 58.5 | 58.6 | 10 | OK 64.2 | 3432.3 | 3432.0 | 3432.0 | 57.2 | 58.5 | 58.5 | 10 | OK 65.2 | 3375.5 | 3376.1 | 3376.1 | 56.3 | 55.8 | 56.4 | 10 | OK 66.2 | 3319.5 | 3319.4 | 3319.4 | 55.3 | 55.8 | 56.0 | 10 | OK 67.2 | 3264.5 | 3264.2 | 3264.2 | 54.4 | 55.8 | 55.8 | 10 | OK 68.2 | 3210.5 | 3209.8 | 3209.8 | 53.5 | 53.2 | 53.8 | 10 | OK 69.2 | 3157.3 | 3157.8 | 3157.7 | 52.6 | 53.2 | 53.3 | 10 | OK 70.2 | 3104.9 | 3104.9 | 3104.9 | 51.7 | 50.5 | 51.2 | 10 | OK 71.2 | 3053.5 | 3053.6 | 3053.6 | 50.9 | 53.2 | 52.6 | 10 | OK 72.2 | 3002.9 | 3003.0 | 3003.0 | 50.0 | 47.8 | 49.1 | 10 | OK 73.2 | 2953.1 | 2953.2 | 2953.2 | 49.2 | 50.5 | 50.1 | 10 | OK 74.2 | 2904.2 | 2904.2 | 2904.2 | 48.4 | 50.5 | 50.4 | 10 | OK 75.2 | 2856.1 | 2855.9 | 2855.9 | 47.6 | 47.8 | 48.6 | 10 | OK 76.2 | 2808.8 | 2808.4 | 2808.4 | 46.8 | 47.8 | 48.0 | 10 | OK 77.2 | 2762.2 | 2762.5 | 2762.5 | 46.0 | 47.8 | 47.9 | 10 | OK 78.2 | 2716.5 | 2715.7 | 2715.7 | 45.3 | 45.2 | 46.0 | 10 | OK 79.2 | 2671.4 | 2671.3 | 2671.3 | 44.5 | 45.2 | 45.4 | 10 | OK 80.2 | 2627.2 | 2626.9 | 2626.9 | 43.8 | 45.2 | 45.3 | 10 | OK 81.2 | 2583.6 | 2583.2 | 2583.2 | 43.1 | 42.5 | 43.4 | 10 | OK 82.2 | 2540.8 | 2540.3 | 2540.3 | 42.3 | 42.5 | 42.8 | 10 | OK 83.2 | 2498.7 | 2498.9 | 2498.9 | 41.6 | 42.5 | 42.6 | 10 | OK 84.2 | 2457.3 | 2457.6 | 2457.6 | 41.0 | 42.5 | 42.5 | 10 | OK 85.2 | 2416.6 | 2417.0 | 2417.0 | 40.3 | 39.9 | 40.8 | 10 | OK 86.2 | 2376.6 | 2377.1 | 2377.1 | 39.6 | 39.9 | 40.2 | 10 | OK 87.2 | 2337.2 | 2337.3 | 2337.3 | 39.0 | 39.9 | 40.0 | 10 | OK 88.2 | 2298.5 | 2298.2 | 2298.2 | 38.3 | 37.2 | 38.2 | 9 | OK 89.2 | 2260.4 | 2260.4 | 2260.4 | 37.7 | 37.2 | 37.6 | 9 | OK 90.2 | 2222.9 | 2223.1 | 2223.1 | 37.0 | 37.2 | 37.3 | 9 | OK 91.2 | 2186.1 | 2186.2 | 2186.2 | 36.4 | 34.5 | 35.6 | 9 | OK 92.2 | 2149.9 | 2150.0 | 2150.0 | 35.8 | 37.2 | 36.6 | 9 | OK 93.2 | 2114.3 | 2114.2 | 2114.2 | 35.2 | 37.2 | 37.0 | 9 | OK 94.2 | 2079.2 | 2079.5 | 2079.5 | 34.7 | 34.5 | 35.5 | 9 | OK 95.2 | 2044.8 | 2044.5 | 2044.5 | 34.1 | 34.5 | 34.9 | 9 | OK 96.2 | 2010.9 | 2010.9 | 2010.9 | 33.5 | 34.5 | 34.7 | 9 | OK 97.2 | 1977.6 | 1977.7 | 1977.7 | 33.0 | 31.9 | 33.0 | 9 | OK 98.2 | 1944.8 | 1944.9 | 1944.9 | 32.4 | 31.9 | 32.4 | 9 | OK 99.2 | 1912.6 | 1912.9 | 1912.9 | 31.9 | 31.9 | 32.1 | 9 | OK 100.3 | 1880.9 | 1880.8 | 1880.8 | 31.3 | 31.9 | 32.0 | 9 | OK 101.3 | 1849.7 | 1849.8 | 1849.8 | 30.8 | 29.2 | 30.4 | 9 | OK 102.3 | 1819.1 | 1819.3 | 1819.3 | 30.3 | 29.2 | 29.8 | 9 | OK 103.3 | 1788.9 | 1788.7 | 1788.7 | 29.8 | 29.2 | 29.5 | 9 | OK 104.3 | 1759.3 | 1759.6 | 1759.6 | 29.3 | 29.2 | 29.4 | 9 | OK 105.3 | 1730.1 | 1730.2 | 1730.2 | 28.8 | 26.6 | 27.9 | 9 | OK 106.3 | 1701.5 | 1701.4 | 1701.4 | 28.4 | 29.2 | 28.6 | 9 | OK 107.3 | 1673.3 | 1673.1 | 1673.1 | 27.9 | 29.2 | 28.9 | 9 | OK 108.3 | 1645.5 | 1645.5 | 1645.5 | 27.4 | 29.2 | 29.1 | 9 | OK 109.3 | 1618.3 | 1618.3 | 1618.3 | 27.0 | 26.6 | 27.7 | 9 | OK 110.3 | 1591.5 | 1591.4 | 1591.4 | 26.5 | 26.6 | 27.1 | 9 | OK 111.3 | 1565.1 | 1565.3 | 1565.3 | 26.1 | 26.6 | 26.8 | 9 | OK 112.3 | 1539.2 | 1539.2 | 1539.2 | 25.7 | 26.6 | 26.7 | 9 | OK 113.3 | 1513.7 | 1513.5 | 1513.5 | 25.2 | 23.9 | 25.3 | 9 | OK 114.3 | 1488.6 | 1488.5 | 1488.5 | 24.8 | 26.6 | 25.9 | 9 | OK 115.3 | 1463.9 | 1463.9 | 1463.9 | 24.4 | 26.6 | 26.2 | 9 | OK 116.3 | 1439.7 | 1439.7 | 1439.7 | 24.0 | 23.9 | 25.1 | 9 | OK 117.3 | 1415.8 | 1415.8 | 1415.8 | 23.6 | 23.9 | 24.5 | 9 | OK 118.3 | 1392.3 | 1392.3 | 1392.3 | 23.2 | 21.3 | 23.0 | 9 | OK 119.3 | 1369.3 | 1369.2 | 1369.2 | 22.8 | 21.3 | 22.2 | 9 | OK 120.3 | 1346.6 | 1346.5 | 1346.5 | 22.4 | 23.9 | 23.0 | 9 | OK 121.3 | 1324.3 | 1324.5 | 1324.5 | 22.1 | 21.3 | 22.2 | 9 | OK 122.3 | 1302.3 | 1302.1 | 1302.1 | 21.7 | 21.3 | 21.8 | 9 | OK 123.3 | 1280.8 | 1280.5 | 1280.5 | 21.3 | 21.3 | 21.6 | 9 | OK 124.3 | 1259.5 | 1259.6 | 1259.6 | 21.0 | 21.3 | 21.4 | 9 | OK 125.3 | 1238.7 | 1238.7 | 1238.7 | 20.6 | 21.3 | 21.3 | 9 | OK 126.3 | 1218.1 | 1218.2 | 1218.2 | 20.3 | 18.6 | 20.2 | 9 | OK 127.3 | 1198.0 | 1198.1 | 1198.1 | 20.0 | 18.6 | 19.5 | 9 | OK 128.3 | 1178.1 | 1177.9 | 1177.9 | 19.6 | 18.6 | 19.2 | 9 | OK 129.3 | 1158.6 | 1158.5 | 1158.5 | 19.3 | 18.6 | 19.0 | 9 | OK 130.3 | 1139.4 | 1139.1 | 1139.1 | 19.0 | 18.6 | 18.8 | 9 | OK 131.3 | 1120.5 | 1120.5 | 1120.5 | 18.7 | 18.6 | 18.7 | 8 | OK 132.3 | 1101.9 | 1101.9 | 1101.9 | 18.4 | 18.6 | 18.7 | 8 | OK 133.3 | 1083.7 | 1083.7 | 1083.7 | 18.1 | 18.6 | 18.6 | 8 | OK 134.3 | 1065.7 | 1065.7 | 1065.7 | 17.8 | 15.9 | 17.6 | 8 | OK 135.3 | 1048.1 | 1048.1 | 1048.1 | 17.5 | 18.6 | 18.0 | 8 | OK 136.3 | 1030.7 | 1030.7 | 1030.7 | 17.2 | 18.6 | 18.2 | 8 | OK 137.3 | 1013.6 | 1013.6 | 1013.6 | 16.9 | 18.6 | 18.3 | 8 | OK 138.3 | 996.8 | 996.8 | 996.8 | 16.6 | 15.9 | 17.4 | 8 | OK 139.3 | 980.3 | 980.4 | 980.4 | 16.3 | 15.9 | 16.8 | 8 | OK 140.4 | 964.1 | 964.1 | 964.1 | 16.1 | 15.9 | 16.5 | 8 | OK 141.4 | 948.1 | 948.1 | 948.1 | 15.8 | 15.9 | 16.3 | 8 | OK 142.4 | 932.4 | 932.5 | 932.5 | 15.5 | 15.9 | 16.1 | 8 | OK 143.4 | 916.9 | 916.9 | 916.9 | 15.3 | 15.9 | 16.1 | 8 | OK 144.4 | 901.7 | 901.7 | 901.7 | 15.0 | 15.9 | 16.0 | 8 | OK 145.4 | 886.8 | 886.8 | 886.8 | 14.8 | 15.9 | 15.9 | 8 | OK 146.4 | 872.1 | 872.1 | 872.1 | 14.5 | 13.3 | 15.0 | 8 | OK 147.4 | 857.7 | 857.6 | 857.6 | 14.3 | 13.3 | 14.4 | 8 | OK 148.4 | 843.4 | 843.4 | 843.4 | 14.1 | 13.3 | 14.1 | 8 | OK 149.4 | 829.5 | 829.6 | 829.6 | 13.8 | 13.3 | 13.8 | 8 | OK 150.4 | 815.7 | 815.8 | 815.8 | 13.6 | 13.3 | 13.7 | 8 | OK 151.4 | 802.2 | 802.2 | 802.2 | 13.4 | 15.9 | 14.3 | 8 | OK 152.4 | 788.9 | 789.0 | 789.0 | 13.1 | 13.3 | 14.0 | 8 | OK 153.4 | 775.8 | 775.9 | 775.9 | 12.9 | 13.3 | 13.7 | 8 | OK 154.4 | 763.0 | 763.0 | 763.0 | 12.7 | 10.6 | 12.8 | 8 | OK 155.4 | 750.3 | 750.3 | 750.3 | 12.5 | 10.6 | 12.2 | 8 | OK 156.4 | 737.9 | 738.0 | 738.0 | 12.3 | 10.6 | 11.8 | 8 | OK 157.4 | 725.7 | 725.6 | 725.6 | 12.1 | 10.6 | 11.5 | 8 | OK 158.4 | 713.7 | 713.6 | 713.6 | 11.9 | 10.6 | 11.3 | 8 | OK 159.4 | 701.8 | 701.8 | 701.8 | 11.7 | 13.3 | 11.8 | 8 | OK 160.4 | 690.2 | 690.2 | 690.2 | 11.5 | 13.3 | 12.2 | 8 | OK 161.4 | 678.8 | 678.8 | 678.8 | 11.3 | 10.6 | 11.7 | 8 | OK 162.4 | 667.5 | 667.5 | 667.5 | 11.1 | 10.6 | 11.4 | 8 | OK 163.4 | 656.5 | 656.5 | 656.5 | 10.9 | 13.3 | 11.9 | 8 | OK 164.4 | 645.6 | 645.8 | 645.8 | 10.8 | 10.6 | 11.5 | 8 | OK 165.4 | 634.9 | 634.9 | 634.9 | 10.6 | 10.6 | 11.3 | 8 | OK 166.4 | 624.4 | 624.3 | 624.3 | 10.4 | 10.6 | 11.1 | 8 | OK 167.4 | 614.0 | 614.2 | 614.2 | 10.2 | 10.6 | 10.9 | 8 | OK 168.4 | 603.8 | 603.8 | 603.8 | 10.1 | 8.0 | 10.2 | 8 | OK 169.4 | 593.8 | 593.8 | 593.8 | 9.9 | 10.6 | 10.3 | 8 | OK 170.4 | 584.0 | 584.0 | 584.0 | 9.7 | 10.6 | 10.3 | 8 | OK 171.4 | 574.3 | 574.2 | 574.2 | 9.6 | 10.6 | 10.4 | 8 | OK 172.4 | 564.8 | 564.8 | 564.8 | 9.4 | 10.6 | 10.3 | 8 | OK 173.4 | 555.5 | 555.4 | 555.4 | 9.3 | 10.6 | 10.3 | 8 | OK 174.4 | 546.2 | 546.3 | 546.3 | 9.1 | 10.6 | 10.3 | 7 | OK 175.4 | 537.2 | 537.2 | 537.2 | 9.0 | 8.0 | 9.7 | 7 | OK 176.4 | 528.3 | 528.3 | 528.3 | 8.8 | 10.6 | 9.9 | 7 | OK 177.4 | 519.5 | 519.5 | 519.5 | 8.7 | 8.0 | 9.4 | 7 | OK 178.4 | 510.9 | 510.9 | 510.9 | 8.5 | 8.0 | 9.0 | 7 | OK 179.4 | 502.5 | 502.5 | 502.5 | 8.4 | 10.6 | 9.3 | 7 | OK 180.5 | 494.1 | 494.1 | 494.1 | 8.2 | 8.0 | 9.0 | 7 | OK 181.5 | 486.0 | 486.0 | 486.0 | 8.1 | 8.0 | 8.7 | 7 | OK 182.5 | 477.9 | 477.8 | 477.8 | 8.0 | 8.0 | 8.5 | 7 | OK 183.5 | 470.0 | 470.1 | 470.1 | 7.8 | 8.0 | 8.4 | 7 | OK 184.5 | 462.2 | 462.2 | 462.2 | 7.7 | 5.3 | 7.8 | 7 | OK 185.5 | 454.5 | 454.5 | 454.5 | 7.6 | 8.0 | 7.8 | 7 | OK 186.5 | 447.0 | 447.0 | 447.0 | 7.5 | 5.3 | 7.4 | 7 | OK 187.5 | 439.6 | 439.6 | 439.6 | 7.3 | 5.3 | 7.1 | 7 | OK 188.5 | 432.3 | 432.3 | 432.3 | 7.2 | 5.3 | 6.8 | 7 | OK 189.5 | 425.2 | 425.2 | 425.2 | 7.1 | 8.0 | 7.0 | 7 | OK 190.5 | 418.1 | 418.1 | 418.1 | 7.0 | 8.0 | 7.2 | 7 | OK 191.5 | 411.2 | 411.2 | 411.2 | 6.9 | 8.0 | 7.2 | 7 | OK 192.5 | 404.4 | 404.3 | 404.3 | 6.7 | 8.0 | 7.3 | 7 | OK 193.5 | 397.7 | 397.7 | 397.7 | 6.6 | 5.3 | 7.0 | 7 | OK 194.5 | 391.1 | 391.1 | 391.1 | 6.5 | 8.0 | 7.1 | 7 | OK 195.5 | 384.6 | 384.6 | 384.6 | 6.4 | 5.3 | 6.8 | 7 | OK 196.5 | 378.2 | 378.3 | 378.3 | 6.3 | 5.3 | 6.5 | 7 | OK 197.5 | 372.0 | 371.9 | 371.9 | 6.2 | 5.3 | 6.4 | 7 | OK 198.5 | 365.8 | 365.8 | 365.8 | 6.1 | 8.0 | 6.5 | 7 | OK 199.5 | 359.7 | 359.7 | 359.7 | 6.0 | 5.3 | 6.3 | 7 | OK 200.5 | 353.8 | 353.7 | 353.7 | 5.9 | 5.3 | 6.2 | 7 | OK 201.5 | 347.9 | 347.9 | 347.9 | 5.8 | 5.3 | 6.0 | 7 | OK 202.5 | 342.1 | 342.1 | 342.1 | 5.7 | 8.0 | 6.2 | 7 | OK 203.5 | 336.5 | 336.4 | 336.4 | 5.6 | 5.3 | 6.1 | 7 | OK 204.5 | 330.9 | 330.9 | 330.9 | 5.5 | 5.3 | 5.9 | 7 | OK 205.5 | 325.4 | 325.4 | 325.4 | 5.4 | 5.3 | 5.8 | 7 | OK 206.5 | 320.0 | 320.0 | 320.0 | 5.3 | 5.3 | 5.7 | 7 | OK 207.5 | 314.7 | 314.7 | 314.7 | 5.2 | 5.3 | 5.6 | 7 | OK 208.5 | 309.5 | 309.5 | 309.5 | 5.2 | 5.3 | 5.5 | 7 | OK 209.5 | 304.4 | 304.4 | 304.4 | 5.1 | 5.3 | 5.5 | 7 | OK 210.5 | 299.3 | 299.3 | 299.3 | 5.0 | 5.3 | 5.4 | 7 | OK 211.5 | 294.4 | 294.3 | 294.3 | 4.9 | 5.3 | 5.3 | 7 | OK 212.5 | 289.5 | 289.5 | 289.5 | 4.8 | 2.7 | 5.0 | 7 | OK 213.5 | 284.7 | 284.6 | 284.6 | 4.7 | 5.3 | 5.0 | 7 | OK 214.5 | 280.0 | 280.0 | 280.0 | 4.7 | 5.3 | 5.0 | 7 | OK 215.5 | 275.3 | 275.4 | 275.4 | 4.6 | 2.7 | 4.8 | 7 | OK 216.5 | 270.8 | 270.8 | 270.8 | 4.5 | 2.7 | 4.6 | 7 | OK 217.5 | 266.3 | 266.3 | 266.3 | 4.4 | 5.3 | 4.6 | 7 | OK 218.5 | 261.9 | 261.8 | 261.8 | 4.4 | 5.3 | 4.6 | 6 | OK 219.5 | 257.5 | 257.6 | 257.6 | 4.3 | 5.3 | 4.6 | 6 | OK 220.6 | 253.3 | 253.3 | 253.3 | 4.2 | 5.3 | 4.7 | 6 | OK 221.6 | 249.1 | 249.1 | 249.1 | 4.2 | 2.7 | 4.4 | 6 | OK 222.6 | 245.0 | 245.0 | 245.0 | 4.1 | 2.7 | 4.3 | 6 | OK 223.6 | 240.9 | 240.9 | 240.9 | 4.0 | 5.3 | 4.3 | 6 | OK 224.6 | 236.9 | 236.9 | 236.9 | 3.9 | 2.7 | 4.2 | 6 | OK 225.6 | 233.0 | 233.0 | 233.0 | 3.9 | 5.3 | 4.2 | 6 | OK 226.6 | 229.1 | 229.1 | 229.1 | 3.8 | 5.3 | 4.2 | 6 | OK 227.6 | 225.3 | 225.3 | 225.3 | 3.8 | 5.3 | 4.2 | 6 | OK 228.6 | 221.6 | 221.6 | 221.6 | 3.7 | 2.7 | 4.1 | 6 | OK 229.6 | 217.9 | 217.9 | 217.9 | 3.6 | 5.3 | 4.1 | 6 | OK 230.6 | 214.3 | 214.3 | 214.3 | 3.6 | 5.3 | 4.1 | 6 | OK 231.6 | 210.8 | 210.7 | 210.7 | 3.5 | 2.7 | 3.9 | 6 | OK 232.6 | 207.3 | 207.3 | 207.3 | 3.5 | 5.3 | 3.9 | 6 | OK 233.6 | 203.8 | 203.9 | 203.9 | 3.4 | 2.7 | 3.8 | 6 | OK 234.6 | 200.5 | 200.5 | 200.5 | 3.3 | 5.3 | 3.8 | 6 | OK 235.6 | 197.1 | 197.1 | 197.1 | 3.3 | 2.7 | 3.7 | 6 | OK 236.6 | 193.9 | 193.9 | 193.9 | 3.2 | 2.7 | 3.6 | 6 | OK 237.6 | 190.7 | 190.7 | 190.7 | 3.2 | 5.3 | 3.6 | 6 | OK 238.6 | 187.5 | 187.5 | 187.5 | 3.1 | 2.7 | 3.5 | 6 | OK 239.6 | 184.4 | 184.4 | 184.4 | 3.1 | 5.3 | 3.5 | 6 | OK 240.6 | 181.3 | 181.3 | 181.3 | 3.0 | 2.7 | 3.4 | 6 | OK 241.6 | 178.3 | 178.3 | 178.3 | 3.0 | 2.7 | 3.3 | 6 | OK 242.6 | 175.4 | 175.4 | 175.4 | 2.9 | 2.7 | 3.2 | 6 | OK 243.6 | 172.5 | 172.5 | 172.5 | 2.9 | 2.7 | 3.1 | 6 | OK 244.6 | 169.6 | 169.6 | 169.6 | 2.8 | 2.7 | 3.1 | 6 | OK 245.6 | 166.8 | 166.8 | 166.8 | 2.8 | 2.7 | 3.0 | 6 | OK 246.6 | 164.0 | 164.0 | 164.0 | 2.7 | 2.7 | 3.0 | 6 | OK 247.6 | 161.3 | 161.3 | 161.3 | 2.7 | 2.7 | 2.9 | 6 | OK 248.6 | 158.6 | 158.6 | 158.6 | 2.6 | 2.7 | 2.9 | 6 | OK 249.6 | 156.0 | 156.0 | 156.0 | 2.6 | 2.7 | 2.8 | 6 | OK 250.6 | 153.4 | 153.5 | 153.5 | 2.6 | 2.7 | 2.8 | 6 | OK 251.6 | 150.9 | 150.9 | 150.9 | 2.5 | 2.7 | 2.7 | 6 | OK 252.6 | 148.4 | 148.4 | 148.4 | 2.5 | 2.7 | 2.7 | 6 | OK 253.6 | 145.9 | 145.9 | 145.9 | 2.4 | 2.7 | 2.7 | 6 | OK 254.6 | 143.5 | 143.5 | 143.5 | 2.4 | 2.7 | 2.6 | 6 | OK 255.6 | 141.1 | 141.2 | 141.2 | 2.4 | 2.7 | 2.6 | 6 | OK 256.6 | 138.8 | 138.8 | 138.8 | 2.3 | 2.7 | 2.5 | 6 | OK 257.6 | 136.5 | 136.5 | 136.5 | 2.3 | 2.7 | 2.5 | 6 | OK 258.6 | 134.2 | 134.2 | 134.2 | 2.2 | 2.7 | 2.5 | 6 | OK 259.6 | 132.0 | 132.0 | 132.0 | 2.2 | 0.0 | 2.4 | 6 | OK 260.7 | 129.8 | 129.8 | 129.8 | 2.2 | 2.7 | 2.3 | 6 | OK 261.7 | 127.7 | 127.7 | 127.7 | 2.1 | 2.7 | 2.3 | 5 | OK 262.7 | 125.6 | 125.6 | 125.6 | 2.1 | 2.7 | 2.3 | 5 | OK 263.7 | 123.5 | 123.5 | 123.5 | 2.1 | 2.7 | 2.3 | 5 | OK 264.7 | 121.4 | 121.4 | 121.4 | 2.0 | 0.0 | 2.2 | 5 | OK 265.7 | 119.4 | 119.4 | 119.4 | 2.0 | 2.7 | 2.2 | 5 | OK 266.7 | 117.4 | 117.4 | 117.4 | 2.0 | 2.7 | 2.1 | 5 | OK 267.7 | 115.5 | 115.5 | 115.5 | 1.9 | 0.0 | 2.1 | 5 | OK 268.7 | 113.6 | 113.6 | 113.6 | 1.9 | 2.7 | 2.0 | 5 | OK 269.7 | 111.7 | 111.7 | 111.7 | 1.9 | 2.7 | 2.0 | 5 | OK 270.7 | 109.8 | 109.9 | 109.9 | 1.8 | 2.7 | 2.0 | 5 | OK 271.7 | 108.0 | 108.0 | 108.0 | 1.8 | 2.7 | 2.0 | 5 | OK 272.7 | 106.2 | 106.2 | 106.2 | 1.8 | 0.0 | 1.9 | 5 | OK 273.7 | 104.5 | 104.5 | 104.5 | 1.7 | 0.0 | 1.9 | 5 | OK 274.7 | 102.7 | 102.7 | 102.7 | 1.7 | 2.7 | 1.9 | 5 | OK 275.7 | 101.0 | 101.0 | 101.0 | 1.7 | 0.0 | 1.8 | 5 | OK 276.7 | 99.4 | 99.4 | 99.4 | 1.7 | 0.0 | 1.7 | 5 | OK 277.7 | 97.7 | 97.7 | 97.7 | 1.6 | 2.7 | 1.7 | 5 | OK 278.7 | 96.1 | 96.1 | 96.1 | 1.6 | 0.0 | 1.7 | 5 | OK 279.7 | 94.5 | 94.5 | 94.5 | 1.6 | 0.0 | 1.7 | 5 | OK 280.7 | 92.9 | 92.9 | 92.9 | 1.5 | 2.7 | 1.7 | 5 | OK 281.7 | 91.4 | 91.4 | 91.4 | 1.5 | 2.7 | 1.6 | 5 | OK 282.7 | 89.9 | 89.9 | 89.9 | 1.5 | 2.7 | 1.6 | 5 | OK 283.7 | 88.4 | 88.4 | 88.4 | 1.5 | 0.0 | 1.6 | 5 | OK 284.7 | 86.9 | 86.9 | 86.9 | 1.4 | 0.0 | 1.5 | 5 | OK 285.7 | 85.5 | 85.5 | 85.5 | 1.4 | 2.7 | 1.5 | 5 | OK 286.7 | 84.1 | 84.1 | 84.1 | 1.4 | 2.7 | 1.5 | 5 | OK 287.7 | 82.7 | 82.7 | 82.7 | 1.4 | 2.7 | 1.5 | 5 | OK 288.7 | 81.3 | 81.3 | 81.3 | 1.4 | 2.7 | 1.5 | 5 | OK 289.7 | 80.0 | 80.0 | 80.0 | 1.3 | 2.7 | 1.5 | 5 | OK 290.7 | 78.6 | 78.6 | 78.6 | 1.3 | 2.7 | 1.5 | 5 | OK 291.7 | 77.3 | 77.3 | 77.3 | 1.3 | 2.7 | 1.5 | 5 | OK 292.7 | 76.1 | 76.1 | 76.1 | 1.3 | 0.0 | 1.4 | 5 | OK 293.7 | 74.8 | 74.8 | 74.8 | 1.2 | 0.0 | 1.4 | 5 | OK 294.7 | 73.6 | 73.6 | 73.6 | 1.2 | 2.7 | 1.4 | 5 | OK 295.7 | 72.3 | 72.3 | 72.3 | 1.2 | 0.0 | 1.3 | 5 | OK 296.7 | 71.1 | 71.1 | 71.1 | 1.2 | 2.7 | 1.3 | 5 | OK 297.7 | 70.0 | 70.0 | 70.0 | 1.2 | 2.7 | 1.3 | 5 | OK 298.7 | 68.8 | 68.8 | 68.8 | 1.1 | 2.7 | 1.3 | 5 | OK 299.7 | 67.7 | 67.7 | 67.7 | 1.1 | 2.7 | 1.3 | 5 | OK 300.8 | 66.5 | 66.5 | 66.5 | 1.1 | 2.7 | 1.2 | 5 | OK 301.8 | 65.4 | 65.4 | 65.4 | 1.1 | 2.7 | 1.2 | 5 | OK 302.8 | 64.4 | 64.4 | 64.4 | 1.1 | 2.7 | 1.2 | 5 | OK 303.8 | 63.3 | 63.3 | 63.3 | 1.1 | 0.0 | 1.2 | 5 | OK 304.8 | 62.2 | 62.2 | 62.2 | 1.0 | 0.0 | 1.1 | 4 | OK 305.8 | 61.2 | 61.2 | 61.2 | 1.0 | 2.7 | 1.1 | 4 | OK 306.8 | 60.2 | 60.2 | 60.2 | 1.0 | 2.7 | 1.1 | 4 | OK 307.8 | 59.2 | 59.2 | 59.2 | 1.0 | 2.7 | 1.1 | 4 | OK 308.8 | 58.2 | 58.2 | 58.2 | 1.0 | 0.0 | 1.1 | 4 | OK 309.8 | 57.3 | 57.3 | 57.3 | 1.0 | 0.0 | 1.1 | 4 | OK 310.8 | 56.3 | 56.3 | 56.3 | 0.9 | 2.7 | 1.0 | 4 | OK 311.8 | 55.4 | 55.4 | 55.4 | 0.9 | 0.0 | 1.0 | 4 | OK 312.8 | 54.5 | 54.4 | 54.4 | 0.9 | 2.7 | 1.0 | 4 | OK 313.8 | 53.5 | 53.6 | 53.6 | 0.9 | 2.7 | 1.0 | 4 | OK 314.8 | 52.7 | 52.7 | 52.7 | 0.9 | 0.0 | 1.0 | 4 | OK 315.8 | 51.8 | 51.8 | 51.8 | 0.9 | 0.0 | 0.9 | 4 | OK 316.8 | 50.9 | 50.9 | 50.9 | 0.8 | 0.0 | 0.9 | 4 | OK 317.8 | 50.1 | 50.1 | 50.1 | 0.8 | 2.7 | 0.9 | 4 | OK 318.8 | 49.3 | 49.3 | 49.3 | 0.8 | 2.7 | 0.9 | 4 | OK 319.8 | 48.4 | 48.4 | 48.4 | 0.8 | 2.7 | 0.9 | 4 | OK 320.8 | 47.6 | 47.6 | 47.6 | 0.8 | 0.0 | 0.9 | 4 | OK 321.8 | 46.8 | 46.9 | 46.9 | 0.8 | 2.7 | 0.9 | 4 | OK 322.8 | 46.1 | 46.1 | 46.1 | 0.8 | 0.0 | 0.8 | 4 | OK 323.8 | 45.3 | 45.3 | 45.3 | 0.8 | 0.0 | 0.8 | 4 | OK 324.8 | 44.6 | 44.6 | 44.6 | 0.7 | 0.0 | 0.8 | 4 | OK 325.8 | 43.8 | 43.8 | 43.8 | 0.7 | 0.0 | 0.8 | 4 | OK 326.8 | 43.1 | 43.1 | 43.1 | 0.7 | 0.0 | 0.8 | 4 | OK 327.8 | 42.4 | 42.4 | 42.4 | 0.7 | 0.0 | 0.8 | 4 | OK 328.8 | 41.7 | 41.7 | 41.7 | 0.7 | 2.7 | 0.8 | 4 | OK 329.8 | 41.0 | 41.0 | 41.0 | 0.7 | 0.0 | 0.7 | 4 | OK 330.8 | 40.3 | 40.3 | 40.3 | 0.7 | 2.7 | 0.7 | 4 | OK 331.8 | 39.6 | 39.6 | 39.6 | 0.7 | 0.0 | 0.7 | 4 | OK 332.8 | 39.0 | 39.0 | 39.0 | 0.6 | 2.7 | 0.7 | 4 | OK 333.8 | 38.3 | 38.3 | 38.3 | 0.6 | 2.7 | 0.7 | 4 | OK 334.8 | 37.7 | 37.7 | 37.7 | 0.6 | 2.7 | 0.7 | 4 | OK 335.8 | 37.1 | 37.1 | 37.1 | 0.6 | 0.0 | 0.7 | 4 | OK 336.8 | 36.5 | 36.5 | 36.5 | 0.6 | 0.0 | 0.7 | 4 | OK 337.8 | 35.9 | 35.9 | 35.9 | 0.6 | 0.0 | 0.7 | 4 | OK 338.8 | 35.3 | 35.3 | 35.3 | 0.6 | 0.0 | 0.6 | 4 | OK 339.8 | 34.7 | 34.7 | 34.7 | 0.6 | 0.0 | 0.6 | 4 | OK 340.9 | 34.1 | 34.1 | 34.1 | 0.6 | 0.0 | 0.6 | 4 | OK 341.9 | 33.5 | 33.5 | 33.5 | 0.6 | 0.0 | 0.6 | 4 | OK 342.9 | 33.0 | 33.0 | 33.0 | 0.5 | 0.0 | 0.6 | 4 | OK 343.9 | 32.4 | 32.4 | 32.4 | 0.5 | 0.0 | 0.6 | 4 | OK 344.9 | 31.9 | 31.9 | 31.9 | 0.5 | 0.0 | 0.6 | 4 | OK 345.9 | 31.4 | 31.4 | 31.4 | 0.5 | 0.0 | 0.6 | 4 | OK 346.9 | 30.9 | 30.8 | 30.8 | 0.5 | 0.0 | 0.6 | 4 | OK 347.9 | 30.3 | 30.3 | 30.3 | 0.5 | 0.0 | 0.5 | 3 | OK 348.9 | 29.8 | 29.8 | 29.8 | 0.5 | 0.0 | 0.5 | 3 | OK 349.9 | 29.3 | 29.3 | 29.3 | 0.5 | 0.0 | 0.5 | 3 | OK 350.9 | 28.8 | 28.8 | 28.8 | 0.6 | 0.0 | 0.5 | 3 | OK 351.9 | 28.2 | 28.2 | 28.2 | 0.6 | 0.0 | 0.5 | 3 | OK 352.9 | 27.6 | 27.6 | 27.6 | 0.6 | 0.0 | 0.6 | 3 | OK 353.9 | 27.0 | 27.0 | 27.0 | 0.6 | 2.7 | 0.6 | 3 | OK 354.9 | 26.4 | 26.4 | 26.4 | 0.6 | 2.7 | 0.6 | 3 | OK 355.9 | 25.8 | 25.8 | 25.8 | 0.6 | 0.0 | 0.6 | 3 | OK 356.9 | 25.2 | 25.2 | 25.2 | 0.6 | 0.0 | 0.6 | 3 | OK 357.9 | 24.7 | 24.7 | 24.7 | 0.6 | 2.7 | 0.6 | 3 | OK 358.9 | 24.1 | 24.1 | 24.1 | 0.6 | 0.0 | 0.6 | 3 | OK 359.9 | 23.5 | 23.5 | 23.5 | 0.6 | 0.0 | 0.6 | 3 | OK 360.9 | 22.9 | 22.9 | 22.9 | 0.6 | 0.0 | 0.6 | 3 | OK 361.9 | 22.3 | 22.3 | 22.3 | 0.6 | 0.0 | 0.6 | 3 | OK 362.9 | 21.7 | 21.7 | 21.7 | 0.6 | 0.0 | 0.6 | 3 | OK 363.9 | 21.1 | 21.1 | 21.1 | 0.6 | 0.0 | 0.6 | 3 | OK 364.9 | 20.5 | 20.5 | 20.5 | 0.6 | 0.0 | 0.6 | 3 | OK 365.9 | 20.0 | 20.0 | 20.0 | 0.6 | 2.7 | 0.6 | 3 | OK 366.9 | 19.4 | 19.4 | 19.4 | 0.6 | 0.0 | 0.6 | 3 | OK 367.9 | 18.8 | 18.8 | 18.8 | 0.6 | 2.7 | 0.6 | 3 | OK 368.9 | 18.2 | 18.2 | 18.2 | 0.6 | 2.7 | 0.6 | 3 | OK 369.9 | 17.6 | 17.6 | 17.6 | 0.6 | 0.0 | 0.6 | 3 | OK 370.9 | 17.0 | 17.0 | 17.0 | 0.6 | 0.0 | 0.6 | 3 | OK 371.9 | 16.4 | 16.4 | 16.4 | 0.6 | 0.0 | 0.6 | 3 | OK 372.9 | 15.9 | 15.8 | 15.8 | 0.6 | 0.0 | 0.6 | 3 | OK 373.9 | 15.3 | 15.3 | 15.3 | 0.6 | 0.0 | 0.6 | 3 | OK 374.9 | 14.7 | 14.7 | 14.7 | 0.6 | 0.0 | 0.6 | 2 | OK 375.9 | 14.1 | 14.1 | 14.1 | 0.6 | 5.3 | 0.6 | 2 | OK 376.9 | 13.5 | 13.5 | 13.5 | 0.6 | -2.7 | 0.6 | 2 | OK 377.9 | 12.9 | 12.9 | 12.9 | 0.6 | 0.0 | 0.6 | 2 | OK 378.9 | 12.3 | 12.3 | 12.3 | 0.6 | 5.3 | 0.6 | 2 | OK 379.9 | 11.7 | 11.7 | 11.7 | 0.6 | -8.0 | 0.6 | 2 | OK 381.0 | 11.2 | 11.2 | 11.2 | 0.6 | 0.0 | 0.6 | 2 | OK 382.0 | 10.6 | 10.6 | 10.6 | 0.6 | 2.7 | 0.6 | 2 | OK 383.0 | 10.0 | 10.0 | 10.0 | 0.6 | 0.0 | 0.6 | 2 | OK 384.0 | 9.4 | 9.4 | 9.4 | 0.6 | -2.7 | 0.6 | 2 | OK 385.0 | 8.8 | 8.8 | 8.8 | 0.6 | 0.0 | 0.6 | 2 | OK 386.0 | 8.2 | 8.2 | 8.2 | 0.6 | 0.0 | 0.6 | 2 | OK 387.0 | 7.6 | 7.6 | 7.6 | 0.6 | 0.0 | 0.6 | 2 | OK 388.0 | 7.0 | 7.0 | 7.0 | 0.6 | -5.3 | 0.6 | 1 | OK 389.0 | 6.5 | 6.5 | 6.5 | 0.6 | 8.0 | 0.6 | 1 | OK 390.0 | 5.9 | 5.9 | 5.9 | 0.6 | -8.0 | 0.6 | 1 | OK 391.0 | 5.3 | 5.3 | 5.3 | 0.6 | -10.6 | 0.6 | 1 | OK 392.0 | 4.7 | 4.7 | 4.7 | 0.6 | -2.7 | 0.6 | 1 | OK 393.0 | 4.1 | 4.1 | 4.1 | 0.6 | 21.3 | 0.6 | 1 | OK 394.0 | 3.5 | 3.5 | 3.5 | 0.6 | 8.0 | 0.6 | 0 | OK 395.0 | 3.0 | 3.0 | 3.0 | 0.6 | 42.5 | 0.5 | 0 | OK 396.0 | 3.0 | 3.0 | 3.0 | 0.6 | -10.6 | 0.1 | 0 | OK 397.0 | 3.0 | 3.0 | 3.0 | 0.6 | -10.6 | 0.0 | 0 | OK 398.0 | 3.0 | 3.0 | 3.0 | 0.6 | -8.0 | 0.0 | 0 | OK 399.0 | 3.0 | 3.0 | 3.0 | 0.6 | 5.3 | 0.0 | 0 | OK 400.0 | 3.0 | 3.0 | 3.0 | 0.6 | -61.1 | 0.0 | 0 | OK Tracking Timeline: (. = OK, X = gap, ! = bad velocity near ground, altitude decreasing →) ................................................................................ aggressive: LANDED Valid: 400/400 Gaps: 0, Position error: 1.39m Max velocity seen: 167.4 m/sIn the stepwise descent profile, the Kalman filter also works quite well. The drops between the steps are very fast, so the Kalman filter takes a few epochs to ramp up to the right velocity, but the Kalman filter altitude tracks the real altitude pretty closely, and the maximum altitude error is 2.5 meters. Something that is nice to notice in this profile (it also happens in the other profiles, but less prominently) is that the descent profile true velocity is non-zero (0.1 m/s in this profile) when the true altitude is constant. In mathematical terms, this profile is non-holonomic. However, in the lower-level hovers (where the velocity process noise is lower), the Kalman filter is actually able to realize that the velocity must be zero, and it estimates the correct holonomic value.
$ python3 lunar_descent_ctf.py -p stepwise Time | True Alt | RAP Alt | Q Alt | True Vel | RAP Vel | Q.Vel | Mode | Status ────────────────────────────────────────────────────────────────────────────────────────────── 0.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 1.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 3.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 4.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 6.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 7.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 9.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 10.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 12.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 13.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 15.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 16.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 18.0 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 19.5 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 21.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 22.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 24.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 25.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 27.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 28.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 30.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 31.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 33.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 34.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 36.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 37.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 39.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 40.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 42.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 43.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 45.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 46.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 48.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 49.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 51.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 52.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 54.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 55.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 57.1 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 58.6 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 60.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 61.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 63.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 64.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 66.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 67.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 69.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 70.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 72.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 73.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 75.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 76.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 78.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 79.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 81.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 82.7 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 84.2 | 9851.0 | 9851.0 | 9851.0 | 0.1 | 2.7 | 2.7 | 11 | OK 85.7 | 9851.0 | 9851.0 | 9850.9 | 393.2 | 390.7 | 34.8 | 11 | OK 87.2 | 9259.7 | 9260.8 | 9260.9 | 393.2 | 393.3 | 242.1 | 11 | OK 88.7 | 8668.3 | 8669.0 | 8669.1 | 393.2 | 393.3 | 391.0 | 11 | OK 90.2 | 8077.0 | 8077.2 | 8077.2 | 393.2 | 393.3 | 393.3 | 11 | OK 91.7 | 7485.6 | 7485.4 | 7485.4 | 393.2 | 393.3 | 393.3 | 11 | OK 93.2 | 6894.3 | 6893.6 | 6893.6 | 393.2 | 393.3 | 393.3 | 11 | OK 94.7 | 6302.9 | 6301.8 | 6301.8 | 393.2 | 393.3 | 393.3 | 11 | OK 96.2 | 5711.6 | 5711.6 | 5711.6 | 393.2 | 390.7 | 390.7 | 11 | OK 97.7 | 5120.2 | 5121.4 | 5121.4 | 393.2 | 393.3 | 393.3 | 11 | OK 99.2 | 4795.0 | 4794.1 | 4793.7 | 0.1 | 0.0 | 2.4 | 11 | OK 100.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 1.2 | 11 | OK 102.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.8 | 11 | OK 103.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.6 | 11 | OK 105.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.5 | 11 | OK 106.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.4 | 11 | OK 108.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.3 | 11 | OK 109.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.3 | 11 | OK 111.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.3 | 11 | OK 112.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 114.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 115.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 117.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 118.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 120.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.2 | 11 | OK 121.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 123.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 124.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 126.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 127.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 129.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 130.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 132.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 133.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 135.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 136.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 138.3 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 139.8 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 141.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 142.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 144.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 145.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 147.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 148.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 150.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 151.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 153.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 154.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 156.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 157.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 159.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 160.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 162.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 163.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 165.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.1 | 11 | OK 166.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.0 | 11 | OK 168.4 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.0 | 11 | OK 169.9 | 4795.0 | 4794.1 | 4794.1 | 0.1 | 0.0 | 0.0 | 11 | OK 171.4 | 4795.0 | 4794.1 | 4794.1 | 191.4 | 191.4 | 3.9 | 10 | OK 172.9 | 4507.2 | 4507.6 | 4507.7 | 191.4 | 191.4 | 10.6 | 10 | OK 174.4 | 4219.3 | 4219.5 | 4219.6 | 191.4 | 191.4 | 35.1 | 10 | OK 175.9 | 3931.5 | 3931.5 | 3931.6 | 191.4 | 191.4 | 127.5 | 10 | OK 177.4 | 3643.7 | 3643.4 | 3643.5 | 191.4 | 191.4 | 188.0 | 10 | OK 178.9 | 3355.8 | 3355.4 | 3355.4 | 191.4 | 191.4 | 191.3 | 10 | OK 180.5 | 3068.0 | 3067.4 | 3067.4 | 191.4 | 191.4 | 191.4 | 10 | OK 182.0 | 2780.1 | 2780.8 | 2780.8 | 191.4 | 191.4 | 191.4 | 10 | OK 183.5 | 2492.3 | 2492.8 | 2492.8 | 191.4 | 191.4 | 191.4 | 10 | OK 185.0 | 2334.0 | 2333.5 | 2333.3 | 0.1 | 0.0 | 4.6 | 10 | OK 186.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 2.3 | 10 | OK 188.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 1.5 | 10 | OK 189.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 1.1 | 10 | OK 191.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.9 | 10 | OK 192.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.7 | 10 | OK 194.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.6 | 10 | OK 195.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.5 | 10 | OK 197.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.5 | 10 | OK 198.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.4 | 10 | OK 200.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.4 | 10 | OK 201.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.4 | 10 | OK 203.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.3 | 10 | OK 204.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.3 | 10 | OK 206.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.3 | 10 | OK 207.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.3 | 10 | OK 209.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.3 | 10 | OK 210.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 212.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 213.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 215.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 216.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 218.0 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 219.5 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 221.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 222.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 224.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 225.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.2 | 10 | OK 227.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 228.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 230.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 231.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 233.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 234.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 236.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 237.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 239.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 240.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 242.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 243.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 245.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 246.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 248.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 249.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 251.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 252.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 254.1 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 255.6 | 2334.0 | 2333.5 | 2333.5 | 0.1 | 0.0 | 0.1 | 10 | OK 257.1 | 2334.0 | 2333.5 | 2333.5 | 138.5 | 138.2 | 2.9 | 9 | OK 258.6 | 2125.7 | 2125.4 | 2125.5 | 138.5 | 138.2 | 6.7 | 9 | OK 260.2 | 1917.4 | 1917.3 | 1917.4 | 138.5 | 138.2 | 16.2 | 9 | OK 261.7 | 1709.1 | 1709.3 | 1709.4 | 138.5 | 138.2 | 48.2 | 9 | OK 263.2 | 1500.8 | 1500.5 | 1500.5 | 138.5 | 138.2 | 114.5 | 9 | OK 264.7 | 1292.5 | 1292.4 | 1292.4 | 138.5 | 138.2 | 136.8 | 9 | OK 266.2 | 1084.2 | 1084.3 | 1084.3 | 138.5 | 138.2 | 138.1 | 8 | OK 267.7 | 875.9 | 875.9 | 875.9 | 138.5 | 138.2 | 138.2 | 8 | OK 269.2 | 667.6 | 667.5 | 667.5 | 138.5 | 138.2 | 138.2 | 8 | OK 270.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 5.4 | 8 | OK 272.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 2.0 | 8 | OK 273.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 1.2 | 8 | OK 275.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.9 | 8 | OK 276.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.7 | 8 | OK 278.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.6 | 8 | OK 279.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.5 | 8 | OK 281.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.4 | 8 | OK 282.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.4 | 8 | OK 284.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.3 | 8 | OK 285.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.3 | 8 | OK 287.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.3 | 8 | OK 288.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 290.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 291.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 293.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 294.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 296.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 297.7 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 299.2 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.2 | 8 | OK 300.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 302.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 303.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 305.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 306.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 308.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 309.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 311.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 312.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 314.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 315.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 317.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 318.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 320.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 321.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 323.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 324.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 326.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 327.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 329.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 330.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 332.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 333.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 335.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 336.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 338.3 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 339.8 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 341.4 | 553.0 | 552.8 | 552.8 | 0.1 | 0.0 | 0.1 | 8 | OK 342.9 | 553.0 | 553.0 | 553.0 | 32.8 | 34.5 | 0.5 | 8 | OK 344.4 | 503.6 | 503.6 | 503.7 | 32.8 | 34.5 | 1.2 | 7 | OK 345.9 | 454.3 | 454.2 | 454.3 | 32.8 | 31.9 | 1.9 | 7 | OK 347.4 | 404.9 | 405.0 | 405.0 | 32.8 | 31.9 | 2.8 | 7 | OK 348.9 | 355.6 | 355.6 | 355.6 | 32.8 | 34.5 | 4.2 | 7 | OK 350.4 | 306.2 | 306.2 | 306.2 | 32.8 | 31.9 | 6.5 | 7 | OK 351.9 | 256.9 | 256.9 | 256.9 | 32.8 | 31.9 | 10.5 | 6 | OK 353.4 | 207.5 | 207.5 | 207.5 | 32.8 | 31.9 | 17.4 | 6 | OK 354.9 | 158.1 | 158.1 | 158.2 | 32.8 | 31.9 | 26.3 | 6 | OK 356.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 11.2 | 6 | OK 357.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 1.4 | 6 | OK 359.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.4 | 6 | OK 360.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.3 | 6 | OK 362.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.2 | 6 | OK 363.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 365.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 366.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 368.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 369.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 371.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 372.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 374.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.1 | 6 | OK 375.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 377.4 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 378.9 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 380.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 382.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 383.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 385.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 386.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 388.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 389.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 391.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 392.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 394.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 395.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 397.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 398.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 400.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 401.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 403.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 404.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 406.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 407.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 409.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 410.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 412.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 413.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 415.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 416.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 418.0 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 419.5 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 421.1 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 422.6 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 424.1 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 425.6 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 427.1 | 131.0 | 131.0 | 131.0 | 0.1 | 0.0 | 0.0 | 6 | OK 428.6 | 131.0 | 131.0 | 131.0 | 7.8 | 8.0 | 0.0 | 6 | OK 430.1 | 119.3 | 119.3 | 119.3 | 7.8 | 8.0 | 0.2 | 5 | OK 431.6 | 107.6 | 107.6 | 107.6 | 7.8 | 8.0 | 0.4 | 5 | OK 433.1 | 95.9 | 95.9 | 95.9 | 7.8 | 8.0 | 0.6 | 5 | OK 434.6 | 84.2 | 84.2 | 84.2 | 7.8 | 8.0 | 0.9 | 5 | OK 436.1 | 72.5 | 72.5 | 72.5 | 7.8 | 8.0 | 1.3 | 5 | OK 437.6 | 60.8 | 60.8 | 60.8 | 7.8 | 8.0 | 1.9 | 4 | OK 439.1 | 49.1 | 49.1 | 49.1 | 7.8 | 8.0 | 3.1 | 4 | OK 440.6 | 37.4 | 37.4 | 37.4 | 7.8 | 8.0 | 4.9 | 4 | OK 442.1 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 4.3 | 4 | OK 443.6 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.6 | 4 | OK 445.1 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.1 | 4 | OK 446.6 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.1 | 4 | OK 448.1 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 449.6 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 451.1 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 452.6 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 454.1 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 455.6 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 457.1 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 458.6 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 460.2 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 0.0 | 4 | OK 461.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 463.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 464.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 466.2 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 467.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 469.2 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 470.7 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 472.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 473.7 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 475.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 476.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 478.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 479.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 481.2 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 482.7 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 484.2 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 485.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 487.2 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 0.0 | 4 | OK 488.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 490.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 491.7 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 0.0 | 4 | OK 493.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 494.7 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 0.0 | 4 | OK 496.2 | 31.0 | 31.0 | 31.0 | 0.1 | -2.7 | 0.0 | 4 | OK 497.7 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 499.2 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 500.8 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 502.3 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 503.8 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 505.3 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 506.8 | 31.0 | 31.0 | 31.0 | 0.1 | 2.7 | 0.0 | 4 | OK 508.3 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 509.8 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 511.3 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 512.8 | 31.0 | 31.0 | 31.0 | 0.1 | 0.0 | 0.0 | 4 | OK 514.3 | 31.0 | 31.0 | 31.0 | 2.0 | 2.7 | 0.0 | 4 | OK 515.8 | 28.0 | 28.0 | 28.0 | 2.0 | 2.7 | 0.0 | 3 | OK 517.3 | 24.9 | 24.9 | 24.9 | 2.0 | 2.7 | 0.1 | 3 | OK 518.8 | 21.9 | 21.9 | 21.9 | 2.0 | 2.7 | 0.2 | 3 | OK 520.3 | 18.8 | 18.8 | 18.8 | 2.0 | 2.7 | 0.2 | 3 | OK 521.8 | 15.8 | 15.8 | 15.8 | 2.0 | 2.7 | 0.4 | 3 | OK 523.3 | 12.8 | --- | 15.3 | 2.0 | --- | 0.4 | 3 | OK 524.8 | 9.7 | 9.7 | 9.7 | 2.0 | 5.3 | 0.9 | 2 | OK 526.3 | 6.7 | 6.7 | 6.7 | 2.0 | 15.9 | 1.4 | 1 | OK 527.8 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | 1.2 | 1 | OK 529.3 | 5.0 | 5.0 | 5.0 | 0.1 | 8.0 | 0.1 | 1 | OK 530.8 | 5.0 | 5.0 | 5.0 | 0.1 | 5.3 | 0.0 | 1 | OK 532.3 | 5.0 | 5.0 | 5.0 | 0.1 | -5.3 | 0.0 | 1 | OK 533.8 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | 0.0 | 1 | OK 535.3 | 5.0 | 5.0 | 5.0 | 0.1 | -5.3 | 0.0 | 1 | OK 536.8 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | -0.0 | 1 | OK 538.3 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 539.8 | 5.0 | 5.0 | 5.0 | 0.1 | 13.3 | 0.0 | 1 | OK 541.4 | 5.0 | 5.0 | 5.0 | 0.1 | 21.3 | 0.0 | 1 | OK 542.9 | 5.0 | 5.0 | 5.0 | 0.1 | -2.7 | 0.0 | 1 | OK 544.4 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 545.9 | 5.0 | 5.0 | 5.0 | 0.1 | 0.0 | 0.0 | 1 | OK 547.4 | 5.0 | 5.0 | 5.0 | 0.1 | 5.3 | 0.0 | 1 | OK 548.9 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | 0.0 | 1 | OK 550.4 | 5.0 | 5.0 | 5.0 | 0.1 | 8.0 | 0.0 | 1 | OK 551.9 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 553.4 | 5.0 | 5.0 | 5.0 | 0.1 | 0.0 | 0.0 | 1 | OK 554.9 | 5.0 | 5.0 | 5.0 | 0.1 | -13.3 | 0.0 | 1 | OK 556.4 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 557.9 | 5.0 | 5.0 | 5.0 | 0.1 | 5.3 | 0.0 | 1 | OK 559.4 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 560.9 | 5.0 | 5.0 | 5.0 | 0.1 | -13.3 | 0.0 | 1 | OK 562.4 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | 0.0 | 1 | OK 563.9 | 5.0 | 5.0 | 5.0 | 0.1 | -2.7 | 0.0 | 1 | OK 565.4 | 5.0 | 5.0 | 5.0 | 0.1 | 10.6 | 0.0 | 1 | OK 566.9 | 5.0 | 5.0 | 5.0 | 0.1 | 15.9 | 0.0 | 1 | OK 568.4 | 5.0 | 5.0 | 5.0 | 0.1 | 0.0 | 0.0 | 1 | OK 569.9 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 571.4 | 5.0 | 5.0 | 5.0 | 0.1 | -8.0 | 0.0 | 1 | OK 572.9 | 5.0 | 5.0 | 5.0 | 0.1 | 10.6 | 0.0 | 1 | OK 574.4 | 5.0 | 5.0 | 5.0 | 0.1 | -18.6 | 0.0 | 1 | OK 575.9 | 5.0 | 5.0 | 5.0 | 0.1 | -21.3 | 0.0 | 1 | OK 577.4 | 5.0 | 5.0 | 5.0 | 0.1 | 13.3 | 0.0 | 1 | OK 578.9 | 5.0 | 5.0 | 5.0 | 0.1 | 5.3 | 0.0 | 1 | OK 580.5 | 5.0 | 5.0 | 5.0 | 0.1 | 8.0 | 0.0 | 1 | OK 582.0 | 5.0 | 5.0 | 5.0 | 0.1 | -10.6 | -0.0 | 1 | OK 583.5 | 5.0 | 5.0 | 5.0 | 0.1 | 0.0 | -0.0 | 1 | OK 585.0 | 5.0 | 5.0 | 5.0 | 0.1 | 10.6 | 0.0 | 1 | OK 586.5 | 5.0 | 5.0 | 5.0 | 0.1 | 0.0 | 0.0 | 1 | OK 588.0 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 589.5 | 5.0 | 5.0 | 5.0 | 0.1 | -10.6 | 0.0 | 1 | OK 591.0 | 5.0 | 5.0 | 5.0 | 0.1 | 2.7 | 0.0 | 1 | OK 592.5 | 5.0 | 5.0 | 5.0 | 0.1 | -10.6 | 0.0 | 1 | OK 594.0 | 5.0 | 5.0 | 5.0 | 0.1 | -5.3 | -0.0 | 1 | OK 595.5 | 5.0 | 5.0 | 5.0 | 0.1 | -10.6 | -0.0 | 1 | OK 597.0 | 5.0 | 5.0 | 5.0 | 0.1 | -13.3 | 0.0 | 1 | OK 598.5 | 5.0 | 5.0 | 5.0 | 0.1 | 5.3 | 0.0 | 1 | OK 600.0 | 5.0 | 5.0 | 5.0 | 0.1 | 15.9 | 0.0 | 1 | OK Tracking Timeline: (. = OK, X = gap, ! = bad velocity near ground, altitude decreasing →) ................................................................................ stepwise: LANDED Valid: 400/400 Gaps: 0, Position error: 2.50m Max velocity seen: 393.3 m/sOverall I think this CTF has been an interesting and fun exercise, and I would really recommend it to anyone who is interested in learning more about how a full radar processing system works.
The code of my solution is in a branch of my fork of the CTF repository. You can take a look at the diff to see the changes I’ve made.
- Tianwen-2 low data rate telemetry
Thomas Telkamp has shared with me an IQ recording of the Tianwen-2 telemetry downlink made with the Bochum 20 metre antenna on June 8. This is part of an ongoing effort led by Peter Gülzow, AMSAT-DL‘s president, for closely monitoring Tianwen-2’s operations. All the material I have used in previous posts about Tianwen-2 has come from these activities.
This recording was made just before Tianwen-2 did a manoeuvre (recall that the orbital insertion at asteroid Kamo’oalewa was reported to be on June 7). During this recording Tianwen-2 was transmitting telemetry at a slower rate than the usual 16384 baud. This makes sense, given the fact that the attitude during the manoeuvre would be unfavourable. In this short post I decode this recording.
The only two configuration differences between the regular 16 kbaud telemetry and this lower data rate telemetry is that the baudrate is reduced to 4096 baud, and the frame size is reduced to 220 bytes. This means that a single Reed-Solomon codeword from the shortened (252, 220) code is used, instead of four interleaved Reed-Solomon codewords from the full (255, 223) code. The over-the-air frame duration is still one second.
The corresponding modifications to the GNU Radio decoder are simple. This plot shows the decoder running on the recording. The SNR is excellent.

GNU Radio decoder processing the Tianwen-2 low data rate recording The contents of the telemetry frames are the same as the regular 16384 baud telemetry. There are very few differences. One difference is that the last two bytes of the AOS insert zone, which are always
0x300bin 16384 baud telemetry, are always0x0001in this 4096 baud telemetry. I don’t know what these bytes mean, and this difference doesn’t give me a clue either.Almost all the same APIDs as in the regular telemetry are present, although their transmission rate is reduced due to the lower data rate. Comparing, I see that only APIDs 1553 and 1554 are missing in the low rate telemetry.

The GNU Radio decoder used in this post is here, the Jupyter notebook is here, and the binary file containing the decoded frames is here.
- PLL coefficients for rate-only feedback
A couple years ago I wrote a post about the paper Controlled-Root Formulation for Digital Phase-Locked Loops, by Stephens and Thomas. In this paper, the authors study digital PLLs by studying the transfer function in discrete time, rather than doing any continuous-time approximations or equivalences. They give values for the loop coefficients that are needed to achieve a certain noise bandwidth for some standard loop root placements (the supercritical damped response and the standard underdamped response). In general, the loop coefficients are obtained numerically. In my post, I show that in the case of a loop of order 2 with supercritical response the loop coefficients can be calculated explicitly in terms of the loop bandwidth by using the solution of a cubic equation. However, in that post, I treated only the phase/phase-rate feedback case. In this post I cover the rate-only feedback case.
Throughout this post I will be using the same notation as in the Stephens and Thomas paper. The difference between the phase/phase-rate feedback and rate-only feedback cases is as follows. In a phase/phase-rate feedback system, the loop update computes the next model phase as \(\hat{\phi}_{n+1} = \hat{\phi}_n + \hat{\dot \phi}_{n+1} T\). The model phases \(\hat{\phi}_n\) are referred to the midpoint of the loop update interval, because the residual phase \(\tilde{\phi}_n\) obtained in that interval corresponds to the average residual phase over that interval (assuming that the input signal amplitude is constant), and hence is equal to the instantaneous residual phase at the midpoint of the loop update interval if we assume that the input signal phase is a linear function over the loop update interval. Therefore, to achieve an instantaneous phase of \(\hat{\phi}_{n+1}\) at the midpoint of the next interval, the local oscillator phase needs to be reset to a value of \(\hat{\phi}_{n+1} – \hat{\dot \phi}_{n+1} T / 2 = \hat{\phi}_n + \hat{\dot \phi}_{n+1} T / 2\) at the beginning of the next interval. This value is different in general from the value that the local oscillator phase has at the end of the current interval, which is \(\hat{\phi}_n + \hat{\dot \phi}_n T / 2\). Therefore, phase/phase-rate feedback requires phase jumps in the local oscillator. If the system has a phase-continuous local oscillator, then the local oscillator phase at the midpoint of the next interval will be \(\hat{\phi}_{n+1} = \hat{\phi}_n + (\hat{\dot \phi}_{n+1} T + \hat{\dot \phi}_n T)/2\). This case is the rate-only feedback system.
Generally speaking, phase/phase-rate loops are better because the rate-only system introduces a certain delay in the loop update, which make the loop behave worse, specially for large \(B_L T\). However, in some cases having continuous local oscillator phase is a system design requirement. Note that the phase/phase-rate versus rate-only distinction applies only when the loop integrates multiple samples to produce a phase estimate before running the loop update. When the loop update is performed every sample, the two cases collapse into one case that has the same transfer function as the phase/phase-rate case but also has continuous phase.
The paper by Stephen and Thomas shows that in the phase/phase-rate case, the loop transfer function of an order \(N\) loop is\[H_z(z) = \frac{D(z) – (z-1)^N}{D(z)},\]where\[D(z) = (z-1)^N + (z-1)^{N-1}K_1 + z(z-1)^2 K_2 + \cdots z^{N-1}K_N.\]They mention that the transfer function for the rate-only case can be calculated analogously, but they do not show the result. Carrying out these calculations we can see that it is\[H_z(z) = \frac{D(z) – z(z-1)^N}{D(z)},\]where\[D(z) = z(z-1)^N + \frac{1}{2}(z+1)[(z-1)^{N-1}K_1 + z(z-1)^2 K_2 + \cdots z^{N-1}K_N].\]The first thing we notice in contrast with the phase/phase-rate feedback case is that in the rate-only feedback case \(D(z)\) has degree \(N + 1\) instead of \(N\). This means that there is one additional loop root, which is caused by the update delay.
In Table IV, the paper gives formulas for the normalized loop bandwidth \(B_L T\) in terms of the loop coefficients \(K_1, \ldots, K_N\) for \(N = 1, 2, 3, 4\) for the phase/phase-rate feedback case. An equivalent table for the rate-only feedback case is not given. To compute the loop bandwidth for the rate-only feedback case we proceed as in the paper. The paper shows that\[2 B_L T = \frac{1}{2 \pi i}\oint H_z(z) H_z(z^{-1}) z^{-1}\, dz,\]where the contour integral is along the unit circle. It mentions that all the poles of \(H_z(z)\) need to lie inside the unit disk for the loop to be stable, and so the only poles of the integrand are the loop roots \(z_j\), which are the roots of the polynomial \(D(z)\), which all need to be inside the unit disk. Therefore, when all these roots are simple, the integral can be evaluated as\[2 B_L T = \sum_{j} [(z – z_j) H_z(z)H_z(z^{-1})z^{-1}]_{z\to z_j}.\]
The paper does not comment this, but it is clear that it is enough to study the case when all the roots are simple, because it is the generic case. This is because \(B_L T\) depends continuously on the loop coefficients and by applying a small perturbation to the loop coefficients we can make all roots simple. Writing\[D(z) = (z – z_0) \cdots (z – z_N),\]the expression above becomes\[2 B_L T = \sum_{j = 0}^N (D(z_j) – z_j(z_j – 1)^N) H(z_j^{-1}) z_j^{-1} \prod_{k \neq j} \frac{1}{z_j – z_k}.\]
Observe that the expression on the right hand size is a rational function with variables \(z_0, \ldots, z_N, K_1, \ldots, K_N\) that is symmetric in \(z_0, \ldots, z_N\). Therefore, it can be rewritten as a coefficient of polynomials in the elementary symmetric polynomials\[\begin{split}e_1(z_0, \ldots, z_N) &= z_0 + \cdots + z_N,\\e_2(z_0, \ldots, z_N) &= z_0z_1 + z_0z_2 + \cdots + z_{N-1}z_N,\\ e_{N+1}(z_0, \ldots, z_N) &= z_0z_1\cdots z_N\end{split}\]with coefficients on \(\mathbb{Q}[K_1, \ldots, K_N]\). Since\[\begin{split}D(z) = &z^{N+1} – e_1(z_0, \ldots, z_N) z^{N-1} + e_2(z_0, \ldots, z_N) z^{N-2} + \cdots + \\ &+ (-1)^{N+1} e_{N+1}(z_0, \ldots, z_N),\end{split}\]we can obtain expressions for these elementary symmetric polynomials in terms of \(K_1, \ldots, K_N\) by expanding the definition of \(D(z)\). Replacing these expressions into the above, we obtain an expression for \(2 B_L T\) that is a rational function in \(K_1, \ldots, K_N\).
These calculations are very cumbersome to carry out by hand if \(N \geq 2\), but they can easily be performed with a computer algebra system. The only things that are required are multivariate rational function algebra, and rewriting a symmetric polynomial in terms of elementary symmetric polynomials. I have written some code using SageMath that performs these calculations for both the phase/phase-rate and the rate-only cases. For the phase/phase-rate case I can replicate the results of Table IV in the paper, although I have not checked carefully that the expressions I obtain for \(N = 3, 4\) are the same, since they are pretty large.
Note that for \(N = 1\) it turns out that the loop bandwidth is\[B_L T = \frac{K_1}{4 – 2 K_1}\]for both phase/phase-rate feedback and for rate-only feedback, even though the loop transfer function is different. This means that the same loop coefficient choice serves for both cases.
The next thing we are interested in is computing the loop coefficients \(K_1, K_2\) for \(N = 2\) for supercritical damping in the rate-only feedback case, given a fixed loop bandwidth \(B_L T\). Generally speaking, supercritical damping means that all the loop roots are equal to some real number \(e^{-\beta}\), \(\beta > 0\). However, in the rate-only feedback case there is one additional loop root due to the update delay. Therefore, only \(N\) loop roots can be equal. The remaining root is determined by the rest. For \(N = 2\) we set \(z_1 = z_2 = w = e^{-\beta}\), and \(z_0 = v\).
Writing the coefficients of \(D(z)\) in terms of the elementary symmetric polynomials in the loop roots, we obtain the following equations:\[\begin{split}w^2 v &= \frac{1}{2}K_1, \\ w^2 + 2wv &= \frac{1}{2}K_2 + 1, \\ 2w + v &= 2 – \frac{1}{2}K_1 – \frac{1}{2} K_2.\end{split}\]The first two of these equations give expressions for \(K_1\) and \(K_2\) in terms of \(w\) and \(v\). Replacing \(K_1\) and \(K_2\) by these expressions in the last equation, we obtain that\[v = \frac{- w^2 – 2w + 3}{w^2 + 2w + 1}.\]Substituting in the first two equations, we get\[\begin{split}K_1 &= \frac{-2w^4 – 4w^3 + 6w^2}{w^2 + 2w + 1},\\K_2 &= \frac{2w^4 – 8w^2 + 8w – 2}{w^2 + 2w + 1}.\end{split}\]
The loop bandwidth is\[B_L T = \frac{2K_1^2 + K_1K_2 + 2K_2}{-4K_1^2 – 2K_1K_2 + 8K_1 – 4K_2}.\]Replacing the above expressions in this formula, we get\[B_L T = \frac{-w^6 – 6w^5 – 5w^4 + 12 w^3 – w^2 + 2w – 1}{2w^6 + 12w^5 – 14w^4 – 8w^3 + 14w^2 – 4w + 2}.\]This gives a degree 6 equation for \(w\) in terms of \(B_L T\). Unfortunately, degree 6 equations do not have a closed form solution in general. In the phase/phase-rate case that I treated in the older post, we obtained a degree 3 equation, so we could obtain an explicit formula for its solution involving some cubic roots. In this case, all we can do is to solve this equation numerically. We compute the roots of the resulting degree 6 polynomial, and choose as \(w\) the largest real root in the interval \((0, 1)\). It is easy to see that if \(B_L T \to 0\), then \(w \to 1\). Therefore, it is quite likely that a good way to solve this problem numerically is to begin with \(w = 1\) and apply an iterative algorithm such as Newton’s method. Once we have obtained a solution \(w\), we can compute \(K_1\) and \(K_2\) by using the formulas above.
The rational function that gives \(B_L T\) in terms of \(w\) has a maximum value of 0.22137 when \(0 < w < 1\). This gives the maximum loop bandwidth that can be realized with this loop. Compare with the phase/phase-rate feedback case, which supports a maximum loop bandwidth of \(B_L T = 3/2\).
The following post compares the loop coefficients \(K_1\), \(K_2\) that are obtained for different choices of \(B_L T\) for the phase/phase-rate feedback case (for which explicit formulas were obtained in the older post) and for the rate-only feedback case. We see that both cases give very similar coefficients when the loop bandwidth is small. This makes intuitive sense, because the update delay of the rate-only feedback case has a smaller effect when the loop bandwidth is smaller.

The next figure shows the relative difference between the coefficients of the two cases.

This figure suggest that since the rate-only feedback case does not have an explicit formula for the loop coefficients, we can design the coefficients for the phase/phase-rate case and simply apply them to the rate-only case. However, there is a better way, since the issue with this approach is that we break all the loop properties, including the supercritical damping.
The challenge in the rate-only feedback case is that we get an equation of degree 6 for \(B_L T\) in terms of \(w\). A key idea is that in most applications we do not need to solve this equation exactly. We can obtain an approximation for \(w\), which has the effect of making a small error in the loop bandwidth. Then we can still compute \(K_1\) and \(K_2\) in terms of \(w\), obtaining a loop that has supercritical damping, with the only caveat that the loop bandwidth is slightly different from the design target.
To this end, we can compute the Padé approximant of degree 2 of the rational function for \(B_L T\) in terms of \(w\) at \(w = 1\), obtaining\[B_L T \approx -\frac{25(47 w^2 – 60 w + 13)}{16 (131 w^2 – 102 w + 56)}.\]This approximation tends to the exact value as \(B_L T \to 0\). Since this gives an equation of degree 2 for \(w\), we can solve it explicitly, obtaining\[w \approx \frac{816 B_L T + \sqrt{-1212160 (B_L T)^2 – 510000 B_L T + 180625} + 750}{2096 B_L T + 1175}.\]Replacing this approximation for \(w\) in the formulas above for \(K_1\) and \(K_2\), we obtain explicit formulas for the loop coefficients that give supercritical damping exactly and a loop bandwidth that is approximately \(B_L T\).
The following figure shows the relative error in \(B_L T\) that we get by using this approximation. We can see that it is quite small. In most applications an error of 1% or less in the loop bandwidth makes absolutely no practical difference.

The next plot shows the relative difference between the loop coefficients \(K_1\) and \(K_2\) obtained with this Padé approximation method and the exact loop coefficients.

It is also possible to use a Padé approximant of degree 3, in which case we obtain a cubic equation that can also be solved explicitly. However, the expressions that are obtained are very complicated, so this is not worth the effort.
Table VII in the paper contains loop coefficients for the rate-only feedback case with supercritical damping for some choices of \(B_L T\). In the plot below we show the relative error between the coefficients in this table and coefficients calculated by solving exactly the value of \(w\) in terms of \(B_L T\) by using numerical root finding. We see that there is a bias in the coefficients in the paper that grows as \(B_L T \to 0\). The reason for this is unknown. Perhaps there was a small error in the numerical method used to obtain the results in the paper. Something I noticed is that the paper shows slightly different \(K_1\) values for \(N = 1\) in the phase/phase-rate and rate-only feedback cases, while \(K_1\) should be exactly the same in both cases, since the formula for \(B_L T\) in terms of \(K_1\) is the same.

The calculations done for this post are in this Jupyter notebook.
- An update about Tianwen-2 telemetry
Yesterday I posted about my decoding of some recordings of the X-band telemetry of Tianwen-2 done by the Dwingeloo radio telescope. Today I have some small updates.
First of all, I have figured out the format of the AOS insert zone. In the previous post I mentioned that the AOS insert zone contains 8 bytes that are mostly static, except for one byte that seems to be a frame counter. I suspected that the AOS insert zone would contain timestamps, which was the case with Tianwen-1, but this didn’t seem to be the case with Tianwen-2. However, today I have found that the 8-byte insert zone contains a 6-byte timestamp in little endian format that counts the number of \(2^{-16}\) second ticks since the epoch, which is 2019-12-31 16:00:00 UTC (or 2020-01-01 00:00:00 Beijing time). The remaining two bytes have the constant value
0x300b. I don’t know what these two bytes are, since they don’t seem to be a CCSDS time code P-field.There were two things about this timestamp field that were confusing me: the fact that it is little-endian, since CCSDS and the telemetry data in the Space Packet payloads is always big-endian, and the fact that these AOS frames take exactly one second to transmit. This means that the change in the timestamp in each frame is just an increment in the byte corresponding to seconds, which carries over to the next bytes on overflows, plus a very slow drift in the least significant byte caused by the relative drift of the symbol rate clock and the spacecraft clock. Only now that I’ve seen how this field evolves during longer periods of time, I have been able to figure its format.
Using an epoch in Beijing time instead of UTC is common in Chinese spacecraft. For instance, Tianwen-1 uses 2016-01-01 00:00:00 Beijing time as its epoch.
The second update is that AMSAT-DL has been tracking Tianwen-2 with their 20 m dish in Bochum and decoding the telemetry signal in real time with SatDump. They have shared the decoded AOS frames with me, and I have run them through my Jupyter notebook. They have collected a good amount of data: a few hours on May 26 and a full track of about 10 hours on May 27. This data is what has given me the clues to figure out how the timestamps work. The following plot shows the APIDs received over time. This indicates that there are no APIDs that are only active occasionally.

Even though now we have a much longer time span of data, the qualitative behaviour of the telemetry is still the same as I mentioned in the last post. The Jupyter notebook where I analyse the frames received by Bochum is here.
- Decoding Tianwen-2
Tianwen-2 is a Chinese mission that will return samples from the Earth quasi-satellite asteroid 469219 Kamoʻoalewa and rendezvous with the 311P/PanSTARRS comet. It was launched on 28 May 2025 from the Xichang Satellite Launch Center. It is planned to perform its orbital insertion at Kamoʻoalewa on 7 June 2026, and study the asteroid until 24 April 2027. Since ephemerides for this mission are not publicly available, it has been difficult for amateur observers to track it so far, but now it is close enough to Kamoʻoalewa to find it by pointing around the asteroid.
On Monday, CAMRAS used the 25 meter Dwingeloo radio telescope to receive and record the X-band telemetry signal from Tianwen-2, publishing the SigMF recordings in their data archive. They reported that the spacecraft was 1.1 degrees away from the asteroid. In this post I will decode and analyse the telemetry using these recordings.
Tianwen-2 transmits X-band telemetry at 8428.19 MHz. The modulation is the same as Tianwen-1: PCM/PSK/PM with 16384 baud telemetry on a 65536 Hz subcarrier. The coding is slightly different from Tianwen-1. Whereas Tianwen-1 uses concatenated coding with an unusual frame size of 220 bytes instead of 223 bytes in order to have a frame duration of exactly 0.25 seconds, Tianwen-2 uses concatenated coding with a frame size of 892 bytes (four full interleaved Reed-Solomon codewords), which gives a frame duration of exactly 1 second.
This is a very minor but nice improvement. I understand the beauty of having a frame length that is a power of two, since the baudrates used by these spacecraft are also powers of two. However, the configuration used by Tianwen-1 is somewhat awkward because it has to omit 3 bytes from the Reed-Solomon codeword to obtain a 256-byte frame when including the 32-bit ASM. On the other hand, Tianwen-2 solves this in a cleaner way by using four interleaved codewords, which also increases the coding gain slightly.
I have used the following GNU Radio flowgraph to decode each of the Dwingeloo recordings.

GNU Radio decoder flowgraph for Tianwen-2 The following screenshot shows the GUI of this flowgraph while running on one of the Dwingeloo recordings. The SNR of these recordings is very high, so there are no bit errors.

GUI of GNU Radio decoder The telemetry frames are CCSDS AOS frames. There is no operational control field or frame error control field. The spacecraft ID is
0xed, which is assigned to Tianwen-2 in the SANA registry. Only virtual channel 1 is in use.The following shows a raster map of all the AOS frames decoded from the recordings done at Dwingeloo on 25 and 26 May.

There is an 8-byte transfer frame insert zone, but I don’t know what its contents mean. Most of the bytes in the insert zone are static, others change occasionally, and one of the bytes seems to be a frame counter. It is definitely not a timestamp, which is what Tianwen-1 carries in its insert zone.
The following shows a detail of the first 32 bytes of each frame. The first 6 bytes are the AOS header. Bytes 6 to 13 are the insert zone.

Virtual channel 1 carries CCSDS Space Packets using M_PDU. There are a couple dozen different APIDs in use, and each APID carries packets of a fixed length. The Space Packets do not carry a secondary header. A secondary header is commonly used to carry the packet timestamp, but in this case I haven’t found any timestamps in the telemetry. Therefore, I am using the virtual channel frame count as a coarse timestamp.
The following figure shows that the same APIDs are active all the time.

Here is a raster map of the payloads of the Space Packets in one of the busiest APIDs. The Jupyter notebook contains a plot like this for each APID.

I haven’t found much of interest in the telemetry. Actually, it seems that there isn’t that much. The Space Packet sizes are around 100 to 200 bytes, and most values are quite static. In the Tianwen-1 telemetry I was able to find state vectors and ADCS data, but here I cannot see anything like that.
I have plotted a few telemetry channels for which I’m reasonably confident about their data format. Here I show a couple of the most interesting ones. The Jupyter notebook contains the rest. These plots contain the concatenation of the data from all the recordings, so the discontinuities are just due to time discontinuities.
First, here are four channels that show some kind of oscillatory behaviour.

Next, here is one channel that clearly shows periodic exponential decays. This might be the temperature of a component that is kept within a certain range by a heater activated by a bang-bang controller.

Finally, here are four channels that have float32 values. The values are constant except for a small amount of noise. I don’t know what these are. I don’t think they are quaternions, since they don’t have unit norm.

Perhaps some of the spacecraft’s systems are still on sleep mode. It will be interesting to see if more telemetry shows up when the orbit injection begins.
The code and data used in this post is in this Github repository. This contains the GNU Radio decoder flowgraph, the Jupyter notebook with the telemetry analysis, and the files with decoded frames.
10ghz artemis1 astronomy astrophotography ATA ccsds ce5 contests digital modes doppler dslwp dsp eshail2 fec freedv frequency gmat gnss gnuradio gomx hermeslite hf jt kits lilacsat limesdr linrad lte microwaves mods moonbounce noise ofdm orbital dynamics outernet polarization radar radioastronomy radiosonde rust satellites sdr signal generators tianwen vhf & uhf