static sdr.EnergyDetector.threshold(N_nc: ArrayLike, p_fa: ArrayLike, sigma2: ArrayLike, complex: bool = True) NDArray[float64]

Computes the threshold \(\gamma'\).

Parameters:
N_nc: ArrayLike

The number of samples \(N_{nc}\) to non-coherently integrate.

p_fa: ArrayLike

The probability of false alarm \(P_{fa}\).

sigma2: ArrayLike

The noise variance \(\sigma^2\).

complex: bool = True

Indicates whether the signal is complex.

Returns:

The threshold \(\gamma'\).

Notes

For real signals:

\[\gamma' = \sigma^2 Q_{\chi_N^2}^{-1}(P_{fa})\]

For complex signals:

\[\gamma' = \frac{\sigma^2}{2} Q_{\chi_N^2}^{-1}(P_{fa})\]

References

  • Steven Kay, Fundamentals of Statistical Signal Processing: Detection Theory, Equation 5.2.