LAB/013 · Running · Self-directed, not client work

Satellite Manoeuvre Detection

Detecting when satellites change orbit, using only public orbital data. Tested on satellites that cannot manoeuvre, with orbit changes of known size injected into their real data.

The question
Can we tell, from public orbital data alone, when a satellite changed its orbit, how fast, and how often we would be wrong?
What it showed
Orbit changes of 100 m or more were detected 98–100% of the time, about a day after they happened; 25 m changes 83%. False alarms: 0.83 per satellite-year in the calibration year, 1.72 the following period.
What it means for you
Space situational awareness does not need classified inputs to be useful, but every detector needs a measured false-alarm rate, and it drifts: recalibrate it, as with any monitoring system.

Want this measured on your own data? AI feasibility diagnostic, €1,900 · about one week.

Satellites change their orbits to keep their ground track, avoid debris, or raise an orbit that drag has lowered. Knowing when a satellite has manoeuvred matters for collision screening and for understanding what is happening in orbit. This Lab measures how well that can be detected from public orbital element sets alone, and, more importantly, how often such a detector would be wrong.

The data

Space-Track publishes element sets (the orbit description behind “TLEs”) for catalogued objects. This Lab uses about 77,000 of them (after removing duplicates), from January 2024 to October 2026, for 24 civil objects: the ISS, Sentinel and Landsat Earth-observation satellites, Swarm, GRACE-FO, CryoSat-2, Jason-3, Sentinel-6A, and six satellites that cannot manoeuvre: the passive laser-ranging spheres Starlette, Stella, Ajisai, LAGEOS-1 and LAGEOS-2, and Hubble.

The method, and how it was kept honest

A manoeuvre shows up as a lasting step in the orbit’s size (the semi-major axis) that the slow pull of drag does not explain. The detector compares each new element set with a robust trend line through the previous eight, and raises an alarm when the next three agree on a step larger than k times that satellite’s normal scatter.

  • Truth without operator logs: the six passive satellites provide known negatives. Copies of their real data with one injected orbit change each (25 m to 2 km, at random times) provide known positives.
  • Calibration in time order: k was set on 2024 data to allow at most one false alarm per satellite-year; everything reported below is from January 2025 onward.
  • Realistic timing: an alarm is counted at the moment the last element set the test needs becomes available, not earlier.
  • One bug found and fixed along the way: Space-Track’s published semi-major axis is rounded to the metre, which made quiet satellites look noiseless. The orbit size is computed from the mean motion instead, which has far more precision.

Results

Injected orbit changes detectedScale 0–100% · by size of the change
  1. 25 m83.3%
  2. 50 m90.0%
  3. 100 m98.3%
  4. 200 m100.0%
  5. 500 m98.3%
  6. 1,000 m100.0%
  7. 2,000 m100.0%
Injected orbit changes on six satellites that cannot manoeuvre (Starlette, Stella, Ajisai, LAGEOS-1/2, Hubble), 2025–2026.
DetectedInjectionsMedian time to alarm (h)
25 m change in orbit size83.3%6015
50 m change in orbit size90.0%6015
100 m change in orbit size98.3%6022
200 m change in orbit size100.0%6019
500 m change in orbit size98.3%6015
1,000 m change in orbit size100.0%6016
2,000 m change in orbit size100.0%6024
False alarms on the same satellites' real data: 0.83 per satellite-year in 2024 (calibration), 1.72 in 2025–26 · LAB/013 · measured 2026-10-08 · not used

Changes of 100 metres or more were found 98–100% of the time, typically within a day, which is how long it takes for enough new element sets to confirm a step. Changes of 25 metres, close to the noise of the data, were found 83% of the time. The false-alarm rate roughly doubled from the calibration year to the evaluation period, a reminder that a threshold set once will not stay right.

On active satellites

The same detector on active civil satellites, 2025–2026. These are detections, not confirmed manoeuvres: no operator logs were used.
Detections per yearMedian step (m)Noise (m)
Sentinel 2B65.4101.0
Sentinel 2A56.8101.0
Sentinel 1A35.0172.4
Sentinel 3A21.2251.0
Sentinel 3B20.6251.7
Landsat 820.1701.9
Cryosat 218.3391.5
Landsat 917.8772.6
ISS17.21,82221.8
Jason 39.7181.0
Aqua5.7213.0
Grace-Fo 25.2575.8
Swarm A4.67110.8
Grace-Fo 14.6535.9
Swarm C4.06410.1
Sentinel-6A3.491.0
Swarm B2.9376.5
Terra2.3151.8
Steps close to the noise floor (a few metres) are the least certain detections · LAB/013 · measured 2026-10-08 · not used

These counts are detections, not confirmed manoeuvres. The ISS stands out with large steps (a median of about 1.8 km), consistent with reboosts. The Sentinel-2 satellites show many small steps of about 10 metres, close to the noise floor. Some of these will be routine orbit maintenance and some will be noise; without the operators’ manoeuvre logs, the Lab does not claim to know which.

Method and environment
data
Space-Track GP history (public element sets), 77,041 element sets for 24 civil and passive objects, 2024-01 to 2026-10
signal
semi-major axis from mean motion; step = median offset of the next 3 element sets from a robust line through the previous 8
threshold
k = 5.0 × each object's own noise (robust scatter, 1 m floor), chosen on 2024 data of six passive satellites for ≤ 1 false alarm per object-year
evaluation
2025-01 to 2026-10: the passive satellites' real series (false alarms) and copies with one injected step each (25 m to 2 km, 10 per size per object, random time and sign)
timing
alarm time = arrival of the last element set the test needed (what an operator would see)
environment
cpu: i5-13400F · gpu: not used
measured
2026-10-08

Limits

Element sets are a coarse, smoothed product; dedicated tracking data would detect smaller and faster changes. Only changes in orbit size are tested, not changes of plane. The injected steps are idealised. False alarms are measured on six passive objects, not on every orbit regime. The code is in labs/orbit-manoeuvres in this site’s repository; the raw Space-Track data is not republished.

Public data only; civil and passive objects only. This Lab covers detection and analysis for space situational awareness.

New Lab results by email

A short email when a new measurement is published, a few times a year. No newsletter fluff, reply to unsubscribe.