fusexcov

Ковариационное слияние с использованием перекрестной ковариации

Описание

пример

[fusedState,fusedCov] = fusexcov(trackState,trackCov) преобразует состояния дорожки в trackState и соответствующие им ковариационные матрицы trackCov. Функция оценивает сросшееся состояние и ковариацию в байесовской среде, в которой перекрестная корреляция между треками неизвестна.

пример

[fusedState,fusedCov] = fusexcov(trackState,trackCov,crossCovFactor) задает перекрестный ковариационный коэффициент для эффективного коэффициента корреляции при вычислении перекрестного ковариационного коэффициента.

Примеры

свернуть все

Задайте вектор состояния треков.

x(:,1) = [1;2;0];
x(:,2) = [2;2;0];
x(:,3) = [2;3;0];

Задайте ковариационные матрицы треков.

p(:,:,1) = [10 5 0; 5 10 0;0 0 1];
p(:,:,2) = [10 -5 0; -5 10 0;0 0 1];
p(:,:,3) = [12 9 0; 9 12 0;0 0 1];

Оцените слитый вектор состояния и его ковариацию.

[fusedState,fusedCov] = fusexcov(x,p);

Использование trackPlotter для построения графика результатов.

tPlotter = theaterPlot('XLim',[-10 10],'YLim',[-10 10],'ZLim',[-10 10]);
tPlotter1 = trackPlotter(tPlotter, ...
    'DisplayName','Input Tracks','MarkerEdgeColor',[0.000 0.447 0.741]);
tPlotter2 = trackPlotter(tPlotter, ...
    'DisplayName','Fused Track','MarkerEdgeColor',[0.850 0.325 0.098]);
plotTrack(tPlotter1,x',p)
plotTrack(tPlotter2, fusedState', fusedCov)
title('Cross-Covariance Fusion')

Figure contains an axes. The axes with title Cross-Covariance Fusion contains 2 objects of type line. These objects represent Input Tracks, Fused Track.

Задайте вектор состояния треков.

x(:,1) = [1;2;0];
x(:,2) = [2;2;0];
x(:,3) = [2;3;0];

Задайте ковариационные матрицы треков.

p(:,:,1) = [10 5 0; 5 10 0;0 0 1];
p(:,:,2) = [10 -5 0; -5 10 0;0 0 1];
p(:,:,3) = [12 9 0; 9 12 0;0 0 1];

Оцените слитый вектор состояния и его ковариацию. Задайте перекрестный ковариационный коэффициент 0.5.

[fusedState,fusedCov] = fusexcov(x,p,0.5);

Использование trackPlotter для построения графика результатов.

tPlotter = theaterPlot('XLim',[-10 10],'YLim',[-10 10],'ZLim',[-10 10]);
tPlotter1 = trackPlotter(tPlotter, ...
    'DisplayName','Input Tracks','MarkerEdgeColor',[0.000 0.447 0.741]);
tPlotter2 = trackPlotter(tPlotter, ...
    'DisplayName','Fused Track','MarkerEdgeColor',[0.850 0.325 0.098]);
plotTrack(tPlotter1,x',p)
plotTrack(tPlotter2, fusedState', fusedCov)
title('Cross-Covariance Fusion')

Figure contains an axes. The axes with title Cross-Covariance Fusion contains 2 objects of type line. These objects represent Input Tracks, Fused Track.

Входные параметры

свернуть все

Состояния трека, заданные как N -by - M матрица, где N - размерность состояния, а M - количество треков.

Типы данных: single | double

Отслеживайте ковариационные матрицы, заданные как N -by- N -by- M массив, где N - размерность состояния, а M - количество треков.

Типы данных: single | double

Перекрестный ковариационный коэффициент, заданный как скаляр.

Типы данных: single | double

Выходные аргументы

свернуть все

Сросшееся состояние, возвращенное как N -by-1 вектор, где N - размерность состояния.

Сросшаяся ковариационная матрица, возвращенная как N -by - N матрица, где N - размерность состояния.

Ссылки

[1] Бар-Шалом, Яаков и Сяо-Жун Ли. Multitarget-мультисенсорное отслеживание: принципы и методы. Том 19. Storrs, CT: YBs, 1995.

[2] Венг, Чжиюань, и Петар М. Джурич. «Байесовский подход к ковариационной оценке и слиянию данных». В 2012 году Материалы 20-й Европейской конференции по обработке сигналов, стр. 2352-2356. IEEE, 2012.

[3] Мацка, Стефан и Ричард Альтендорфер. «Сравнение алгоритмов слияния трек-и-трек для слияния автомобильных датчиков». В Multisensor Fusion and Integration for Intelligent Systems, pp. 69-81. Спрингер, Берлин, Гейдельберг, 2009.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

|

Введенный в R2018b