Реализация фильтра Калмана с широтой и долготой

Я не из математики и мне нужна помощь в реализации фильтра Калмана в моем Java-приложении. По сути, я получаю информацию от различных датчиков определенного объекта на карте. Входными данными являются местоположение в терминах широты и долготы, а также его точность. Теперь, основываясь на нескольких входных данных, которые я получил для одного и того же объекта, мне нужно предсказать точное положение объекта на карте. Обратите внимание, что мне не нужно отслеживать его постоянно.

Как мне предоставить входные данные широты, долготы и точности для фильтра Калмана, чтобы я получил объединенное прогнозируемое значение в качестве вывода, из которого можно получить широту и долготу, чтобы нанести то же самое на карту?


person TuW    schedule 12.06.2014    source источник


Ответы (1)


Поскольку вы не предоставляете много информации о проблеме, я представлю простое решение только с широтой/долготой/точностью:

Я бы начал с определения динамики фильтра Калмана как случайного блуждания со скоростью, имеющей случайный шум

x = [rx, ry, vx, vy],

где x — состояние фильтра Калмана. Теперь прогнозирующая часть модели становится

x_{k+1} = A*x_k + Q,

где

A = [1, 0, dt, 0;0, 1, 0, dt;0, 0, 1, 0;0, 0, 0, 1]

и Q можно найти на странице 56 книги Прикладные стохастические дифференциальные уравнения

Для применения наблюдений широты/долготы/точности я бы начал с преобразования координат WGS84 в локальные координаты ENU (метрика). Это делает систему более надежной и удобной для интерпретации.

Обновление становится

y = H*x + R,

где y — наблюдение за положением [rx, ry] и

H = [1,0,0,0;0,1,0,0]

и вы используете свою точность в шуме наблюдения:

R = diag([accuracyx, accuracy]),

где точность теперь является дисперсией позиции.

Это стандартный способ 2D-трекинга. Поскольку вы используете только широту/долготу/точность, результаты могут быть не такими точными, как вы хотите.

Теперь вы можете применить описанную выше систему для создания методов прогнозирования и обновления Калмана.

person tele    schedule 22.11.2016
comment
Я не вижу определения Q на стр. 56 книги, на которую вы ссылаетесь. Я что-то упускаю? - person Mad; 30.01.2019