Телескопы покупают здесь


A A A A Автор Тема: Местоположение спутника  (Прочитано 42328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Местоположение спутника
« Ответ #240 : 21 Ноя 2015 [02:10:55] »
смещение перицентра - у каждой орбиты своё?
к сообщениям изображения добавляются?
Спросите у гугла про вековые возмущения орбитальных элементов.
При нажатии на кнопку "Ответ" появится полноценная форма ответа, где можно прикрепить изображение.
Помогите разобраться с параметром t. В ответе#185 прилагается алгоритм расчета координат НКА для GPS. Если я правильно понял, t - это время на часах потребителя. Не понимаю, как получилось такое число. Выручите, пожалуйста, пояснением.
t - это разность в секундах между моментом, на который вычисляются эфемериды, и моментом, на который даны начальные данные.

Вот интересно, почему в этой теме происходит оживление чаще всего в конце ноября? В каком заведении зачет по Глонассам-GPSам в это в время?

Оффлайн lex_510

  • Новичок
  • *
  • Сообщений: 4
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от lex_510
Re: Местоположение спутника
« Ответ #241 : 21 Ноя 2015 [11:21:45] »
Вот интересно, почему в этой теме происходит оживление чаще всего в конце ноября? В каком заведении зачет по Глонассам-GPSам в это в время?
На счет зачетов не знаю, но  я "оживился" из-за того, что диплом пишу.
В этом файле t дано изначально. Как можно самостоятельно определить его? Для меня это принципиальный вопрос, т.к. пишу программу постобработки геодезических измерений. Все остальные данные для определения позиции спутника возьмем из файла навигационного сообщения.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Местоположение спутника
« Ответ #242 : 21 Ноя 2015 [13:13:03] »
А в чем проблема? К орбитальным данным всегда прилагается эпоха - момент времени, на который эти данные известны. Момент расчета эфемерид задается юзером, исходя из задачи. Разность в секундах посчитать несложно. В приведенном изображении разность времен - это tk, оно вычисляется.
Если у вас исходные данные без эпохи, то это бесполезный хлам.

Оффлайн lex_510

  • Новичок
  • *
  • Сообщений: 4
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от lex_510
Re: Местоположение спутника
« Ответ #243 : 21 Ноя 2015 [13:47:50] »
А в чем проблема? К орбитальным данным всегда прилагается эпоха - момент времени, на который эти данные известны. Момент расчета эфемерид задается юзером, исходя из задачи. Разность в секундах посчитать несложно. В приведенном изображении разность времен - это tk, оно вычисляется.
Если у вас исходные данные без эпохи, то это бесполезный хлам.
Вот часть nav файла. Желтым я выделил toe. Время передачи эфемеридных данных в самом начале. Чтобы получить t нужно самостоятельно посчитать время в секундах с начала эпохи, а потом уже вычитать из одного другое, правильно?

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Местоположение спутника
« Ответ #244 : 21 Ноя 2015 [16:05:56] »
toe=374400 сек с начала Gps-недели. Неделя начинается с вокресенья. 374400 сек - это четверг, время 08:00:00, именно эта дата указана в первой строке: 15 11 5 8 0 0.0 (5 ноября - четверг). Это эпоха данных, это полная дата (в отличие от toe, которая оперирует временной шкалой внутри недели). Берете свой момент времени (дата, время), на который надо вычислить эфемериды, и отнимаете дату эпохи (которая дается в первой строке навигационного сообщения), не заморачиваясь с toe. Результат выражаете в секундах.
Как найти разность двух наборов дата&время - дело вкуса. В некоторых языках программирования функции работы с датами обширны. Или юлианскую дату используйте

Оффлайн lex_510

  • Новичок
  • *
  • Сообщений: 4
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от lex_510
Re: Местоположение спутника
« Ответ #245 : 21 Ноя 2015 [22:45:22] »
Спасибо Вам большое.

Оффлайн nifarap

  • Новичок
  • *
  • Сообщений: 2
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от nifarap
Re: Местоположение спутника
« Ответ #246 : 01 Фев 2016 [14:21:14] »
Здравствуйте, столкнулся с такой проблемой, используя алгоритм GPS http://www.gps.gov/technical/icwg/IS-GPS-200H.pdf стр. 159 для метеоспутника NOAA 19 никак не получается верный ответ положения и углов к спутнику.

Вот пример tle файла:
NOAA 19       
1 33591U 09005A   16031.48171577  .00000103  00000-0  81022-4 0  9997
2 33591  99.0223 347.2628 0013044 245.7495 114.2314 14.12033971359709

В формулу отсюда лишь беру(с переводом в полукруг):
io 9-13  0.55012388888888888888888888888889 угол наклонения
OMEGAo 18-25 1.9292377777777777777777777777778 долгота восходящего
e 27-33 0.013044 эксцентриситет
w 35-42 1.365275 аргумент перигея
Mo 44-51 0.63461888888888888888888888888889 средняя аномалия

и отдельно квадратный  корень главной полуоси=2690,9106265351883663254695944981 м1/2

остальные же значения беру за нули, т.к. такие явные поправки нам не нужны,да и неоткуда их брать

может кто-то подсказать, что я не так делаю?

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Местоположение спутника
« Ответ #247 : 02 Фев 2016 [08:42:54] »
Эксцентриситет у вас в 10 раз больше, чем в Tle.
Большая полуось для данного примера где-то около 7230 км, так что там тоже проблема. Как вы вычисляли большую полуось?

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #248 : 04 Мар 2016 [00:38:25] »
Приветствую всех!

Подскажите, пожалуйста такую вещь: взял я модель SGP4 из архива http://www.celestrak.com/publications/AIAA/2006-6753/AIAA-2006-6753.zip и перенёс вариан кода java на андроид, чтобы можно было использовать небольшой саттрекер на планшете.
Но, видимо где-то допустил ошибку по не достаточному пониманию самого процесса. В результате работы программы рисуется подспутниковая точка на меркаторной карте (просто плоская карта мира). По идее эта точка должна двигаться с течением времени, чтоб получить реалтайм слежение. Обновление координат сделано для теста с периодом в 1 секунду. Расчёт выполняется в отдельном потоке программы. При запуске программы местоположение (координаты спутника) вычисляются правильно. Всё на карте прорисовывается. Но через какое-то время точка начинает скакать по карте, т.е. видно, что идёт ошибка в определении координат.
Сам алгоритм такой:
1. при запуске программы создаётся объект satModel и инициализируются TLE:

char opsmode = SGP4utils.OPSMODE_IMPROVED; // OPSMODE_AFSPC
SGP4unit.Gravconsttype gravconsttype = SGP4unit.Gravconsttype.wgs72;
boolean result1 = SGP4utils.readTLEandIniSGP4(nameSat, line1, line2, opsmode, gravconsttype, satModel);
 

2. запускается поток, считывается системное время, переводится в юлианское и вычисляется модель SGP4, после чего находятся координаты подспутниковой точки для отображения на карте:

                                        String[] str = getDateTime().split(" ");
year = Integer.valueOf(str[0]);
mon = Integer.valueOf(str[1]);
day = Integer.valueOf(str[2]);
hour = Integer.valueOf(str[3]);
min = Integer.valueOf(str[4]);
sec = Integer.valueOf(str[5]);
   
dateJD = SGP4utils.jday(year,mon,day,hour,min, sec);
minutesSinceEpoch = (dateJD - satModel.jdsatepoch) * 1440;

boolean result = SGP4unit.sgp4(satModel, minutesSinceEpoch, pos, vel);

// scale output to meters
for(int i = 0; i < 3; i++)
{
// TEME
pos[i] = (pos[i] * 1000);
vel[i] = (vel[i] * 1000);
}

latlon = GeoFunctions.GeodeticLLA(pos, dateJD  - 2400000.5);//new double[3];// = prop.getLLA();

latlon[1] = (float) (latlon[1] * 180.0 / Math.PI);
latlon[0] = (float) (latlon[0] * 180.0 / Math.PI);
latlon[2] = (int) (latlon[2] / 1000); // altitude in km


В общем, идёт какой-то сбой через некоторое время работы программы и в конце концов этот поток просто останавливается.
Если таким же методом пытаюсь прорисовать трек, просто инкрементируя, считанные с системного времени минуты, то трек прорисовывается правильно только один раз. Потом начинает изламываться произвольно и всё... поток зависает.
Третью неделю ломаю голову и не могу понять в чём дело.
Сначала думал, что дело в планшете, что у него не хватает памяти для таких вычислений, но попробовал запустить софт на более мощном планшете - результат тот же...
Вот такая беда...
Может быть кто-нибудь подскажет в какую сторону копать?

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Местоположение спутника
« Ответ #249 : 04 Мар 2016 [08:50:22] »
Если не прокатывает отладчик, значит надо трассировать промежуточные результаты и смотреть, где данные начинают вразнос идти. Если поток падает, значит где-то вылезает необработанное исключение. Попробуйте завернуть метод потока в try/catch и посмотреть, что не так. Скорее всего это будет либо неверный аргумент тригонометрической функции, либо арифметическое переполнение.

PS: Структуры/классы вместо массивов уже не модно в Java?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Maxim Krugov

  • *****
  • Сообщений: 1 540
  • Благодарностей: 35
  • А зачем на свете пчёлы? Для того, чтобы делать мёд
    • Сообщения от Maxim Krugov
Re: Местоположение спутника
« Ответ #250 : 04 Мар 2016 [09:21:43] »
Очень замечательно, что человек в городе рядом заинтересован спутниками ;) и до сих пор не пересеклись в клубе.
В личку скинул телефон.




