Системы дифференциальной коррекции

Да. А почему он не используется? И что это?

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

Такой баян, учитывая что последние гармины именно так и действуют. компас корректирует рисуемый трек. Вибрация его же скорость-стоянки.

Но координаты они должны выдавать одинаковые. Или это вообще туфта какая-то получается, если я по 1 приемнику в 1 месте стою, а по другому - в другом.

Координаты двух приемников будут отличаться, даже если они присоединены к одной антенне через сплиттер. Просто отличаться они будут на разное значение в зависимости от условий, в т.ч. от качества приемников, их прошивки и пр. Всегда есть погрешность, будь то 100 метров или 1 миллиметр.

chnav, на погрешности даваемые приемниками никак не повлиять. А вот подкорректировать их можно. И по моему самый доступный и реализуемый способ как раз дифференциальная коррекция.

Ещё интересно: отдельно взятый приемник всегда ошибается в одну сторону или такого нет? Т.е. есть ли смысл иногда класть его рядом с эталонным приемником и после вносить какую-то коррекцию (раз и на всегда)?

Я уже боюсь обсуждать т.к. выяснилось мы несколько дней говорим на разных языках.
Что в данном случае вы имеете в виду под фразой дифференциальная коррекция ? Если прямое исправление координат (прибавить какие-то значения к широте и долготе) - ответ неверный. Пример - у вас два приемника, один врёт 3м на запад, второй 3 м на восток (а в следующие 10 секунд всё изменилось в другую сторону). Оба в пределах допуска для этого типа оборудования и метода измерения. Скорректировав первый приемник при помощи координат второго вы получите ошибку 6 метров. Спрашивается: что это за коррекция, которая ухудшает точность.

Вы от теории к практике перейдите, и поймёте что погрешности и их коррекции (без доп систем) сам приёмник высчитывает по десятку раз за секунду (ну нормальный приемник, аля Гармин). И соответственно не бывает “эталонной поправки” для приёмника. Справедливо ещё также вспомнить что не смотря на точность конкретного приёмника, я раз 10 в году встречаю дни, когда он пишет что точность максимальная, но на деле трек явно в стороне где-то, причем почти всю поездку, и такое проявляется на разных совершенно аппаратах. Вот и думайте.
Тема свалилась в откровенный флуд)))

Буду третьим, кто попытается объяснить это на пальцах. Надеюсь, получится.

GPS-приемник - это не мерная лента, которая растягивается со временем, и для которой можно на какое-то время найти путем сравнения с эталоном некое число, на которое можно будет умножать измеренную величину и получать правильную длину.

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

Это не флуд, это попытка таки вернуть всех участников темы к общему пониманию процесса.

Коррекция ошибки определения координат, которая возникает в результате ионосферных и тропосферных искажений.

И оба они в 10 метрах о реальности, т.к. тропосфера и ионосфера на них обоих влияет. В итоге они ошибаются уже на 7-13 метров, а после корректировки будут ошибаться всего на 3 м.

Я тоже об этом думал. Попытаюсь объяснить, почему ничего не выйдет.

Именно так и будет. Такая “туфта” будет, даже если приёмники одинаковые.

По-разному влияет. Начну издалека: спутники находятся в разных местах, и сигнал от каждого спутника доходит к приёмнику, пройдя через РАЗНЫЕ области ***сфер, под разными углами, и вообще пройдя разный путь в нашей атмосфере (который сверху - короче, который на горизонте - вообще чёрт его знает через что он прошёл). А приёмники, даже находящиеся рядом, имеют свойство выбирать РАЗНЫЕ спутники для своих вычислений.
Это если совсем упрощённо.
А если ещё и приёмники разные, то и вычисления они производят по разным алгоритмам.

Как НЕ надо делать: вносить поправки к уже рассчитанным координатам. Т.к. мы не знаем, как и по каким спутникам они считались. Точнее, знаем, но поправок на все случаи жизни, по вашему алгоритму, у нас нет.

Как НАДО делать: вносить поправки расстояния до каждого спутника. Приёмник сначала поправит измеренные значения каждого спутника, а потом уже начнёт рассчёт координат.

