Reading — Detection Theory#
By the end of this lesson you should be able to:
Compute the noise floor for a given bandwidth and noise figure.
Explain the detection threshold and the \(P_d / P_{fa}\) tradeoff.
Read a receiver operating characteristic (ROC) curve and identify the SNR that meets a mission requirement.
Quantify the SNR gain from coherent and non-coherent integration.
Where \(S_{\min}\) comes from#
Back in L3 we wrote \(R_{\max}\) in terms of a minimum detectable signal \(S_{\min}\), and quietly read it off a data sheet as if it were a constant. It is not. \(S_{\min}\) is the end of a chain of choices: how much noise the receiver has, how confident you insist on being that a blip is real, and how long you are willing to dwell. Detection theory is where that chain gets made explicit — and it turns the vague phrase “good radar” into a single number you can engineer: signal-to-noise ratio at the detector input.
The detection problem#
Every radar return is one signal sample sitting in noise. The radar compares it to a threshold:
Above threshold → declare target.
Below threshold → declare noise.
That single comparison has two ways to go wrong:
Miss — a target is present but the sample doesn’t cross the threshold. Its probability is \(1 - P_d\), where \(P_d\) is the probability of detection.
False alarm — noise alone crosses the threshold. Its probability is \(P_{fa}\).
Key Concept
Every detection is a thresholded coin flip. Where you set the threshold trades \(P_d\) against \(P_{fa}\) — and no threshold gives you both unless the underlying SNR is high enough. Detection is an SNR business.
The noise floor#
You cannot see below the noise. Thermal noise sets the floor, and a compact formula gives it in dBm:
The three terms each mean something:
\(-174\) dBm/Hz is \(kT_0\), the thermal-noise power spectral density at the standard reference temperature \(T_0 = 290\) K — the noise already present before the receiver adds anything of its own (that is the separate \(\text{NF}\) term).
\(10\log_{10}B\) adds the noise admitted by the receiver bandwidth \(B\) — wider bandwidth, more noise.
\(\text{NF}\) is the noise figure, the receiver’s own added noise.
For example, \(B = 10\) MHz and \(\text{NF} = 3\) dB give \(N = -174 + 70 + 3 = -101\) dBm. Narrow the bandwidth to 1 MHz and the floor drops 10 dB to \(-111\) dBm. Bandwidth is one of the cheapest knobs a designer has — but a radar needs enough bandwidth to support its range resolution (\(\Delta R = c/2B\)), so it cannot be made arbitrarily small.
SNR and the threshold#
Define \(\text{SNR} = S/N\) at the detector input. Now sweep the threshold:
Raise it: fewer noise spikes survive, so \(P_{fa}\) drops — but some genuine returns are also rejected, so \(P_d\) drops too.
Lower it: \(P_d\) climbs, but so does \(P_{fa}\).
There is no setting that delivers high \(P_d\) and low \(P_{fa}\) unless the SNR is high enough to separate the signal-plus-noise distribution from the noise-only distribution. A common operating point — \(P_d = 0.9\) at \(P_{fa} = 10^{-6}\) on a steady (non-fluctuating) target — requires roughly 13 dB of SNR. A fluctuating target (Swerling I, scan-to-scan) needs considerably more, around 21 dB, because you must protect against the scans where the target happens to fade.
The ROC curve#
Plot \(P_d\) (vertical) against \(P_{fa}\) (horizontal, log scale) as the threshold sweeps, and you get a receiver operating characteristic. Each value of SNR produces its own curve:
Higher SNR pushes the curve toward the top-left corner — the ideal detector that catches everything and never false-alarms.
Fix a tolerable \(P_{fa}\) and read off the achievable \(P_d\); or fix a mission \(P_d\) and read off the required SNR.
The ROC is how a commander’s preference (“I want to be 90% sure, and I’ll tolerate one false alarm in a million”) becomes an engineering spec on SNR.
Integration: spending time for SNR#
If a single pulse doesn’t carry enough SNR, combine \(N\) pulses from the same target:
Coherent integration sums the complex returns, preserving phase. The SNR gain is \(N\) (linear), i.e. \(+10\log_{10}N\) dB. One hundred pulses buy 20 dB.
Non-coherent integration sums magnitudes after detection, discarding phase. The gain is roughly \(\sqrt{N}\) at low per-pulse SNR — the true gain lies between \(\sqrt{N}\) and \(N\) — i.e. about \(+5\log_{10}N\) dB. One hundred pulses buy only about 10 dB.
Coherent integration is twice as efficient in dB, but it demands phase coherence across the whole dwell — exactly what a modern AESA is built to maintain. Integration is the radar trading time (a longer dwell) for sensitivity (more SNR).
Closing the loop on \(R_{\max}\)#
Now the L3 range equation can be honest about \(S_{\min}\):
Reading those together:
A tighter mission (\(P_d\) up, \(P_{fa}\) down) raises \(\text{SNR}_{\text{req}}\), raises \(S_{\min}\), and shortens \(R_{\max}\).
More integration raises \(G_{\text{int}}\), lowers \(S_{\min}\), and lengthens \(R_{\max}\).
And because \(R_{\max}\) scales as \(S_{\min}^{-1/4}\), the leverage is the familiar one-quarter: 20 dB of integration gain buys \(20/4 = 5\) dB of range, a factor of \(10^{5/10} \approx 3.2\) in kilometers. This is precisely how “a longer dwell” turns into “a longer range” — and why an EW technique that forces the radar to integrate longer, or accept a worse \(P_{fa}\), directly shrinks the threat’s reach.
Type-along
Type this in MATLAB. It sets one threshold from a false-alarm contract, then counts.
rng(495); M = 1e6; % a million noise-only cells
Pfa_want = 1e-3; % the false-alarm contract
T = sqrt(2)*erfcinv(2*Pfa_want); % threshold that honors it
fprintf('T = %.3f Pfa = %.2e\n', T, mean(randn(M,1) > T));
for snr_dB = [6 10 13]
d = sqrt(2*10^(snr_dB/10)); % separation, in noise sigmas
Pd_count = mean((d + randn(M,1)) > T);
Pd_calc = 0.5*erfc((T-d)/sqrt(2));
fprintf('%2d dB: Pd = %.3f (calc %.3f)\n', snr_dB, Pd_count, Pd_calc);
end
The threshold never moved and \(P_{fa}\) never moved. Only \(P_d\) moved. If you are the B-21, which number in this script can you actually attack, and how?
Why did we contract for \(P_{fa} = 10^{-3}\) instead of the \(10^{-6}\) from the reading?
Solution
Expected output (counted values move a few percent run to run; T and the calc column do not):
T = 3.090 Pfa = 9.51e-04
6 dB: Pd = 0.394 (calc 0.394)
10 dB: Pd = 0.916 (calc 0.916)
13 dB: Pd = 0.999 (calc 0.999)
Not \(T\), and not \(P_{fa}\) — those are the radar’s contract with itself, and it will hold them no matter what you do. The attackable quantity is \(d = \sqrt{2\,\text{SNR}}\), the separation between the two distributions: shrink \(\sigma\) (RCS reduction, so less signal) or raise the noise floor (jamming, so a larger spread). \(P_d\) collapses and the radar never sees its own \(P_{fa}\) change. That is the whole of Block 2 in one line.
At \(P_{fa} = 10^{-6}\) you expect one false alarm in a million trials — Monte Carlo cannot measure it. This is exactly why the closed form exists, and why measuring a real receiver’s \(P_{fa}\) takes hours of collection.
Wrap-Up#
Detection is a thresholded comparison against a noise floor of \(-174 + 10\log_{10}B + \text{NF}\) dBm, and the threshold trades \(P_d\) against \(P_{fa}\) at a level set by SNR. The ROC curve turns that tradeoff into a single SNR requirement; integration buys SNR by spending time, coherently at \(+10\log N\) dB and non-coherently at \(+5\log N\) dB. Finally, \(S_{\min}\) is a \(P_d/P_{fa}\) contract, not a constant — closing the loop on the range equation from L3. This completes the radar-fundamentals toolkit; L9 puts L1–L8 to work on the Project 1 B-21 detection-range analysis.