The mean processed signal to noise ratio was calculated to be 30 dB for the Raytheon sonar, and 13 dB for the Klein sonar. Using the Receiver Operating Characteristic (ROC) curve displayed (figure with calculations from Urick,1983 is attached: file name is "ROC curves calculations.bmp"), and given the desired false alarm probability of 0.5%, the probability of detection corresponding to the mean processed signal to noise ratio for each sonar

was calculated at the false alarm level. The probability of detection was calculated to be 0.998 for the Raytheon sonar (green lines on the plot attached), and 0.82 for the Klein sonar (yellow lines on the plot attached).

I tried to make the calculations mentioned by MATLAB tools (with the rocsnr function), but I cannot receive the same results as by paper plots. MATLAB gives the essentially higher values: e.g., for Raytheon sonar the probability of detection is always 1 (for signal to noise ratio equal to 30 dB). MATLAB code for calculations is relatively simple and is given below.

[Pd,Pfa] = rocsnr(30);

idx = find(Pfa==0.005); % find index for Pfa=0.005

sprintf('%.9f',Pd(idx))

The result for calculation looks as follows (I expected to get 0.998).

ans =

Empty matrix: 1-by-0

After getting this result I tried to increase Pfa value, but the result is 1.

[Pd,Pfa] = rocsnr(30);

idx = find(Pfa==0.01); % find index for Pfa=0.01

sprintf('%.9f',Pd(idx))

ans =

1.000000000

For Klein sonar the probability of detection is almost 1 instead of 0.82 (for signal to noise ratio equal to 13 dB). I cannot obtain the result for false alarm probability of 0.5%, in case of 0.1% I get 0.999967062.

[Pd,Pfa] = rocsnr(13);

idx = find(Pfa==0.005); % find index for Pfa=0.005

sprintf('%.9f',Pd(idx))

ans =

Empty matrix: 1-by-0

[Pd,Pfa] = rocsnr(13);

idx = find(Pfa==0.01); % find index for Pfa=0.01

sprintf('%.9f',Pd(idx))

ans =

0.999967062

What is the reason for such inconsistence in paper plot calculations and "efficient" MATLAB calculations performed automatically for the same data input?

The original figure for ROC curves (Urick,1983) without additional lines plotted is attached too (file name is "ROC curves (Urick, 1983).bmp").

The links to MATLAB documentation related to ROC curves are given below.

http://www.mathworks.com/help/phased/examples/detector-performance-analysis-using-roc-curves.html

http://www.mathworks.com/help/phased/ref/rocsnr.html

http://www.mathworks.com/help/phased/ug/receiver-operating-characteristic-roc-curves.html

It is interesting that ROC curves were first introduced in MATLAB R2011a.

More Oleksandr Yeshanu's questions See All
Similar questions and discussions