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

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

  1. chnav

    chnav Форумчанин

    Да, что-то я заговорился )))

    @Дед 005,
    Из времени измерения (по часам приёмника) вычитаем псевдодальность, приведенную ко времени, и на этот момент считаем координату спутника.
     
    Последнее редактирование: 8 фев 2019
  2. Дед 005

    Дед 005 Форумчанин

    Это как технически сделать то?
    B5 62 02 10 - заголовок
    40 01 - размер данных
    C0 7F 77 07 - Врем¤ недели измерени¤ по локальному времени приемника.
    rcvTow \ в мс
    EC 07 - Номер недели измерени¤ по локальному времени приемника.
    week
    0D - Количество спутников, дл¤ которых дальше идет информаци¤
    00 - резерв
    Carrier
    Phase 0-7 | Pseudo Range 8-15 | Doppler 16-19 | SV 20 | QI 21 | SNR 22 | Lock 23 |

    00 5A 76 C9 B7 AD C6 C0 D2 3C 97 6E D0 4C 73 41
    74 C1 A7 C4 1F 07 25 00
    00 00 F0 D0 EC C1 F3 C0 40 E7 6C 2D BF 5D 74 41 E0 50 E3 43 03 04 11 03
    80 1B 9B 7E B9 18 52 41 20 B7 08 5B 89 B0 75 41 C9 75 7C C5 20 07 2B 00

    Вот время....... вот псевдодальность красным выделил..............

    А вообще........ можно ведь просто посчитать координаты спутника по эфемеридам, полученным например в 14-00 по местному времени, А потом соотнести результат с файлом sp3. только где в этом файле найти результат под свое, местное время. (14-00).
     
  3. chnav

    chnav Форумчанин

    Дед 005,
    1. Берёте время rcvTow
    2. Берёте псевдодальность, делите на скорость света
    3. Из первого вычитаете второе, получаете время для расчета положения спутника
    4. Считаете координаты спутника.
    Повторяете п.п. 2-4 для каждой псевдодальности/спутника

    5. Имея координаты всех спутников и псевдодальности, решаете навигационную задачу по МНК.

    Естественно убедитесь что все величины имеют правильную размерность.

    И вообще думаю всем присутствующим было бы интересно узнать - какова конечная цель ваших действий. Это лабораторная работа, или это практическое применение и т.д.
     
  4. В.Шуфотинский

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

    Видать, государственная тайна, но что-то мне подсказывает, что уважаемый Дед 005, скорее всего, очередной программист, стряпающий своё творение для отслеживания передвижения автомобилей. Сколько их таких было у нас на форуме...
     
  5. Дед 005

    Дед 005 Форумчанин

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

    Присутствующих, кто отвечает, всего три человека...... причем "звездный" перестал консультировать...... сказал все равно ничего не выйдет...... Конечных целей несколько, разбитых на этапы. первый - повторить алгоритм работы моего модуля навигации. получив координаты по его исходным данным. Практическое применение возможно (прогнозируется), если смогу вникнуть и получить результат. Коммерческого результата не предусматривается. как сказал "звездный" - хобби,
     
  6. В.Шуфотинский

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

    Забыли про
     
  7. Дед 005

    Дед 005 Форумчанин

    Извините. ваш текст появился после того как я уже писал ответ.........
    Да нет, не тайна. просто интересно. это все. Но вот если этих, которых было много....... то где результаты того что им советовали? и где результат их работы????? я вот нашел эту грёбаную методичку, но по ней столько вопросов много .
    вот в программе на поскале ( "звездный2 советовал)
    {for clarity of code, copy the ephemeris parameters and convert to radians = для ясности кода скопируйте параметры эфемерид и преобразуйте в радианы}
    Crs := eph[1];
    dn := eph[2] * pi;
    M0 := eph[3] * pi;
    Cuc := eph[4];
    ec := eph[5];
    Cus := eph[6];
    A := eph[7] * eph[7];
    Toe := eph[8];
    Cic := eph[9];
    W0 := eph[10] * pi;
    Cis := eph[11];
    i0 := eph[12] * pi;
    Crc := eph[13];
    w := eph[14] * pi;
    Wdot:= eph[15] * pi;
    idot:= eph[16] * pi;

    а в той методичке ничего в радианы не преобразуют..........
     
  8. trir

    trir Форумчанин

    они код не пишут, все тригонометрические формулы используют радианны
     
  9. Дед 005

    Дед 005 Форумчанин

    Вот тот расчет на паскале. на выходе - координаты спутников. Нигде псевдодальность в расчетах не присутствует........ ( я ни с кем не спорю...... я только пытаюсь разобраться....)


    begin
    {for clarity of code, copy the ephemeris parameters and convert to radians = для ясности кода скопируйте параметры эфемерид и преобразуйте в радианы}
    Crs := eph[1];
    dn := eph[2] * pi;
    M0 := eph[3] * pi;
    Cuc := eph[4];
    ec := eph[5];
    Cus := eph[6];
    A := eph[7] * eph[7];
    Toe := eph[8];
    Cic := eph[9];
    W0 := eph[10] * pi;
    Cis := eph[11];
    i0 := eph[12] * pi;
    Crc := eph[13];
    w := eph[14] * pi;
    Wdot:= eph[15] * pi;
    idot:= eph[16] * pi;

    T:= Ttr - Toe;
    if T > 302400 then T := T - 604800;
    if T < -302400 then T := T + 604800;

    n0 := sqrt(mu / (A*A*A));
    n := n0 + dn;

    M := M0 + n*T;
    E := M; {start value for E}
    repeat
    Eold := E;
    E := M + ec * sin(E);
    until abs(E - Eold) < 1.0e-8;

    snu := sqrt(1 - ec*ec) * sin(E) / (1 - ec*cos(E));
    cnu := (cos(E) - ec) / (1 - ec*cos(E));
    if cnu = 0 then nu := pi/2 * snu / abs(snu)
    else if (snu = 0) and (cnu > 0) then nu := 0
    else if (snu = 0) and (cnu < 0) then nu := pi
    else nu := arctan(snu/cnu)
    + ord(cnu<0) * pi * snu / abs(snu);

    phi := nu + w;

    du := Cuc*cos(2*phi) + Cus*sin(2*phi);
    dr := Crc*cos(2*phi) + Crs*sin(2*phi);
    di := Cic*cos(2*phi) + Cis*sin(2*phi);

    u := phi + du;
    r := A*(1 - ec*cos(E)) + dr;
    i := i0 + idot*T +di;

    Xdash := r*cos(u);
    Ydash := r*sin(u);

    Wc:= W0 + (Wdot - Wedot)*T - Wedot*Toe;

    X[1] := Xdash*cos(Wc) - Ydash*cos(i)*sin(Wc);
    X[2] := Xdash*sin(Wc) + Ydash*cos(i)*cos(Wc);
    X[3] := Ydash*sin(i);

    Trel := F * ec * eph[7] * sin(E) {relativistic correction term}

    end; {procedure satpos}
     
  10. В.Шуфотинский

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

    Ну, если поискать по форуму, то можно найти. Конечно, будет больше того, что, скорее всего, будет следующим этапом Вашей эпопеи:
    http://geodesist.ru/threads/programmirovanie-perevoda-koordinat-iz-odnoj-sistemy-v-druguju.41639/,
    http://geodesist.ru/threads/voprosy-po-geodezicheskim-zadacham.24421/#post-352672,
    http://geodesist.ru/threads/opredelenie-koordinat-vozdushnogo-sudna.40439/,
    http://geodesist.ru/threads/perevod-gps-v-ne-geograficheskie-koordinaty.15928/,
    но неоднократно пытались программировать и навигационную задачу.

    Понятия не имею. Ушли вместе с ними. Как говорится: "растаяли в тумане". Вы ведь тоже растаете...
     
  11. Дед 005

    Дед 005 Форумчанин

    Да, "растаю", я у Вас человек случайный. Но останется дорога по которой я шел, и вешки которые для меня расставляли......... Если они правильны. это поможет другим, пусть и тоже случайным....
     
    Q'st и В.Шуфотинский нравится это.
  12. В.Шуфотинский

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

    Вот так и помогаем. Такие темы мы не удаляем принципиально, хотя многие просят, потому что через некоторое время, когда они кое-чему научились, им становится стыдно за простые вопросы. Стыдиться нечего, т.к. всё знать невозможно.
     
  13. stout

    stout Форумчанин

    Вы не там смотрите. Praw – "сырая" псевдодальность.
    Код:
         {correct pseudorange}
          Pcor[prn] := Praw[prn] + dTclck * c - dTiono * c - dRtrop; 
    …
          {recalculate transit time and time of transmission}
          tau := (Pcor[prn] + Cr) / c;
          Ttr := Trc - tau;
    Не "звездный", а звезданутый на всю голову. Peut-être – "звездатый".
     
    chnav нравится это.
  14. Дед 005

    Дед 005 Форумчанин

    Добрый вечер. получаю пакет информации от навигатора (эфемериды) вот в таком формате.



    -

    svid

    -

    Идентификатор спутника (SV id), для которого предоставляются эти данные эфемерид (допустимый диапазон 1..32).

    -

    how

    -

    Hand-Over Word первого субфрейма. Это требуется, если данные передаются в приемник. 0 показывает, что дальше не идут данные эфемерид.

    Начало опционального блока

    -

    sf1d

    -

    Слова 3..10 (SF1D0..SF1D7) субфрейма 1

    -

    sf2d

    -

    Слова 3..10 (SF2D0..SF2D7) субфрейма 2

    -

    sf3d

    -

    Слова 3..10 (SF3D0..SF3D7) субфрейма 3
    мне надо расшифровать содержимое субфреймов, но нигде не смог найти расшифровку. В спецификации GPS информация в виде таком:
    Новый точечный рисунок.jpg
    соотнести эти данные со своими субфреймами не получается.
     
  15. Ну так в чём проблема? На картинке приведен Подкадр 1 (Subframe 1, или sf1d в обозначениях таблицы навигатора) со словами 1-10 и фрагмент Подкадра 2. В опциональном блоке передаются слова 3-10 трёх подкадров, расшифровка - на картинке. Вот и декодируйте их.
    Вы бы лучше пользовались первоисточником - IS-GPS-200.
    Я так понимаю, с расчётом координат спутника по эфемеридам Вы уже полностью разобрались, вопрос закрыт?
     
    chnav и stout нравится это.
  16. Дед 005

    Дед 005 Форумчанин

    нет не закрыт координаты расчетные не сходятся с файлом sp3/ предполагаю - ошибка в неправильном декодирование получаемых от модуля исходных данных. они приходят не так, на этой картинке.
     
  17. Ну так не валите всё в одну кучу, разделите задачу на две - декодирование и расчёт.
    Для проверки декодирования скачайте навигационный файл на то же время, на которое получены данные от навигатора и сравнивайте правильность декодирования, для проверки расчёта координат результаты решения по навигационному файлу сравните с данными SP3 на то же время.
     
  18. Дед 005

    Дед 005 Форумчанин

    А где такие можно взять? я о наличии таких файлов не знаю..................
     
  19. stout

    stout Форумчанин

  20. В.Шуфотинский

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

    Можно и здесь:
    ftp://cddis.gsfc.nasa.gov/glonass/products/
    и
    ftp://cddis.gsfc.nasa.gov/gps/products/
    Номер папки соответствует номеру недели. Сейчас идёт 2039, сегодня последний день: 6. Завтра 2040 сутки 0.
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление