www.pudn.com > trackingdemos.zip > gene_2d_scn.m


% gene_2d_scn.m 
% 
% generate the ground truth for a 2-D scenario of two closely spaced targets 
 
function target = generate_2d_scn(numScan, start_time, time_interval) 
 
% initial values 
target(1).time(1)=start_time; 
target(2).time(1)=start_time; 
target(1).state(:, 1) = [100e3; 150; 150e3; -10]; 
target(2).state(:, 1) = [100e3; 150; 148e3; 10]; 
% generate the true state of the two targets 
q = .01;               % process noise std, set to be very low 
F = [ 1, time_interval, 0, 0; 
   0, 1, 0, 0; 
   0, 0, 1, time_interval; 
   0, 0, 0, 1]; 
G = [time_interval^2/2, 0; time_interval, 0; 0, time_interval^2/2; 0, time_interval]; 
for i=2:numScan 
    target(1).time(i) = target(1).time(i-1) + time_interval; 
    target(2).time(i) = target(2).time(i-1) + time_interval; 
    target(1).state(:,i) = F*target(1).state(:,i-1) + G*(q.*randn(2,1)); 
    target(2).state(:,i) = F*target(2).state(:,i-1) + G*(q.*randn(2,1)); 
end