-
static sdr.ReplicaCorrelator.p_d(enr: ArrayLike, p_fa: ArrayLike, complex: bool =
True
) NDArray[float_] Computes the probability of detection \(P_D\).
Notes¶
For real signals:
\[P_D = Q\left( Q^{-1}(P_{FA}) - \sqrt{\frac{\mathcal{E}}{\sigma^2}} \right)\]For complex signals:
\[P_D = Q\left( Q^{-1}(P_{FA}) - \sqrt{\frac{\mathcal{E}}{\sigma^2 / 2}} \right)\]References¶
Steven Kay, Fundamentals of Statistical Signal Processing: Detection Theory, Equations 4.14 and 13.9.
Examples¶
In [1]: enr = np.linspace(0, 20, 101) In [2]: plt.figure(figsize=(8, 4)); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-1), label="$P_{FA} = 10^{-1}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-2), label="$P_{FA} = 10^{-2}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-3), label="$P_{FA} = 10^{-3}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-4), label="$P_{FA} = 10^{-4}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-5), label="$P_{FA} = 10^{-5}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-6), label="$P_{FA} = 10^{-6}$"); \ ...: sdr.plot.p_d(enr, sdr.ReplicaCorrelator.p_d(enr, 1e-7), label="$P_{FA} = 10^{-7}$"); ...: