Я анализировал спутник LEO с полярной орбитой в рабочих целях. Я относительно новичок в области спутниковых орбит. Я знаю, что TLE может предоставить информацию о текущих и будущих орбитах в зависимости от времени эпохи.
У меня есть симуляция MATLAB, которая использует TLE и дает мне траекторию спутника в течение определенного периода времени. Спутник, за которым я наблюдаю, имеет период обращения 106 минут. Но я только сейчас понял, что, поскольку Земля тоже вращается, каждый раз, когда НОО завершает оборот, он оказывается в другом месте. Итак, я хочу знать, через сколько времени и через сколько периодов орбиты спутник LEO возвращается в то же самое место и повторяет траекторию.
Если, однако, это не так на реальных орбитах спутников из-за различных сил, действующих на него, то в гипотетическом случае сферической модели Земли и предположении, что на спутник не действуют никакие силы, включая атмосферное сопротивление и гравитацию Солнца, луна и планеты, через сколько времени наземный трек повторяется?
Я могу запустить симуляцию в течение длительного времени и методом проб и ошибок определить, через сколько часов/дней/месяцев/лет он вернется в одно и то же место и повторит свою траекторию, но это займет много времени и неэффективно. Могут ли TLE или любые другие спутниковые данные дать мне эту информацию?
Интересный вопрос!
Предположим, что космический корабль вращается вокруг планеты без атмосферы, с идеальным сферически-симметричным распределением массы, так что гравитационное поле может быть выражено как точка в начале координат с использованием теоремы Ньютона о Шелле , и нет никаких других сил или тел в вселенная.
Повторение наземного следа произойдет только тогда, когда отношение периодов вращения планеты и космического корабля будет рациональным числом , т.е. отношением двух целых чисел.
Тогда период повторяющейся наземной траектории будет короче двух периодов, умноженных на большее из двух целых чисел, или наоборот. Простой способ подумать об этом — просто представить момент, когда спутник пересекает экватор или проходит x = 0 (при условии, что z — это ось вращения планеты). Вы должны быть немного осторожны со своим воображением, если это чисто полярная орбита, но та же самая математика работает.
Например, скажем, планета вращается каждые 1440 минут, а спутник обращается вокруг нее в пространстве с периодом 115,2 минуты.
Найдите целые числа такой, что
Решение было бы , и поэтому период будет два дня, или или минут.
Если нет точного решения для двух целых чисел, то нет и точного повторения наземной траектории!
Гравитационное поле Земли неоднородно, поэтому в природе не существует круговых или чисто кеплеровских эллиптических орбит. На НОО присутствуют гравитационные эффекты Луны и Солнца и эффекты сопротивления атмосферы.
Так что « никогда » — это короткий ответ.
Вот GIF-анимация, которую я когда-то сделал из гипотетического наземного следа спутника, похожего на МКС, например. Я использовал математику из подраздела «Технические детали» статьи Википедии Sun-synchronous_orbit , включая прецессию узлов из-за сжатия Земли. Это простой расчет и не включает много эффектов
Я рассчитал на 15 00 000 секунд (около 17 дней).
Хотя есть определенные высоты, которые создают кажущееся повторяющееся движение земли в течение короткого времени, это всего лишь иллюзия.
См. также этот ответ на вопрос Сколько времени требуется МКС, чтобы облететь все возможные точки мира за один раз? чтобы больше думать.
ниже: GIF в низком разрешении фрагмента простой анимации, которую я когда-то сделал для наземного следа в течение ~ 17 дней по круговой орбите на разной высоте, включая прецессию узлов из-за J2.
Ради интереса, вот как это сделать на Python. Skyfield представил .subpoint()
метод в версии 1.3 (сейчас он в версии 1.4), так что получить наземный трек спутников очень просто!
Вот наземный трек МКС за первые семь дней июня 2018 года:
import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Loader, Topos, EarthSatellite
# https://www.celestrak.com/NORAD/elements/stations.txt
TLE = """1 25544U 98067A 18157.92534723 .00001336 00000-0 27412-4 0 9990
2 25544 51.6425 69.8674 0003675 158.7495 276.7873 15.54142131116921"""
L1, L2 = TLE.splitlines()
load = Loader('~/Documents/fishing/SkyData') # avoids multiple copies of large files
ts = load.timescale()
data = load('de421.bsp')
earth = data['earth']
ts = load.timescale()
minutes = np.arange(60. * 24 * 7) # seven days
time = ts.utc(2018, 6, 1, 0, minutes) # start June 1, 2018
ISS = EarthSatellite(L1, L2)
subpoint = ISS.at(time).subpoint()
lon = subpoint.longitude.degrees
lat = subpoint.latitude.degrees
breaks = np.where(np.abs(lon[1:]-lon[:-1]) > 30) #don't plot wrap-around
lon, lat = lon[:-1], lat[:-1]
lon[breaks] = np.nan
plt.figure()
plt.plot(lon, lat)
plt.show()
Харо Бангдо
ооо
Харо Бангдо
ооо
Эрин Энн