checkDeletion
Check if track should be deleted
Syntax
Description
returns a flag that is tf
= checkDeletion(historyLogic
)true
when at least Md out of
Nd recent updates of the track history logic object
historyLogic
are false
.
returns a flag that is tf
= checkDeletion(historyLogic
,tentativeTrack
,age
)true
when the track is tentative and there are not
enough detections to allow it to confirm. Use the logical flag
tentativeTrack
to indicate if the track is tentative and provide
age
as a numeric scalar.
returns a flag that is tf
= checkDeletion(scoreLogic
)true
when the track should be deleted based on the
track score.
Examples
Check Deletion of History-Based Logic
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 [4 5].
historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ... 'DeletionThreshold',[4 5])
historyLogic = trackHistoryLogic with properties: ConfirmationThreshold: [2 3] DeletionThreshold: [4 5] History: [0 0 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); checkConfirmation(historyLogic)
ans = logical
0
delFlag = checkDeletion(historyLogic); disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1 0 0 0 0]. Deletion Flag: 1
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); checkConfirmation(historyLogic)
ans = logical
1
delFlag = checkDeletion(historyLogic); disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1 1 0 0 0]. Deletion Flag: 0
miss(historyLogic) history = output(historyLogic); checkConfirmation(historyLogic)
ans = logical
1
delFlag = checkDeletion(historyLogic); disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0 1 1 0 0]. Deletion Flag: 0
miss(historyLogic) history = output(historyLogic); delFlag = checkDeletion(historyLogic); checkConfirmation(historyLogic)
ans = logical
0
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0 0 1 1 0]. Deletion Flag: 0
Check Deletion of Tentative Track
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 [4 5].
historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ... 'DeletionThreshold',5)
historyLogic = trackHistoryLogic with properties: ConfirmationThreshold: [2 3] DeletionThreshold: [5 5] History: [0 0 0 0 0]
Initialize the logic, which records a hit as the first update to the logic. Then, record two misses.
init(historyLogic) miss(historyLogic) miss(historyLogic) history = output(historyLogic)
history = 1x5 logical array
0 0 1 0 0
The confirmation flag is false
because the number of hits in the most recent 3 updates (Nc) is less than 2 (Mc).
confirmationFlag = checkConfirmation(historyLogic)
confirmationFlag = logical
0
Check the deletion flag as if the track were not tentative. The deletion flag is false
because the number of misses in the most recent 5 updates (Nm) is less than 4 (Mc).
deletionFlag = checkDeletion(historyLogic)
deletionFlag = logical
0
Recheck the deletion flag, treating the track as tentative with an age of 3. The tentative deletion flag is true
because there are not enough detections to allow the track to confirm.
tentativeDeletionFlag = checkDeletion(historyLogic,true,3)
tentativeDeletionFlag = logical
1
Check Deletion of Score-Based Logic
Create a score-based logic, specifying the deletion threshold. The logic uses the default confirmation threshold.
scoreLogic = trackScoreLogic('DeletionThreshold',-1);
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
Update the logic with a miss. The current score decreases.
miss(scoreLogic,pd,pfa)
disp(['Score and MaxScore: ', num2str(output(scoreLogic))])
Score and MaxScore: 3.036 4.6444
The deletion flag is true
because the current score is smaller than the maximum score by more than 1. In other words, scoreLogic.Score - scoreLogic.MaxScore
is more negative than the deletion threshold, -1.
deletionFlag = checkDeletion(scoreLogic)
deletionFlag = logical
1
Input Arguments
historyLogic
— Track history logic
trackHistoryLogic
Track history logic, specified as a trackHistoryLogic
object.
tentativeTrack
— Track is tentative
false
| true
Track is tentative, specified as false
or
true
. Use tentativeTrack
to indicate if the
track is tentative.
age
— Number of updates
numeric scalar
Number of updates since track initialization, specified as a numeric scalar.
scoreLogic
— Track score logic
trackScoreLogic
object
Track score logic, specified as a trackScoreLogic
object.
Output Arguments
tf
— Track can be deleted
true
| false
Track can be deleted, returned as true
or
false
.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2018b
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)