Емельянов Эдуард Владимирович (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

  • Хеши строковых команд для МК

    Долго я к этому шел, но, похоже, пора уже: однобуквенные команды сложно запоминать (особенно если команд толпа, и большая часть с этими буквами…

  • Задачка для студентов

    Я тут интересную (и, главное, актуальную: судя по скудной информации в интернете, если этим кто-то и занимался, то результаты закопаны под NDA)…

  • Контроллер управления новой железякой

    Я до конца этой недели еще в отпуске. Погода мерзкая, поэтому хожу на работу. Вчера начал паять пару комплектов плат для управления новой железякой.…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 2 comments