Приветствую всех!

Подскажите, пожалуйста такую вещь: взял я модель SGP4 из архива http://www.celestrak.com/publications/AIAA/2006-6753/AIAA-2006-6753.zip и перенёс вариан кода java на андроид, чтобы можно было использовать небольшой саттрекер на планшете.

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #251 : 04 Мар 2016 [10:03:15] »
Если не прокатывает отладчик, значит надо трассировать промежуточные результаты и смотреть, где данные начинают вразнос идти. Если поток падает, значит где-то вылезает необработанное исключение. Попробуйте завернуть метод потока в try/catch и посмотреть, что не так. Скорее всего это будет либо неверный аргумент тригонометрической функции, либо арифметическое переполнение.

PS: Структуры/классы вместо массивов уже не модно в Java?

Добрый день!

Да нет... ) В java всё на классах основано. Этот язык очень похож на C# (или C# очень похож на java).

Тут знаете, в чём у меня возникло сомнение...
Поскольку я не силён в небесной механике, в программе цикл работает с периодом в 1 секунду и для того, чтобы определить координаты спутника в следующую секунду, программа заново создаёт его модель SGP4 уже с новым значением времени.
Может быть этого не нужно делать, поскольку создав модель при запуске программы на выходе метода SGP4 мы уже имеем три значения координат спутника на момент создания модели и три значения векторов скорости на тот же момент времени.
Так вот тут возникает вопрос: можно ли по этим значениям рассчитать и трек спутника и его координаты хотя бы на протяжении дня?
При следующем запуске программы будет создана новая модель SGP4, которая обновит значения координат и векторов скорости и по ним можно будет заново работать.
Можно ли так? Или так оно и должно быть, а я сам гружу планшет излишними вычислениями?
Растолкуйте, пожалуйста, а то уже мозг закипает... )

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Местоположение спутника
« Ответ #252 : 04 Мар 2016 [11:00:49] »
Нельзя так делать, потому что скорость - это всего лишь первая проивзодная координат, а движение спутника отнюдь не линейное.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #253 : 04 Мар 2016 [11:27:48] »
Нельзя так делать, потому что скорость - это всего лишь первая проивзодная координат, а движение спутника отнюдь не линейное.

