Skip to content

Commit

Permalink
Add more min_snr() examples
Browse files Browse the repository at this point in the history
  • Loading branch information
mhostetter committed May 12, 2024
1 parent c1a2c00 commit 7e64c1b
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/sdr/_detection/_theory.py
Original file line number Diff line number Diff line change
Expand Up @@ -950,6 +950,27 @@ def min_snr(
sdr.albersheim
Examples:
Compute the minimum required SNR to achieve $P_D = 0.9$ and $P_{FA} = 10^{-6}$ with a square-law detector.
.. ipython:: python
sdr.min_snr(0.9, 1e-6, detector="square-law")
Now suppose the signal is non-coherently integrated $N_{NC} = 10$ times. Notice the minimum required SNR
decreases, but less than 10 dB. This is because non-coherent integration is less efficient than coherent
integration.
.. ipython:: python
sdr.min_snr(0.9, 1e-6, detector="square-law", n_nc=10)
Now suppose the signal is coherently integrated by $N_C = 10$ samples before the square-law detector.
Notice the SNR now decreases by exactly 10 dB.
.. ipython:: python
sdr.min_snr(0.9, 1e-6, detector="square-law", n_c=10, n_nc=10)
Compare the theoretical minimum required SNR using a linear detector in :func:`sdr.min_snr` with the
estimated minimum required SNR using Albersheim's approximation in :func:`sdr.albersheim`.
Expand Down

0 comments on commit 7e64c1b

Please sign in to comment.