Для более детального понимания, ещё раз рекомендую к прочтению: http://gps-club.ru/gps_think/detail.php?ID=44517

Тут уже зависит от того, что нам надо: реальные географические координаты, или усреднённые GPS координаты.
Если мы за месяц усреднили, и у нас всё-таки получился метр мимо - значит, можно предположить, что на обычных навигаторах в среднем координаты будут смещены точно также. Не знаю, насколько это реалистичный сценарий, но если обнаружится, что у всех пользователей с обычными навигаторами будет одинаковое смещение, то может имеет смысл и карту рисовать с ним же :roll_eyes:

DGPS как раз строится на предположении что сигнал от каждого спутника до каждого приемника (базы и ровера) проходит по схожим тректориям, подвергаясь одинаковому воздействию. Вырожденный вариант - мы имеем два приемника, присоединенные к единственной антенне через сплиттер (так называемый zero baseline test). Тут уж точно signal in space прошел одинаковый маршрут. Ситуация ухудшается с увеличением расстояния между базой и приемником, тем не менее примерно до 100км воздействие отличается незначительно для C/A кода (прим. в фазовых измерениях допустимые расстояния гораздо меньше).

Почему же обычные GPS-координаты с приемников, даже лежащих рядом или подсоединенным к одной антенне, отличаются ? Тут надо лезть во внутреннюю математику, как происходит уравнивание внутри приемника.

По указанной выше SviMik ссылке есть хороший абзац (выделено мной):

Тут ещё не указано что и firmware, и настройки Кальмана+LSA также должны быть абсолютно идентичными. Поясню…
Чтобы из 4 и более дальностей получить одну единственную координату используется уравнивание по взвешенному МНК (aka weighted LSA), на результаты которого влияет созвездие, разные веса для спутников (чем ниже спутник тем меньше вес), разные настройки фильтра Кальмана и пр.
ПОЭТОМУ - коррекции вычисляются на основе измеренных дальностей на базе ДО УРАВНИВАНИЯ, и коррекции вносятся в ровер ДО УРАВНИВАНИЯ. Таким образом:

  1. в обработку берутся только одинаковые спутники, видимые на базе и ровере;
  2. собственно сам DGPS - коррекция псевдодальностей, исключаются различные ошибки (ионосферные, тропосферные, ошибки координат спутников и пр.)
  3. только теперь, имея исправленные дальности, мы делаем уравнивание и получаем координату.

По-хорошему тут нужны десятки картинок, на словах всего не объяснишь.

chnav, SviMik - спасибо. Теперь все понятно.

Ребят есть вопрос по модулю ublox m8n. В технической документации написано что он умеет принимать rtcm поправки, в тоже время модулем который умеет работать с rtk является ublox m8p. В чем разница тогда? И что будет выдавать m8n если ему скормить поправки с caster?

А поправки разные бывают. В данном случае это корректирующие глобальные поправки, т.е. точные эфемериды и прочее. А не поправки с базовой станции.

у меня есть станция rtk она выдаёт поправки. А в версии m8n используются используется rtcm, но там она заточен под DGPS и eDiff? Ну а если их всё таки туда заинжектю, будет какой-то толк или нет? Как я понимаю rtcm это же стандартизированные пакеты типа 1002, 1006, 1013 и т.д.

RTCM есть разных версий, типы 1000+ это v3.0+, а в бытовых GPS если указывают RTCM как правило это обычный DGPS т.е. v2.0-2.3

Если ваша станция умеет DGPS RTCM 2.3 то можете попробовать, минимально нужны Type 1 и Type 2, будет метровая точность

Ok, понял. И тогла последний вопрос neo-m8p будет работать с другими стациями ртк или обязательно base тоже нужно брать от ublox

Про стандартизацию слышали? Не важно кто выточил болт, а кто гайку, если они выполнены по стандарту, то они подойдут друг к другу. Ublox принимает поправки в формате rtcm2.3 и это единственное условие. Притом сам он их генерировать не умеет.

Ребят, а не подскажите сколько весит один пакет rtcm. Подбираю мк, не знаю сколько нужно RAM