class sdr.ReplicaCorrelator

Implements an clairvoyant replica-correlator detector.

Notes

The replica-correlator detector is a clairvoyant detector that assumes perfect knowledge of the signal \(s[n]\). The complex noise \(w[n] \sim \mathcal{CN}(0, \sigma^2)\). The null and alternative hypotheses are given by:

\[\mathcal{H}_0: x[n] = w[n]\]
\[\mathcal{H}_1: x[n] = s[n] + w[n]\]

The test statistic \(T(x)\) is given by:

\[T(x) = \mathrm{Re}\left( \sum\limits_{n=0}^{N-1} x[n]s^*[n] \right) > \gamma'\]
\[\begin{split} T(x) \sim \begin{cases} \mathcal{N}\left(0, \sigma^2 \mathcal{E} / 2 \right) & \text{under } \mathcal{H}_0 \\ \mathcal{N}\left(\mathcal{E}, \sigma^2 \mathcal{E} / 2 \right) & \text{under } \mathcal{H}_1 \\ \end{cases} \end{split}\]

where \(\mathcal{E}\) is the received energy \(\mathcal{E} = \sum\limits_{n=0}^{N-1} \left| s[n] \right|^2\).

The probability of detection \(P_D\), probability of false alarm \(P_{FA}\), and detection threshold \(\gamma'\) are given by:

\[P_D = Q\left( Q^{-1}(P_{FA}) - \sqrt{\frac{2 \mathcal{E}}{\sigma^2}} \right)\]
\[P_{FA} = Q\left(\frac{\gamma'}{\sqrt{\sigma^2 \mathcal{E} / 2}}\right)\]
\[\gamma' = \sqrt{\sigma^2 \mathcal{E} / 2} Q^{-1}(P_{FA})\]

References

  • Steven Kay, Fundamentals of Statistical Signal Processing: Detection Theory, Sections 4.3.2 and 13.3.1.

Methods

static roc(enr, ...) tuple[NDArray[float_], NDArray[float_]]

Computes the receiver operating characteristic (ROC) curve.

static p_d(enr: ArrayLike, p_fa: ArrayLike, ...) NDArray[float_]

Computes the probability of detection \(P_D\).

static p_fa(threshold: ArrayLike, energy, ...) NDArray[float_]

Computes the probability of false alarm \(P_{FA}\).

static threshold(p_fa: ArrayLike, energy, ...) NDArray[float_]

Computes the threshold \(\gamma'\).