# checkConfirmation

Check if track should be confirmed

Since R2018b

## Syntax

``tf = checkConfirmation(historyLogic)``
``tf = checkConfirmation(scoreLogic)``

## Description

example

````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.```

## 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`.

## Version History

Introduced in R2018b