Main Content

checkConfirmation

Check if track should be confirmed

Description

tf = checkConfirmation(historyLogic) returns a flag that is true when at least Mc out of Nc recent updates of the track history logic object historyLogic are true.

example

tf = checkConfirmation(scoreLogic) returns a flag that is true when the track should be confirmed based on the track score.

example

Examples

collapse all

Create a history-based logic. Specify confirmation threshold values Mc and Nc as the vector [2 3]. Specify deletion threshold values Md and Nd as the vector [3 3].

historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ...
    'DeletionThreshold',[3 3])
historyLogic = 
  trackHistoryLogic with properties:

    ConfirmationThreshold: [2 3]
        DeletionThreshold: [3 3]
                  History: [0 0 0]

Initialize the logic, which records a hit as the first update to the logic. The confirmation flag is false because the number of hits is less than two (Mc).

init(historyLogic)
history = output(historyLogic);
confFlag = checkConfirmation(historyLogic);
disp(['History: [',num2str(history),']. Confirmation Flag: ',num2str(confFlag)]);
History: [1  0  0]. Confirmation Flag: 0

Update the logic with a hit. The confirmation flag is true because two hits (Mc) are counted in the most recent three updates (Nc).

hit(historyLogic)
history = output(historyLogic);
confFlag = checkConfirmation(historyLogic);
disp(['History: [',num2str(history),']. Confirmation Flag: ',num2str(confFlag)]);
History: [1  1  0]. Confirmation Flag: 1

Create a score-based logic, specifying the confirmation threshold. The logic uses the default deletion threshold.

scoreLogic = trackScoreLogic('ConfirmationThreshold',8);

Specify the probability of detection (pd), the probability of false alarm (pfa), the volume of a sensor detection bin (volume), and the new target rate in a unit volume (beta).

pd = 0.8;
pfa = 1e-3;
volume = 1.3;
beta = 0.1;

Initialize the logic using these parameters. The first update to the logic is a hit.

init(scoreLogic,volume,beta,pd,pfa);
disp(['Score and MaxScore: ', num2str(output(scoreLogic))]);
Score and MaxScore: 4.6444      4.6444

The confirmation flag is false because the score is less than the confirmation threshold.

confirmationFlag = checkConfirmation(scoreLogic)
confirmationFlag = logical
   0

Specify the likelihood that the detection is assigned to the track. Then, update the logic with a hit. The current score and maximum score increase.

likelihood = 0.05 + 0.05*rand(1);
hit(scoreLogic,volume,likelihood,pd,pfa)
disp(['Score and MaxScore: ', num2str(output(scoreLogic))])
Score and MaxScore: 9.1916      9.1916

The confirmation flag is now true because the score is greater than the confirmation threshold.

confirmationFlag = checkConfirmation(scoreLogic)
confirmationFlag = logical
   1

Input Arguments

collapse all

Track history logic, specified as a trackHistoryLogic object.

Track score logic, specified as a trackScoreLogic object.

Output Arguments

collapse all

Track should be confirmed, returned as true or false.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2018b