Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Как три дня на пустом месте проблему искать…

Что называется «глаз замылился»! Уже несколько дней бьюсь с непонятной проблемой: некоторые функции библиотеки SOFA выдавали неправильный результат. Думаю: ну быть же такого не может, где-то у меня ошибка! Полез в документацию, читал-читал (а мануалов там — приличное количество). Вот непонятно и все тут! Вроде бы, все функции у меня правильно написаны, но при вычислении apparent place получается ошибка примерно в 0.5 секунд времени (что, между прочим, аж 7.5'' на небе!). Вот — «виновник торжества» (правда, уже обновленный).
Я в попытках понять, в чем дело, даже вывел отдельно отображение разницы между местным видимым звездным временем и прямым восхождением (что дает часовой угол):
A=-179 00 00.00, Z=+45 00 00.00; HOR->EQ: HA=00:02:49.75, RA=11:43:25.74, DEC=-01 20 31.23
Back conversion EQ->HOR: A=-179 00 00.00, Z=+45 00 00.00

Apparent place, RA=11:44:27.85, HA=00:01:48.19, ST-RA=00:01:47.64, DEC=-01 26 29.67; A=-179 21 49.53, Z=+45 05 48.88
        HOR->EQ: RA=11:44:27.30, HA=00:01:48.19, ST-RA=00:01:48.19, DEC=-01 26 29.67
        EQ->HOR: A=-179 22 01.22, Z=+45 05 48.81

На сами функции преобразования координат между системами нареканий нет: первые две строчки показывают, что все однозначно (да и что там может быть неправильного в несложной сферической геометрии?). Значит, что-то не так с методикой вычисления звездного времени!
И тут-то я увидел, «где собака порылась»: при вычислении apparent place я брал значение dUT1 из функции-заглушки getDUT, а при вычислении звездного времени — из константы, записанной в начале main().
Теперь вроде бы все правильно (взял другую точку для надежности):
A=+91 00 00.00, Z=+45 00 00.00; HOR->EQ: HA=20:25:21.94, RA=15:30:08.24, DEC=+28 37 55.63
Back conversion EQ->HOR: A=+91 00 00.00, Z=+45 00 00.00

Apparent place, RA=15:30:56.78, HA=20:24:33.40, ST-RA=20:24:33.40, DEC=+28 34 16.30; A=+90 55 43.69, Z=+45 10 51.05
        HOR->EQ: RA=15:30:56.78, HA=20:24:33.40, ST-RA=20:24:33.40, DEC=+28 34 16.30
        EQ->HOR: A=+90 55 43.69, Z=+45 10 51.05


Но чувствую, что все равно рукожопость осталась: в вычислении звездного времени. Что-то мне подсказывает, что координаты географического полюса тоже имеют значение. И как-то странно, что в SOFA нет одной из важнейших функций: для вычисления звездного времени!
Честно говоря, уже голова едет от этого многообразия времен и представлений координат! Между тем, 0.5м телескоп все простаивает: ждет, когда я уже обработаю последние данные для вычисления СКН и либо разберусь, как их правильно вводить в монтировку (на форуме 10micron внятного алгоритма давать не хотят), либо (что более вероятно) буду каждую секунду корректировать положение телескопа на СКН и рефракцию, отключив его «самодеятельность»…
Tags: c, роботелескоп, рукожопие
Subscribe

  • Что-то не выходит с RGB-панелью

    Мне подсказали, что у моей панели P4 используется протокол HUB75E. Нигде не смог найти официальных документов на этот протокол - только всякие…

  • Новый кикад - просто ужас!

    Пока маюсь дурью под Звенигородом, решил было поработать. Но оказалось, что кикад я давно не пересобирал и после последнего обновления системы он не…

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 2 comments