KEWLS and KFF 2D Comparative Model
This Matlab model and the included results are submitted as reference for the paper ''.
Presenting a comparative study of the Sequential Unscented Kalman Filter (SUKF), Least-squares (LS) Multilateration and standard Unscented Kalman Filter (UKF) for localisation that relies on sequentially received datasets.
The KEWLS and KKF approach presents a novel solution using Linear Kalman Filters (LKF) to extrapolate individual sensor measurements to a synchronous point in time for use in LS Multilateration.
% this code runs a variable localisation simulation in which four individual
% sensors measure their individual range from a dynmaic target. These
% measurements however are recieved sequentially. The time differnece
% between these measurments is constant and referred to as the
% Inter-Measurment Latency (IML). Naturally this causes errors in location
%variable location services are simulated to determine the effects of IML
%and proposed method for sequentially asynchronous localisation (KEWLS/KKF)
%the model runs as a batch simulation in which each sensor provides its
%noisy measurement estimate and various location techniques are employed to
%provide an estimate at the end.
%% Key Variables
%Firstly the model is constructed to track an object in either a straight
%line OR in a circular path. Variables may be adjusted to alter the
%trajectory, dynamics, noise levels, velocity etc
% d_t = IML (s)
% r_z = individual sensor measurmenet noise StD
% q = std of KEWLS kalman extrapolation process Q / prediction of D
% qt = std of process Q accelleration in CV model
% ang = 0.2; %angle of the crcular path
% other simulation setting variables
% bl = baseline between sensors in a square formation (m)
% Lim = basline multiplier for travel limits
% xV = target x velocity (m/s)
% yV = target y velocity (m/s)
% move_noise = target Movement noise StD (m)
% s_pos = target start Position
% delay = 1; % LEAVE AS 1 to delay the measurements by d_t (or 0 if not)
%% The model
%the model generates various graphs pertaining to the accuracy and runtime
%of the various localisation methods
% a variable can be chosen to be varied through a number of loops in
% which the chosen variable will be cycled through the next array value
% of 'Var' which can be changed using lin/log or manual settings:
% Var = linspace(0.001,0.1,No_loops); %starts at the second value
% Var = logspace(-2,3,No_loops); %starts at the second value
% Var = [0.001,.002,.003,.004,.005,.006,.007,.008,.009,...
%%Be sure to change the value here!
% r_z = Var(loop);
% ChangingVar = 'r_z';
%Setting ^^this will allow for autolabelling at the end
%No_loops = 28; %number of variable loops (should equal
%length(Var)if Var values are manually set)
%through each variable the simulations are repeated 'No_it' times to
%calculate the averages.
%No_it = 100; %number of iterations
%given the innacuracy of the tic/toc function under 10ms the process
%can be further repeated 'No_times' times to give a usable time
%estimate for the individual localisation methods.
%No_times = 1; %number of times a process is repeated for tic/toc func
%suggest leaving this at 1 unless you require measureing
%computation time specifically.
%% the process
%the model initially runs through and collects the full set of noisy
%measurements using the 'DelayedLaterationFunc' or
%'DelayedLaterationFunc_circ' if the ang is ~=0.
%this data is then individually inputted to the various localisation
%methods to provide their respective estimates.
%this is repeated for each iteration of each changing variable value, the
%averages are used to determine the RMSE, paths and general tracking
%% KEWLS and KKF
%These are the novel methods that employ low dimension Linear Kalman
%filters to extrapolate/ predict individual sensor meaurements to a single
%estimation instant for use in a WLS multilateration approach.
%results are already given for a number of scenarios unde rthe 'Results'