KEWLS and KFF 2D Comparative Model

Citation Author(s):
Brunel University London
Submitted by:
Benjamin Meunier
Last updated:
Sat, 04/24/2021 - 12:39
Data Format:
0 ratings - Please login to submit your rating.


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. 



%% Summary 

% 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

% estimation. 


%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

    %% Structure

    % 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,...

    %         .01,.02,.03,.04,.05,.06,.07,.08,.09,...

    %         .1,.2,.3,.4,.5,.6,.7,.8,.9,1];

    %%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 

%results are already given for a number of scenarios unde rthe 'Results'