Алгоритм достоверности направления C ++ GPS?

Я пытаюсь найти некоторую документацию или даже какую-либо информацию об общем методе для выборки координат в реальном времени и определения направления устройства.

У меня есть функция:

function add(x, y) {
buffer.push_back(sqrt(pow(x - KNOWN_X, 2) + pow(y - KNOWN_Y, 2)));
}

Я хотел бы сканировать буфер после каждого добавления нового расстояния и проверять, движется ли устройство в направлении или к известному месту. Трудная часть, с которой я сталкиваюсь, — ошибка GPS. У меня есть устройства, оцененные в радиусе ошибки 4.5 gps. Таким образом, некоторые расстояния будут колебаться по мере того, как они движутся в направлении / в сторону. Каков хорошо известный алгоритм, позволяющий уверенно выбирать несколько из этих расстояний и сообщать мне, увеличивается ли разрыв или уменьшается?

Я посмотрел на несколько алгоритмов шумоподавления, таких как Kalman, но это действительно сложно и сложно настроить для достижения нужных мне результатов.

0

Решение

Для определения направления устройства вы читаете атрибут «курс» доставленного местоположения.
Иногда этот атрибут называется заголовком.
Заголовок не только рассчитывается с помощью изменения положения, часть рассчитывается с помощью физического эффекта Доплера, но точная техника не публикуется. Я прочитал патент, в котором описывается, что рассматривается более чем простое изменение положения.

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

Конечно, курс будет точным, если устройство движется немного быстрее скорости ходьбы.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]