# rocinterp

ROC curve interpolation

## Description

example

ipd = rocinterp(snr,pd,snrq,'snr-pd') returns the probability of detection (Pd) computed by interpolating a Pd vs. signal-to-noise ratio (SNR) receiver operating characteristic (ROC) curve. If pd is a matrix, the function interpolates each column independently. In this and the next syntax, rocinterp performs linear interpolation after transforming the Pd-axis of the ROC curve using the normal probability scale.

example

isnr = rocinterp(pd,snr,pdq,'pd-snr') returns the SNR computed by interpolating a Pd vs. SNR ROC curve. If snr is a matrix, the function interpolates each column independently.

example

ipd = rocinterp(pfa,pd,pfaq,'pfa-pd') returns the Pd computed by interpolating a Pd vs. probability of false alarm (Pfa) ROC curve. If pd is a matrix, the function interpolates each column independently. In this and the next syntax, rocinterp performs linear interpolation after transforming both axes of the ROC curve using a logarithmic scale.

example

ipfa = rocinterp(pd,pfa,pdq,'pd-pfa') returns the Pfa computed by interpolating a Pd vs. Pfa ROC curve. If pfa is a matrix, the function interpolates each column independently.

## Examples

collapse all

Compute the probability of detection (${\mathit{P}}_{\mathrm{d}}$) for a Swerling 1 case target given a set of signal-to-noise ratio (SNR) and probability of false alarm values. Express the SNR values in decibels.

SNR = [13.5 14.5];
pfa = [1e-9 1e-6 1e-3];

Compute the ${\mathit{P}}_{\mathrm{d}}$ vs. SNR ROC curves and interpolate them at the SNR values of interest.

[pd,snr] = rocpfa(pfa,'SignalType','Swerling1');

ipd = rocinterp(snr,pd,SNR,'snr-pd');

Plot the ROC curves and overlay the interpolated values.

rocpfa(pfa,'SignalType','Swerling1')
hold on
q = plot(SNR,ipd,'*');
hold off
legend(q,append("P_{fa} = ",string(pfa),", int."),'Location','northwest')

## Input Arguments

collapse all

Signal-to-noise ratio in decibels (dB), specified as a vector or matrix. If snr is a vector, its values must be unique. If snr is a matrix, then each of its columns must contain unique values.

Data Types: double

Signal-to-noise ratio query points, specified as a vector. All values of snrq must be expressed in dB.

Data Types: double

Probability of detection, specified as a vector or matrix. All values of pd must be between 0 and 1. If pd is a vector, its values must be unique. If pd is a matrix, then each of its columns must contain unique values.

Data Types: double

Probability of detection query points, specified as a vector. All values of pdq must be between 0 and 1.

Data Types: double

Probability of false alarm, specified as a vector or matrix. All values of pfa must be between 0 and 1. If pfa is a vector, its values must be unique. If pfa is a matrix, then each of its columns must contain unique values.

Data Types: double

Probability of false alarm query points, specified as a vector. All values of pfaq must be between 0 and 1.

Data Types: double

## Output Arguments

collapse all

Interpolated probability of detection, returned as a vector or matrix.

Interpolated signal-to-noise ratio, returned as a vector or matrix.

Interpolated probability of false alarm, returned as a vector or matrix.

## Version History

Introduced in R2021a