- sdr.coherent_gain(n_c: ArrayLike) NDArray[float64]
Computes the SNR improvement by coherently integrating \(N_C\) samples.
- Parameters:¶
- n_c: ArrayLike¶
The number of samples \(N_C\) to coherently integrate.
- Returns:¶
The coherent gain \(G_C\) in dB.
Notes¶
\[y[m] = \sum_{n=0}^{N_C-1} x[m-n]\]\[\text{SNR}_{y,\text{dB}} = \text{SNR}_{x,\text{dB}} + G_C\]\[G_C = 10 \log_{10} N_C\]Examples¶
See the Coherent integration example.
Compute the coherent gain for various integration lengths.
In [1]: sdr.coherent_gain(1) Out[1]: 0.0 In [2]: sdr.coherent_gain(2) Out[2]: 3.010299956639812 In [3]: sdr.coherent_gain(10) Out[3]: 10.0 In [4]: sdr.coherent_gain(20) Out[4]: 13.010299956639813
Plot coherent gain as a function of the number of coherently integrated samples.
In [5]: n_c = np.logspace(0, 3, 1001) In [6]: plt.figure(); \ ...: plt.semilogx(n_c, sdr.coherent_gain(n_c)); \ ...: plt.xlabel("Number of samples, $N_C$"); \ ...: plt.ylabel("Coherent gain (dB), $G_C$"); \ ...: plt.title("Coherent gain as a function of the number of integrated samples"); ...: