Как создать файл TLE?

После этого ответа :

Каким образом создается файл TLE для спутника? Как быть с термином сопротивления BSTAR, средними элементами орбиты и т. д.?

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

найдите книгу «ВЫЧИСЛЕНИЕ ЭЛЕМЕНТОВ СРЕДНЕЙ ОРБИТЫ NORAD ИЗ ВЕКТОРА СОСТОЯНИЯ», это может помочь написать код для преобразования вектора состояния в TLE, в книге есть код на фортране. Я занимаюсь той же проблемой прямо сейчас.

Ответы (3)

Не делайте ПОДДЕЛКИ!


Шаг 1: Прочитайте этот ответ .

Шаг 2: Просмотрите все ссылки в ответе. Я повторю их здесь:

Шаг 3: Решите, что это Плохая идея по следующим причинам:

  • Создание поддельных TLE опасно !! Позже вы (или другие) можете спутать их с официально выпущенными TLE. Это может «отравить колоду». Колода может быть вашей или чьей-то еще. Что такое "колода"? См. следующие два пункта.
  • Экосистема TLE + SGP4 создавалась в исторический период, когда вычислительная мощность была весьма ограничена, поэтому нет смысла начинать новую работу в 2018 году, исходя из этих приближений.

введите описание изображения здесь введите описание изображения здесь

  • Экосистема TLE + SGP4 создавалась в исторический период, когда распространение данных было довольно ограниченным, нет смысла начинать новую работу в 2018 году на основе параметров, которые могут уместиться на двух картах с использованием метода, разработанного Германом Холлеритом .

введите описание изображения здесь введите описание изображения здесь

  • Экосистема TLE + SGP4 использует несколько приближений, которые просто не нужно делать. Нет ничего более сложного в том, чтобы сделать работу лучше , чем понимание процесса, используемого для определения параметров в TLE, которые дают наилучшие результаты при интерпретации через SGP4. Это закрытая система, и лучше оставить ее нетронутой и немодифицированной и использовать ее как есть. Этот процесс:
  1. Получите TLE из официального источника.

  2. Распространяйте эти TLE, используя широко распространенный программный пакет для SGP4 или аналогичный распространитель.

Спасибо. Что я пытаюсь сделать, так это применить маневры. Итак, мне нужно либо сгенерировать новый TLE, либо использовать другой распространитель. Пожалуйста, смотрите space.stackexchange.com/a/26005/19219
Я думаю, вы используете SGP4 в своем проекте, потому что хотите избежать изучения того, как распространять орбиты. Это привело к предыдущему вопросу, и ответ там (который бесполезен) привел к этому вопросу. Это оба примера того, что называется проблемой XY . Короче говоря, вы спрашиваете: «Как решить эту проблему неправильным путем?» Ваш фактический вопрос: «Как я могу распространять орбиты спутников Земли?» и на этот вопрос для ответа требуется учебник, а не ответ SE.
В принципе, нет ничего плохого в том, чтобы разбить его на мелкие кусочки и спрашивать по одному. Вы можете получить больше откликов, если покажете, что вы пробовали, в качестве примеров усилий. Это, вероятно, было бы более эффективным, чем небольшие вознаграждения, которые чрезвычайно дороги для вас, но не очень ценны для многих пользователей.
Хорошо, я бы предположил, что SGP4 только для отслеживания на основе TLE NORAD. Для распространения и маневров я бы разработал численный метод. Принятие вашего ответа.
В следующем вопросе я рассматриваю конкретное распространение по орбите. Я недавно отредактировал его, чтобы он соответствовал правилам SE. Возможно, вам будет интересно. space.stackexchange.com/q/25964/19219
Я думаю, что это еще один пример той же проблемы XY . Если вы хотите распространять орбиту в течение очень долгого времени, в этом примере шесть месяцев, вам не следует возиться с кеплеровской орбитой и возмущениями. Вы снова спрашиваете: "Как решить эту проблему неправильным путем?" Это только мое мнение.
В этом вопросе есть предположение, что орбита осталась. То есть элементы орбиты не меняются (кроме эффекта прецессии). Если в моем предположении есть ошибка, пожалуйста, покажите ее в ответе, где мы и другие могли бы обсудить
Хотя этот ответ заслуживает внимания, и я согласен, что у нас здесь, вероятно, проблема XY, в прошлом мне самому приходилось генерировать TLE для смоделированных орбит. И в сообщении TLE достаточно места для оставления предупреждений, таких как номер спутника 00000, классификация F для подделки, год международного обозначения = 49 (до спутника), неправильные контрольные суммы и т. д. Так что я не вижу здесь большой опасности.
@Mefitico, почему нам рекомендуют пристегиваться ремнями безопасности в автомобилях и стеклах? эти люди не видят большой опасности в том, чтобы оставить их ;-) Идея состоит в том, что вы настоятельно советуете людям не делать того, что может быть опасно, чтобы уменьшить риск того, что произойдет что-то плохое. Это своего рода предупреждение «не пытайтесь повторить это дома». Я сам делал их время от времени, но тсссс... пожалуйста, никому не говорите Как правильно сделать поддельный, встречный TLE? (2 голоса против) i.stack.imgur.com/KUl2V.png
В этом ответе игнорируется очень важный вариант использования: когда ваш спутник запускается, провайдер запуска дает вам векторы состояния, чтобы вы могли осуществлять раннее отслеживание и связь со своим спутником до того, как NORAD выпустит официальные идентификаторы. Единственный ввод, который принимает gpredict, — это TLE, поэтому вам остается вручную создать поддельный TLE в последнюю минуту, который вы можете использовать для раннего контакта. В обеих миссиях, в которых я участвовал, это вызвало много головной боли у многих сторон. Было бы очень полезно иметь библиотеку с открытым исходным кодом, которая создавала бы явно поддельные TLE, как предложил @Mefitico.
@PatrickWalton Я понимаю, что ты имеешь в виду. Мой ответ в основном таков: «Вы не должны хотеть знать ответ на свой вопрос», на что я часто жалуюсь, когда это происходит по моим собственным вопросам. Одним из долгосрочных решений является добавление распространителя вектора состояния в gpredict, другим является использование GMAT, который включает в себя очень мощный, и хотя я не думаю, что он будет управлять ротором антенны в реальном времени, он, вероятно, может создать таблицу alt/az/time для географического положения.
Одно примечание, @Mefitico, неправильные контрольные суммы приводят к тому, что gpredict не может импортировать TLE без объяснения причин.
@uhoh Спасибо, что указали на ваш вопрос. Я просто опубликовал ответ, основанный на моем опыте.

