Main Content

trackScoreLogic

Confirm and delete tracks based on track score

描述

ThetrackScoreLogicobject determines if a track should be confirmed or deleted based on the track score (also known as the log likelihood of a track). A track should be confirmed if the current track score is greater than or equal to the confirmation threshold. A track should be deleted if the current track score has decreased relative to the maximum track score by the deletion threshold.

The confirmation and deletion decisions contribute to the track management by atrackerGNNortrackerTOMHT.

Creation

描述

logic= trackScoreLogiccreates atrackScoreLogicobject with default confirmation and deletion thresholds.

example

logic= trackScoreLogic(Name,Value,...)specifies theConfirmationThresholdandDeletionThresholdproperties of the track score logic object using one or moreName,Valuepair arguments. Any unspecified properties take default values.

Properties

expand all

Confirmation threshold, specified as a positive scalar. If the logic score is above this threshold, then the track is confirmed.

Data Types:single|double

Deletion threshold, specified as a negative scalar. If the value ofScore-MaxScoreis more negative than the deletion threshold, then the track is deleted.

Data Types:single|double

This property is read-only.

Current track logic score, specified as a numeric scalar.

This property is read-only.

Maximum track logic score, specified as a numeric scalar.

Object Functions

init Initialize track logic with first hit
hit Update track logic with subsequent hit
miss Update track logic with miss
sync Synchronize scores oftrackScoreLogic对象
mergeScores Update track score by track merging
checkConfirmation Check if track should be confirmed
checkDeletion Check if track should be deleted
output Get current state of track logic
reset Reset state of track logic
clone Create copy of track logic

Examples

collapse all

Create a score-based logic. Specify the confirmation threshold as 20 and the deletion threshold as -5.

scoreLogic = trackScoreLogic('ConfirmationThreshold',20,'DeletionThreshold',-5)
scoreLogic = trackScoreLogic with properties: ConfirmationThreshold: 20 DeletionThreshold: -5 Score: 0 MaxScore: 0

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). Initialize the logic using these parameters. The first update to the logic is a hit.

pd = 0.9;% Probability of detectionpfa = 1e-6;% Probability of false alarmvolume = 1;% Volume of a sensor detection binbeta = 0.1;% New target rate in a unit volumeinit(scoreLogic,volume,beta,pd,pfa); disp([“分数和MaxScore:”, num2str(output(scoreLogic))])
Score and MaxScore: 11.4076 11.4076

更新罗gic four more times, where only the odd updates register a hit. The score increases with each hit and decreases with each miss. The confirmation flag istruewhenever the current score is larger than 20.

fori = 2:5 isOdd = logical(mod(i,2));ifisOdd likelihood = 0.05 + 0.05*rand(1); hit(scoreLogic,volume,likelihood)elsemiss(scoreLogic)endconfFlag = checkConfirmation(scoreLogic); delFlag = checkDeletion(scoreLogic); disp([“分数和MaxScore:”, num2str(output(scoreLogic)),...'. Confirmation Flag: ',num2str(confFlag),...'. Deletion Flag: ',num2str(delFlag)'])end
Score and MaxScore: 9.10498 11.4076. Confirmation Flag: 0. Deletion Flag: 0 Score and MaxScore: 20.4153 20.4153. Confirmation Flag: 1. Deletion Flag: 0 Score and MaxScore: 18.1127 20.4153. Confirmation Flag: 0. Deletion Flag: 0 Score and MaxScore: 29.4721 29.4721. Confirmation Flag: 1. Deletion Flag: 0

更新罗gic with a miss three times. The deletion flag istrueby the end of the third miss, because the difference between the current score and maximum score is greater than five.

fori = 1:3 miss(scoreLogic) confFlag = checkConfirmation(scoreLogic); delFlag = checkDeletion(scoreLogic); disp([“分数和MaxScore:”, num2str(output(scoreLogic)),...'. Confirmation Flag: ',num2str(confFlag),...'. Deletion Flag: ',num2str(delFlag)])end
Score and MaxScore: 27.1695 29.4721. Confirmation Flag: 1. Deletion Flag: 0 Score and MaxScore: 24.8669 29.4721. Confirmation Flag: 1. Deletion Flag: 0 Score and MaxScore: 22.5643 29.4721. Confirmation Flag: 1. Deletion Flag: 1

Tips

  • If you specify eitherConfirmationThresholdorDeletionThresholdin single precision, then thetrackScoreLogicobject converts the other property to single precision and performs computations in single precision.

References

[1] Blackman, S., and R. Popoli.Design and Analysis of Modern Tracking Systems. Boston, MA: Artech House, 1999.

Extended Capabilities

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

版本;n History

Introduced in R2018b