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

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

Войти

Программа работы с бытовыми навигаторами в практике геодезиста

Тема в разделе "Другие программы", создана пользователем sklimkim, 30 дек 2010.

  1. chnav

    Форумчанин

    Регистрация:
    5 янв 2011
    Сообщения:
    979
    Симпатии:
    907
    Адрес:
    Москва
    Аааа.... Так речь про SiRF II - это его фича, ничего сделать нельзя.
    Я давно как-то писал об этом. На сегодня, суммируя
    SiRF Star II - есть фаза, измерения не синхронизированы с GPS Time
    SiRF Star III - нет фазы, измерения синхронизированы с GPS Time
    SiRF Star IV - есть фаза, измерения синхронизированы с GPS Time
    т.е. самый продвинутый вариант - SirfStarIV
     
    #401
  2. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Откройте спойлер и посмотрите кусок RINEX для SirfStarIV - "хвост" тоже остается, просто он много меньше, чем у SirfStarII

    Сейчас включу GlobalSat BT-338 (SirfStarIII) и повторю запись для него.
     
    #402
  3. chnav

    Форумчанин

    Регистрация:
    5 янв 2011
    Сообщения:
    979
    Симпатии:
    907
    Адрес:
    Москва
    Вот это будет обидно... Я про SiRF Star IV... Сейчас прицепил к своей программе - не соединяется. Придется вернуться к программированию :)
     
    #403
  4. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Если у Lottarend получается вот так:
    то я что-то напутал, но 2-й день ищу не вижу.
    Семь девяток после запятой вполне хватит.
    Поэтому просьба к Lottarend показать свой кусок кода, если нетрудно, то с краткими комментариями.

    Вот что выдает BT-338 (SirfStar-III):
    Код:
     13 02 28 14 42 31.0001754  0  11G7G5G26G28G3G13G19G6G21G8G10
      20460856.496    -1843520.896        3295.914 0
      22020053.365    -1861052.458          90.883 2
      22472398.997    -1861052.458      -3448.023 0
      23151023.180    -1861052.458      -3448.023 0
      22894723.224    -1861052.458      -3448.023 0
      23339929.591    -1861052.458      -3448.023 0
      23668985.833    -1861052.458      -3448.023 0
      23953232.354    -1861052.458      -3448.023 0
      25801647.001    -1861052.458      -3448.023 0
      20614022.241    -1861052.458      -1163.156 2
      22939190.018    -1861052.458        3295.313 0
    
     
    #404
  5. Lottarend

    Форумчанин

    Регистрация:
    8 окт 2012
    Сообщения:
    43
    Симпатии:
    3
    Да все так же, как у вас, там ничего сложного нет.
    У меня все замечательно работает, единственное что иногда Sirf3 время не синхронизирует, если его долго до этого не включали, помогает только перезапуск приемника.
    Код:
    //b - массив байтов, методы Get читают заданное количество и возвращают uint
    int fullGPSWeek = (int)b.Get2();
    double trueTOW = b.Get4() / 100.0;
    uint svs = b.Get();
    int clockDrift = (int)b.Get4();
    int clockBias = (int)b.Get4(); // а вот и оно
    int EstimatedGPSTime = (int)b.Get4();
    double biasInSec = clockBias / 1000000000.0; //перевожу в секунды
    ...
    if (mode == ProcessingMode.CreateCorrection && writeCorrectionFile)
    {
    ...
        for (int i = 0; i < sattelites.Count; i++)
        {
            //класс данных о спутниках, содержит данные из уже прошедшего MID28 
            Sattelite sat = sattelites;
            sat.measuredPr -= C * biasInSec; //правим псевдодальность
            sat.gpsTime -= biasInSec; //[gpsTime из mid28] - biasInSec
            //теперь скорректированное  gpsTime можно использовать
            ...
    }
     
    #405
  6. Lottarend

    Форумчанин

    Регистрация:
    8 окт 2012
    Сообщения:
    43
    Симпатии:
    3
    А вы точно с эпохами не напутали?
    Сначала идет MID28, в самом конце MID7, MID7 нужно применять к уже прошедшему MID28. У вас так все?
     
    #406
  7. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Конечно напутал.
    ClockBias из предыдущей эпохи шел поправкой в текущую эпоху.
    Исправил и теперь программа падает после приема 2-й эпохи.
    До введения поправок все шло гладко-линейно во времени: получил пакет, обработал, записал - и к следующему пакету.
    А теперь надо сохранять массив MID-28 и обработать его можно только в следующей эпохе ::punish::
    Но вижу, что после введения поправки TOW имеет вид 466554.000910621 - 0.000910747 = 466553.999999874
    т.е. остается 0.000000126 сек недо-исправленных. С этим конечно можно мириться, но как говорят евреи "некошерно".
     
    #407
  8. chnav

    Форумчанин

    Регистрация:
    5 янв 2011
    Сообщения:
    979
    Симпатии:
    907
    Адрес:
    Москва
    Во "взрослых" приемниках то же самое. Спутник за это время переместится всего на 0.5мм - такова цена рассинхронизации между базой и ровером. В обработке даже это компенсируется через интерполяцию, ведь SiRF Star II рассинхронизирован на доли секунд - и всё считается нормально...
    Ну и не забываем что частота дискретизации всего 16MHz - т.е. показания с каналов снимаются в целочисленные отрезки времени, а рассчеты проводятся с плавающей запятой.
     
    #408
  9. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    А для чего можно использовать Carrier-Frequency (MID28.C1 = MID28.C1 - RcvClBias * LIGHTSPEED / 1575420000;) ?
     
    #409
  10. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Исправил приведение времени для SirfStar протокола.
    Пока проверил только на GlobalSat BU-353S4.
    Но приведенное время все-таки "качается" между x1.9999999 и x2.0000003 сек.
    Исправил уровни сигналов в RINEX-OBS файле (с Гармин формулы на RINEX формулу - так краше).

    Надеюсь на тестирование программы коллегой umots
    (Геноссе umots, пока не довел программу до ума, файл xxxx_Parsing.txt рано списывать.)

    То что сказал chnav о приведении времени в SirfStar-II и SirfStar-III совсем не радует.
    Я ведь затеял приведение времени к целой секунде только из-за намерения проверить возможность псевдо-RTK без использования RINEX-файлов и программ пост-обработки, то есть только с помощью автономных файлов координат на БАЗЕ и на РОВЕРЕ.
    Такм образом, пока, единственный кандидат на эту миссию приемник GlobalSat BU-353S4 (SirfStar-IV).

    На скриншоте окошки программы и фрагменты файлов xxxx_Parsing.txt и xxxx_Observer.obs
    GNSS-Monitor3.png
     

    Вложения:

    #410
  11. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Уважаемые chnav и Lottarend, спасибо за внимание и подсказки!
     
    #411
  12. Lottarend

    Форумчанин

    Регистрация:
    8 окт 2012
    Сообщения:
    43
    Симпатии:
    3
    Я тут решил провести еще один тест... Разместить базу и ровер далеко друг от друга (ну, не так уж и далеко, где-то километр, или половина от этого). И мне нужно как-то оценить точность результатов.
    Точных координат своей базы (использую для этого еще один приемник) я не знаю, поэтому задаю их на основании усредненных от приемника за 10-минутный интервал с наименьшим hdop.
    Когда я буду передавать поправки с базы на ровер, как мне оценить точность отклонения от истинной позиции ровера? Усреднять скорректированные координаты ровера?
    Но так я получу неизвестную ошибку с неизвестной величиной...
    Отошлите меня куда-нибудь, где можно об этом почитать, пожалуйста.
     
    #412
  13. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    В такой ситуации лучше разместить БАЗУ и РОВЕР на расстоянии (друг от друга), которое можно достаточно точно измерить: например рулеткой.
    Тогда для БАЗЫ введете координаты из усреднения хоть за 2 часа, хоть за 5 минут - особого значения это не имеет (от этого только полученный вектор может немного "крутиться вокруг базы, но на его величину это не влияет).
    А вот совместную работу их хорошо бы провести не менее часа.
    Если Вы потом этот час (RINEX файлы) обработаете в чем-то проф. (TopconTools, GNSS-Solutions, LGO), то полученные результаты - а это будет вектор БАЗА-РОВЕР Вы сравните с измеренным рулеткой расстоянием.
    Это и будет практическая точность измерений.
    К тому же на коротких расстояниях исключаются многие ошибки (ионосфера и другие) и созвездия спутников для БАЗЫ и РОВЕРА практически одинаковые, что тоже повышает точность.

    С передачей поправок на РОВЕР в реальном времени (это ведь RTK?) я еще не разобрался, поэтому говорю просто про оценку точности измерений БАЗА-РОВЕР.
    Но эта оценка далее будет справедлива и для RTK.

    Посмотрите терки на эту тему:
    http://forum.openstreetmap.org/viewtopic.php?id=9451&p=16 #383 и немного назад #343
     
    #413
    Lottarend нравится это.
  14. Lottarend

    Форумчанин

    Регистрация:
    8 окт 2012
    Сообщения:
    43
    Симпатии:
    3
    Спасибо, про рулетку то я и не подумал :)
     
    #414
  15. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    Ну тогда ждем'с результатов::hi::
     
    #415
  16. umots

    Форумчанин

    Регистрация:
    1 апр 2012
    Сообщения:
    39
    Симпатии:
    1
    Если строго, то есть рекомендации mikg-43-05.
    1. В п. 7.2 растояние сравнивается с образцовыми расстояниями на полигоне.
    2. В п.п. 7.3 и 7.4 определяется с помощью замкнутых фигур.
     

    Вложения:

    #416
  17. sklimkim

    Форумчанин

    Регистрация:
    13 июл 2010
    Сообщения:
    218
    Симпатии:
    43
    Адрес:
    Moscow Russia
    #417
  18. Alex_jet

    Форумчанин

    Регистрация:
    15 фев 2013
    Сообщения:
    197
    Симпатии:
    37
    Адрес:
    Москва
    камрады, подскажите где почитать как пользоваться РТКлиб RTKlib.

    ситуация:
    1. имею две пост.действующие реф.станции
    2. между ними 33 км
    3. в сеть передаю поправки RTCM 3 и RTCM 2, оригинальный формат - CMR (но RTKNavi с ней не работает)
    4. одну станцию завожу как ровер, вторую как базу (ввожу координату, она известна) - ставлю режим L1+L2 статика или киематика.
    5. остальные параметры по умолчанию.
    6. решение дает только плавающее.

    собственно смущает отсутствие фиксированного решения, может это связано с недоделкой программы(???)
     
    #418
  19. umots

    Форумчанин

    Регистрация:
    1 апр 2012
    Сообщения:
    39
    Симпатии:
    1
    Посмотрите manual_2.4.1.pdf в папке doc.
    А почему не режим L1+L2 DGPS/DGNSS.
     
    #419
  20. Alex_jet

    Форумчанин

    Регистрация:
    15 фев 2013
    Сообщения:
    197
    Симпатии:
    37
    Адрес:
    Москва
    я хочу точнее определиться.
    у меня есть фаза несущей
     
    #420

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

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