На самом деле, ваш вопрос очень важен. Я не соглашусь с моими коллегами, которые не одобряют создание пользовательских TLE. Для этого есть множество причин, в основном связанных с тем фактом, что большинство систем слежения (либо для антенны, либо для телескопа) принимают TLE в качестве входных данных, поэтому, если у вас есть точные эфемериды для какого-либо объекта, который вы хотите отслеживать, вам нужно сгенерировать TLE. из этих эфемерид для питания вашего оборудования. Я сделал это для двух LEOP спутников GEO, и мне нужно сделать это снова, чтобы дать команду телескопу следовать за LEO. Итак, вообще говоря, есть два способа создания синтетических TLE:

  1. Прямой метод: начинается с кеплеровских элементов в любом кадре (EME2000 должен работать хорошо). Вам также понадобится соответствующий вектор состояния X0 в том же кадре. Затем, если T (x) — это функция для преобразования вектора состояния из кадра TEME в любой кадр, с которого вы начали (скажем, EME2000), вы можете построить уравнение T (SGP4 (M)) = X0, где M — ваш желаемый набор элементов TLE. Это уравнение можно решать итеративно, начиная с M0, которое вы можете легко построить из кеплеровских элементов, с которых вы начали. Конечно, эти элементы нельзя считать такими же, как элементы TLE, но они должны быть достаточно близки, чтобы добиться сходимости за несколько итераций.
  2. Выборка траектории: этот метод использует BLS для нахождения набора средних элементов, который минимизирует невязки, вычисленные по орбите с распространением с помощью SGP4, и точные эфемериды, которые вы должны иметь для своего спутника (преобразование кадра TEME выходных данных SGP4 в любой кадр, который использует ваша начальная эфемерида). ). Вы можете найти пример кода в CelesTrak (SGP4DC), но у меня он не сработал.

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

Что именно вы подразумеваете под «генерировать»?

TLE в основном используются NORAD, вы можете найти спецификацию на их веб-сайте , в которой рассказывается, что именно означает любой конкретный символ TLE. Это будет полезно, если вы хотите создать свой собственный.

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

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

Однако я не уверен, что существует библиотека Python для создания TLE из орбитальных данных, вам придется просто сделать это самостоятельно, используя спецификацию.

Спасибо за ответ. Я уже реализовал sgp4, который считывает данные из службы NORAD. Я спросил, как генерировать символы TLE, такие как термин перетаскивания BSTAR, средние элементы орбиты и т. Д.?
Есть несколько причин , по которым таких библиотек нет!
Совершенно веская причина, чтобы быть готовым это сделать (и просить об этом в SE), состоит в том, чтобы учиться. Я не думаю, что есть какой-то вред в обмене такого рода знаниями или в написании библиотек с открытым исходным кодом. Даже если это просто для удовольствия...