Code covered by the BSD License  

Highlights from
Multitarget Bearing Only Tracking by Particle Filter

image thumbnail
from Multitarget Bearing Only Tracking by Particle Filter by Sebastien PARIS
A demo illustrating Multitarget BO tracking by particle filter

pr_PI0t( mt , LambdaV);
function PI0t = pr_PI0t( mt , LambdaV);


%% pr_PI0t calcule les probabilits d'associer la mesure y_{t}^{j}, t = 1,....,T et j = 1,....,mt  une Fausse Alarme
%
%
% PI0t    =     pr_PI0t( mt, LambdaV);
% 
% Entres
% 
% mt        nombre de mesure  l'instant t. Ce vecteur (1 x T) peut calcule par l'intermdiaire de indice_z par 
%           mt     = diff(find(diff([0 ; Z(: , 1) ; 1])));       %(vecteur T x 1);
%
%
% LambdaV   nombre moyen de Fausses Alarmes par unit de volume V
%
% Exemple
%
% mt    = (1 : 170)';
% PI0t  = [pr_PI0t( mt, 0.2) , pr_PI0t( mt , 2) , pr_PI0t( mt, 5)];
% plot(mt ,  PI0t);
% xlabel('m_k' , 'fontsize' , 13 , 'fontname' , 'times');
% ylabel('\pi_t^{0}' , 'fontsize' , 13 , 'fontname' , 'times');
% legend( ['\lambda = ' num2str(0.2) ] , ['\lambda = ' num2str(2) ] , ['\lambda = ' num2str(5) ]);
% Auteur
% 
% Sbastien PARIS (sebastien.paris@lsis.org)
%
%
% Correction d'un bug (cte_LambdaV.^(L) => LambdaV.^(L)) ) !!!!
%
% calcul des PI0t valable tant que max_mt< 175
%
%%


max_mt       = max(mt);                                  % max_mt = max_n_FA + M; en vrification

ind_max_mt   = (1  : max_mt  );

I            = tril(ind_max_mt(ones(max_mt , 1) , :));          % matrice (max_mt x max_mt)

L            = I(mt , : );

PI0t         = sum( ( (exp(- LambdaV)*(LambdaV.^L)).*L )./( cumprod(ind_max_mt(ones(length(mt) , 1) , : ) , 2) ) , 2)./mt;

Contact us at files@mathworks.com