Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

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

Тема в разделе "ПЕСОЧНИЦА", создана пользователем Дед 005, 10 янв 2019.

  1. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    --- Сообщения объединены, 11 янв 2019, Оригинальное время сообщения: 11 янв 2019 ---
    Спасибо конечно, - но если у Вас с английским в отличии от меня все нормально, - может объясните попонятнее?
    .
     
    #21
  2. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    толку то, там всю методичку нужно читать
     
    #22
  3. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Я в третий раз рекомендую посмотреть исходники http://stvl.nl/stdalone.pas
    Там всё это есть.
    Пиво без водки – деньги на етер.
    В том смысле, что стандартное значение машинного эпсилон для типа float 1.19209e-07. И это явно недостаточно. Кстати, а есть ли в этом micro С определение для FLT_EPSILON?
    Или выполнить что-то типа:
    Код:
    float a = 1.0;
    do{
        a *= 0.5;       
        }while((1.0 + a) > 1.0);
    Может быть всё не так плохо, как я думаю, хотя в четыре байта много не засунешь.
    Иначе надо искать библиотеку поддержки типа double для вашего micro С/контроллера.
     
    #23
  4. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    Спасибо конечно за подсказку. Я посмотрел конечно, Но может быть Вы (извиняюсь за дерзость) напишете мне простую пошаговую инструкцию для нахождения этого самого искомого t/
    --- Сообщения объединены, 12 янв 2019, Оригинальное время сообщения: 12 янв 2019 ---
    Вот и я о том же. У меня нет за плечами 5 лет обучения в профильном институте по этой тематике. Поэтому на плохое знание английского накладывается также не знание специальной терминологии. Но в любом случае, - спасибо за подсказку. Если кто нибудь внятно пояснит, - составлю алгоритм, и пойду дальше, - если нет, - буду разбираться.
     
    #24
  5. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    У меня застарелый синдром преподавателя – точно знаю, что лучше всего запоминается то, до чего дошёл сам.
    Скачал Lazarus, создал проект для консольной программы, вставил текст stdalone.pas, заменил real на double, исправил кусок кода с устаревшим синтаксисом на
    while T >= 86400 do
    T := T - 86400;
    while T < 0 do
    T := T + 86400;
    И в отладчике посмотрел за изменением переменных.

    Важно! Точности float недостаточно для вычислений. Ошибка в последнем бите мантиссы равносильна ошибке представления орбиты и псевдодальности ~2 метра.
    Всё ещё печальней со временем. Ошибка может быть порядка 0.01 сек. Умножьте это на скорость света.
     
    #25
    Geo_major нравится это.
  6. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    Мы с Вами отчего то о разном говорим. Мне сейчас нужно получить рабочий алгоритм, написанный мной. А вот когда он будет работать, - тогда я с большим удовольствием и энтузиазмом буду говорить о точности, и интересоваться как и какими методами мне её, этой самой точности добиваться.
     
    #26
  7. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Он не будет работать, вам не с чем будет сравнивать.
     
    #27
    В.Шуфотинский нравится это.
  8. Александр Яковченко

    Форумчанин

    Регистрация:
    4 авг 2008
    Сообщения:
    333
    Симпатии:
    248
    Адрес:
    Харьков, Украина
    Ttr=Trcv-S/c
    Trcv
    - время приёма в шкале времени приёмника, получите отсюда:
    S - псевдодальность до спутника
    c - скорость света
    Псевдодальности для каждого спутника разные, поэтому и Ttr будет для каждого спутника своё.
     
    #28
  9. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Ну вот.::sad24.gif::
    Нет чтобы подтолкнуть человека к самостоятельным выводам…
     
    #29
    Geo_major нравится это.
  10. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    Уф!!!!!!!!!!!!!!!! Спасибо большое! Еще раз, - я правильно понял, - C0 7F 77 07 - (Врем¤ недели измерени¤ по локальному времени приемника. rcvTow \ в мс) это и есть Trcv, и теперь Ttr = Ttr = Trcv-S/c = C0 7F 77 07 минус псевдодальность деленная на скорость света.: Отчего я это нигде не находил , ни в каких книжках.
     
    #30
  11. Гео"Акад"дезист

    Форумчанин

    Регистрация:
    28 мар 2014
    Сообщения:
    44
    Симпатии:
    11
    только не равно, а примерно равно, вообще время со спутника не высчитывают, а берут со спутника, но для этого нужно профессиональное геодезическое оборудование, вряд ли есть навигатор который получает такие данные
    Как вы собираетесь проверять правильность своих вычислений?

    PS: если вы собрались время спутника высчитывать опираясь на время приемника, то не забудьте о факторах влияющих на прохождения сигнала от спутника до приемника, правда на сколько я знаю их просчитывать пока не умеет никто
     
    #31
  12. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    Добрый день. Только я обрадовался, что получил ответ, как меня опять "переопределили". Я ведь пояснил, - что делаю эти расчеты используя исходные данные модуля навигатора. Модуль считает свои координаты, получая данные со спутников. Я по сути повторяю его расчет, - беря исходные данные у него, из его сообщений, - по запросу от контроллера. Эфемериды получаю, псевдодальности получаю. Если мне правильно подсказали, - время тоже получаю. Правильность вычислений собираюсь проверять сравнив их с координатами, которые высчитывает этот же модуль с которым я работаю.
    --- Сообщения объединены, 20 янв 2019, Оригинальное время сообщения: 20 янв 2019 ---
    Я бы самостоятельно не мог додуматься , что нужно это время еще дополнительно высчитывать, используя псевдодальности и скорость света.
     
    #32
  13. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Как описана переменная, где хранится Trcv?
     
    #33
  14. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.303
    Симпатии:
    4.953
    Так ведь он считает координаты не так, как студенты на занятиях. Там ведь используется фильтр Калмана.
     
    #34
    chnav нравится это.
  15. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    В общем случае – довольно спорное утверждение.
     
    #35
  16. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    я же писал уже, -
    C0 7F 77 07 - Врем¤ недели измерени¤ по локальному времени приемника. rcvTow \ в мс 4 байта. все переменные в double.
     
    #36
  17. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Нет, про double вы не писали, писали про
     
    #37
  18. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    наверное упустил. На тот момент беседа была не в этом. интересует правильность алгоритма. точность - следующий этап.
     
    #38
  19. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Похоже я неправильно пояснил ситуацию. Оставаясь в рамках точности float и без дополнительных ухищрений, в принципе невозможно проверить правильность алгоритма, так как решения просто не будет. А если и получится какое-то число, то ошибка может быть в сотни км. И будет совершенно непонятно, где сидит ошибка.
     
    #39
  20. Дед 005

    Форумчанин

    Регистрация:
    10 янв 2019
    Сообщения:
    62
    Симпатии:
    2
    Я понял Вас, - наверное просто все смешалось....... я ведь изначально писал про методичку gps.png она есть вместе с решением. Результат с моим сходится. - я думал что это изначально понятно было. Видимо не написал....... Но это, - координаты спутников.
     
    #40

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление