rocpfa
Receiver operating characteristic curves by false-alarm probability
Description
[
returns the single-pulse
detection probabilities, Pd
,SNR
]
= rocpfa(Pfa
)Pd
, and required SNR
values, SNR
, for the false-alarm probabilities
in the row or column vector Pfa
. By default,
for each false-alarm probability, the detection probabilities are
computed for 101 equally spaced SNR values between 0 and 20 dB. The
ROC curve is constructed assuming a single pulse in coherent receiver
with a nonfluctuating target.
[
returns detection probabilities and SNR values with additional options specified by
one or more name-value arguments.Pd
,SNR
]
= rocpfa(Pfa
,Name=Value
)
rocpfa(...)
plots the ROC curves.
Examples
Plot ROC Curves for Different PFAs
Plot ROC curves for false-alarm probabilities of 1e-8
, 1e-6
, and 1e-3
, assuming no pulse integration.
Pfa = [1e-8 1e-6 1e-3];
rocpfa(Pfa,SignalType="NonfluctuatingCoherent")
ROC Curve for Noncoherent Integration
Examine the effect of SNR on the probability of detection for a detector using noncoherent integration with a false-alarm probability of 1e-4. Assume the target has a nonfluctuating RCS and that you are integrating over 5 pulses.
[Pd,SNR] = rocpfa(1e-4,... 'SignalType','NonfluctuatingNoncoherent',... 'NumPulses',5); figure; plot(SNR,Pd); xlabel('SNR (dB)'); ylabel('Probability of Detection'); grid on; title('Nonfluctuating Noncoherent Detector (5 Pulses)');
Input Arguments
Pfa
— False-alarm probabilities
vector
False-alarm probabilities, specified as a row or column vector.
Example: [1e-8 1e-6 1e-3]
Data Types: double
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: MaxSNR=15,NumPoints=64,NumPulses=10
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: 'MaxSNR',15,'NumPoints',64,'NumPulses',10
MaxSNR
— Maximum SNR to include in the ROC calculation
20
(default) | positive scalar
Maximum SNR to include in the ROC calculation, specified as a positive scalar.
Data Types: double
MinSNR
— Minimum SNR to include in the ROC calculation
0
(default) | positive scalar
Minimum SNR to include in the ROC calculation, specified as a positive scalar.
Data Types: double
NumPulses
— Number of pulses to integrate
1
(default) | positive integer
Number of pulses to integrate when calculating the ROC curves,
specified as a positive integer. A value of 1
indicates no pulse integration.
Data Types: double
SignalType
— Type of received signal
"NonfluctuatingCoherent"
(default) | "NonfluctuatingNoncoherent"
| "Real"
| "Swerling1"
| "Swerling2"
| "Swerling3"
| "Swerling4"
This property specifies the type of received signal or, equivalently,
the probability density functions (PDF) used to compute the ROC. Valid
values are: "Real"
,
"NonfluctuatingCoherent"
,
"NonfluctuatingNoncoherent"
,
"Swerling1"
, "Swerling2"
,
"Swerling3"
, and "Swerling4"
.
Values are not case sensitive.
The "NonfluctuatingCoherent"
signal type assumes
that the noise in the received signal is a complex-valued, Gaussian
random variable. This variable has independent zero-mean real and
imaginary parts each with variance
σ2/2 under the null
hypothesis. In the case of a single pulse in a coherent receiver with
complex white Gaussian noise, the probability of detection,
PD, for a given
false-alarm probability, PFA is:
where erfc
and
erfc-1
are the
complementary error function and that function’s inverse, and
χ is the SNR not expressed in decibels.
For details about the other supported signal types, see [1] .
Data Types: char
| string
Output Arguments
Pd
— Detection probabilities
vector
Detection probabilities corresponding to the false-alarm probabilities,
returned as a vector. For each false-alarm probability in
Pfa
, Pd
contains one column of
detection probabilities.
SNR
— Signal-to-noise ratios
column vector
References
[1] Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005, pp 298–336.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
Does not support variable-size inputs.
Supported only when output arguments are specified.
Version History
Introduced in R2011a
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 (한국어)