<aside> 📌 By Dr. Nir Regev
</aside>
<aside> 📌 Sign up to Circuit of Knowledge blog for unlimited tutorials and content
</aside>
<aside> 📌 If it’s knowledge you’re after, join our growing Slack community!
</aside>
Ref [1] by M.A. Richards discusses some important and perhaps surprising results regarding noncoherent integration gain in radar detection. The key points are:
Let's dive into the details with some MATLAB code to build intuition. First, the probability of detection Pd for a given Pfa, N, and SNR can be calculated for the various Swerling models using the Shnidman’s approximation [2]
import numpy as np
import matplotlib.pyplot as plt
def shnidman_1(N, Pd, Pfa, swerling_case):
# Define K based on Swerling case
if swerling_case == 0:
K = np.inf
elif swerling_case == 1:
K = 1
elif swerling_case == 2:
K = N
elif swerling_case == 3:
K = 2
elif swerling_case == 4:
K = 2 * N
else:
raise ValueError('Invalid Swerling case')
alpha = 0 if N < 40 else 0.25
eta = np.sqrt(-0.8 * np.log(4 * Pfa * (1 - Pfa))) + np.sign(Pd - 0.5) * np.sqrt(-0.8 * np.log(4 * Pd * (1 - Pd)))
Xinf = eta * (eta + 2 * np.sqrt(N / 2 + (alpha - 0.25)))
C1 = (((17.7006 * Pd - 18.4496) * Pd + 14.5339) * Pd - 3.525) / K
C2 = np.exp(27.31 * Pd - 25.14) / K + (Pd - 0.8) * (0.7 * np.log(1e-5 / Pfa) + (2 * N - 20) / 80) / K
CdB = C1 if Pd <= 0.872 else C1 + C2
C = 10 ** (CdB / 10)
Xint = Xinf * C
SNR_1_linear = Xint / N
return SNR_1_linear
# Set parameters
Pfa1 = 1e-4
Pd1 = 0.7
N = np.arange(1, 101)
# Calculate Pd for each Swerling case and N
This shows that noncoherent integration outperforms $N$ for (e.g.) Swerling 2 data when N = 2 to 16 pulses.
<aside> 📌 For the complete tutorial sign up to Circuit of Knowledge blog
</aside>