Тогда, получается, что я сделал всё правильно?
Т.е. для прогнозирования местоположения спутника с промежутком времени в 1 секунду, мне нужно каждую секунду создавать новую модель SGP4?
Но в этом случае вычисления начинают сбиваться спустя некоторое время. Чем чаще производятся эти вычисления, тем раньше начинается сбой.
Из этого я делаю вывод, что сбой не зависит от каких-то входных данных - TLE загружены в модель при запуске программы и не меняются в потоке, меняется только время.
Причём время берётся системное. Время на планшете установлено всемирное - UTC.
Да и кроме точки на карте и названия спутника ничего больше не вычисляется. Трека пока что нет и зону видимости спутника я пока тоже не вычислял. 

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Местоположение спутника
« Ответ #254 : 04 Мар 2016 [12:28:16] »
Я не знаком с этими моделями, так что не могу ответить на этот вопрос. Вопрос номер 1: сколько фактически времени уходит на одну итерацию расчёта? Можете скриншот привести со сбоем (или фотографию экрана телефона)?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Sleepwalker

  • *****
  • Сообщений: 2 546
  • Благодарностей: 69
  • Александр Лапшин
    • Сообщения от Sleepwalker
Re: Местоположение спутника
« Ответ #255 : 04 Мар 2016 [13:02:40] »
По сишным реализациям помню, что там была отдельно инициализация и отдельно прогноз.

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Местоположение спутника
« Ответ #256 : 04 Мар 2016 [13:14:29] »
Ну это как минимум логично, да.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #257 : 04 Мар 2016 [13:26:14] »
Я не знаком с этими моделями, так что не могу ответить на этот вопрос. Вопрос номер 1: сколько фактически времени уходит на одну итерацию расчёта? Можете скриншот привести со сбоем (или фотографию экрана телефона)?

Я могу сделать небольшое видео, чтоб было более информативно видно саму прогрессию и выложить это видео на youtube.com...
Очень странно, но при запуске софта в дебаггере (Eclipse) этот баг не наблюдается...

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #258 : 04 Мар 2016 [13:30:10] »
По сишным реализациям помню, что там была отдельно инициализация и отдельно прогноз.

Вот по этому поводу подскажите, пожалуйста подробнее.
В первом своём посте я как раз об этом спросил: нужно ли каждую секунду обрабатывать модуль SGP4 для получения координат спутника или это нужно сделать один раз, получив его координаты на момент времени запуска программы, а потом по этим шести значениям делать прогноз?
По значениям, которые возвращает SGP4.

Оффлайн INA

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от INA
Re: Местоположение спутника
« Ответ #259 : 04 Мар 2016 [17:46:57] »
Никто ничего не подскажет по этому поводу?

P.S. Заметил странную вещь: в режиме отладчика софт работает как положено. Без сбоев.   :o