Получить даты, когда спутник выполнил маневр из исторических данных TLE (питон)?

Недавно я познакомился с орбитальной механикой и пытаюсь провести некоторый анализ по этому вопросу. Поскольку у меня нет специальных знаний в этой области, я нахожусь на распутье, пытаясь решить, как можно определить, выполнил ли спутник операцию маневра/сближения, учитывая исторические данные TLE этого спутника, из которых мы можем извлечь элементы орбиты.

По сути, в качестве входных данных у меня есть исторические данные TLE для спутника с момента запуска. Я могу извлечь и/или вычислить любые орбитальные параметры, если это необходимо. В качестве вывода я хочу, чтобы он выдавал даты, когда спутник совершал маневры. Я подошел к этой проблеме следующим образом: я беру подмножество параметров, извлеченных из данных TLE (в виде данных временного ряда), и вычисляю долгосрочные стандартизированные аномалии для каждого из этих параметров. А затем отфильтруйте даты, когда любой из этих параметров имел значения больше 1,5 или меньше -1,5.

Но есть две проблемы, с которыми я сталкиваюсь: во-первых, я не слишком уверен в подмножестве параметров, которое я выбрал. А во-вторых, я не уверен, что это правильный подход к этой проблеме. Есть ли какой-нибудь изощренный способ, который люди используют для решения моей проблемы?

Что меня интересует, так это узнать дни, когда спутник совершал маневры.

Ответы (1)

Для распространения Python и TLE с использованием SGP4 очень удобен вариант https://rhodesmill.org/skyfield/ .

Как вы, наверное, уже знаете, TLE — странное животное. На самом деле он не содержит надлежащих орбитальных элементов, а вместо этого спроектирован с одной целью; для подачи в SGP4 , чтобы он генерировал достоверную информацию о местоположении, по крайней мере, в течение нескольких дней вокруг эпохи TLE. См. Ответ @Tristan на вопрос «Обязательно ли распространение SGP4 более точное вблизи эпохи, выбранной для генерации TLE?» и ответы на Как получить UTC времени эпохи в спутниковом TLE (двухстрочный элемент)? и Как работает SGP4? подробнее об этом.

SGP4 включает приближения для нескольких эффектов за пределами кеплеровских орбит, включая скромную модель «кусковой гравитации» для Земли, непрерывное атмосферное сопротивление и гравитационные возмущения от Солнца и Луны. Для получения дополнительной информации об этом последнем см. Ответы на SGP 4 для геостационарного спутника и Как поправки «Глубокий космос» в SGP4 учитывают гравитацию Солнца и Луны? и SGP4 по набору системных инструментов (STK); как проверить, реализована ли коррекция глубокого пространства SDP4? а может отличия между SGP8 и стандартным SGP4? Применяется ли он на практике?

Исходя из этого, я хотел бы убедить вас в том, что к прямой интерпретации числовых значений в TLE следует относиться с некоторой долей скептицизма. Большие, внезапные изменения средней аномалии (особенно на более высоких орбитах) или наклонения от одного TLE к другому действительно могут указывать на тяговый маневр, но меньшие изменения могут указывать на изменение температуры и плотности атмосферы на НОО из-за солнечной активности или даже смесь зашумленных индивидуальных измерений положения и скорости от спутникового слежения (радар, визуальный/телескоп).

Поэтому я думаю, что будет очень сложно с уверенностью отметить маневр движения и отличить его от повседневного шума в TLE, если только он не велик или если одна группа TLE не согласуется со следующей группой TLE.

С этой целью вы можете использовать SGP4 для каждого TLE, чтобы предсказать положение и скорость в даты и время эпохи нескольких TLE до и после него, скажем, в течение нескольких дней или недельного интервала вокруг данной эпохи TLE. Если вы видите явное несоответствие между несколькими TLE, это может потребовать дальнейшего изучения.

Для получения дополнительной информации, прежде чем начать, см.

Спасибо за привет! Я мог бы добавить: есть несколько вещей, которые вы можете наблюдать — если вы нарисуете прогрессивные TLE и посмотрите на ступенчатые изменения выше нормального изменения. Прежде всего: не беспокойтесь о средней аномалии в эпоху. Это функция времени, вокруг которого базируется TLE. Если эксцентриситет очень мал, я бы также не стал заморачиваться с аргументом перигея, так как он будет сильно колебаться при возмущениях. Ищите изменения в наклоне, RAAN (для ненулевого наклона), эксцентриситете и среднем движении. Обратите внимание, что в большинстве из них будут естественные вариации, поэтому следите за пошаговыми изменениями.
Чтобы добавить небольшое уточнение: RAAN относится к наклону так же, как аргумент перигея к эксцентриситету. Когда наклон и эксцентриситет малы, RAAN и аргумент перигея соответственно становятся очень нестабильными и будут сильно колебаться при очень небольших изменениях вектора состояния.
Спасибо за подробный ответ. Очень ценю это! @Tristan Но у меня до сих пор нет четкого представления о некоторых аспектах ответа. По сути, моя конечная цель — автоматизировать этот процесс. Учитывая любой представляющий интерес спутник и все его исторические TLE, я хочу знать даты, когда он выполнял маневр. Теперь запрашиваемый спутник может находиться на любой орбите с любым эксцентриситетом или наклонением. Существует ли стандартизированный автоматизированный способ динамического вычисления этих аномалий в Python?
Спасибо за подробный ответ. Очень ценю это! @uhoh Для меня, безусловно, не лучший вариант наблюдать за графиком и вручную искать ступенчатые изменения выше обычного изменения, поскольку это должна быть динамическая функция для моего проекта. Было бы полезно, если бы я мог знать определенное подмножество орбитальных параметров, которые я могу контролировать, что почти гарантирует изменение орбиты (или, как я это называю, «маневр»). Я знаю, что это очень расплывчатая и обобщенная постановка проблемы, но мне не помешал бы некоторый опыт в данной области.
@aaashayshah Итак, вы получили информацию о том, какие ценности смотреть. Сейчас вы ищете, как программно определить, учитывая изменяющийся во времени ряд значений, как определить местоположение аномальной вариации. Сейчас уже за полночь, поэтому вместо того, чтобы печатать ответ, я дам вам подсказку -> В этот момент это уже не вопрос об исследовании космоса, а просто вопрос программирования: как написать программу, которая найдет шишку на другом месте? гладкий график временного ряда, учитывая табличные данные?
Связано с @Tristan: так выглядят маневры удержания станции или просто сбои в данных? (SOHO через Horizons) (см. 2-е и 3-е отличия) и Обнаружение двигательных маневров в таблице векторов состояния (в настоящее время без ответа) и в некоторой степени связанные: Распутывание «клубка пряжи» Кассини вокруг Сатурна, табулирование движущих маневров? Я думаю, было бы неплохо закончить это здесь, в SE; ОП ищет особый вид удара ...