-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrunMultisensorFilters.m
29 lines (27 loc) · 1.01 KB
/
runMultisensorFilters.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
% RUNMULTISENSORFILTERS - Run the multi-sensor LMB or LMBM filters
%% Admin
close all; clc;
setPath;
%% Select type of filter
filterType = 'PU'; % 'IC', 'PU', 'LMBM'
%% Generate the model
numberOfSensors = 3;
clutterRates = [5 5 5];
detectionProbabilities = [0.67 0.70 0.73];
q = [4 3 2];
model = generateMultisensorModel(numberOfSensors, clutterRates, detectionProbabilities, q, 'PU', 'LBP', 'Fixed');
%% Generate observations
[groundTruth, measurements, groundTruthRfs] = generateMultisensorGroundTruth(model);
%% Run filters
if(strcmp(filterType, 'IC'))
% Iterated-corrector LMB (IC-LMB) filter
stateEstimates = runIcLmbFilter(model, measurements);
elseif(strcmp(filterType, 'PU'))
% Parallel measurement update: PU-, GA-, or AA-LMB filters
stateEstimates = runParallelUpdateLmbFilter(model, measurements);
else
% Multisensor LMBM filter
stateEstimates = runMultisensorLmbmFilter(model, measurements);
end
%% Plotting
plotMultisensorResults(model, measurements, groundTruth, stateEstimates, groundTruthRfs);