- sdr.max_integration_time(cgl: ArrayLike, freq_offset: ArrayLike) NDArray[float64]
- Computes the maximum integration time that produces at most the provided coherent gain loss (CGL). - Notes¶ - The inverse sinc function is calculated using numerical techniques. - Examples¶ - Compute the maximum integration time that produces at most 3 dB of coherent gain loss for a frequency offset of 235 Hz. - In [1]: sdr.max_integration_time(3, 235) Out[1]: 0.0018818867640235891- Compute the maximum integration time that produces at most 3 dB of coherent gain loss for an array of frequency offsets. - In [2]: sdr.max_integration_time(3, [0, 100, 200, 300, 400, 500]) Out[2]: array([ inf, 0.00442243, 0.00221122, 0.00147414, 0.00110561, 0.00088449])- Plot the maximum integration time as a function of frequency offset. - In [3]: f = np.linspace(0, 1e3, 1001) In [4]: plt.figure(); \ ...: plt.plot(f, sdr.max_integration_time(0.1, f) * 1e3, label="0.1 dB"); \ ...: plt.plot(f, sdr.max_integration_time(1, f) * 1e3, label="1 dB"); \ ...: plt.plot(f, sdr.max_integration_time(3, f) * 1e3, label="3 dB"); \ ...: plt.legend(); \ ...: plt.ylim(0, 10); \ ...: plt.xlabel("Frequency offset (Hz)"); \ ...: plt.ylabel("Maximum integration time (ms)"); \ ...: plt.title("Maximum integration time for various coherent gain losses"); ...:- Plot the maximum integration time as a function of coherent gain loss. - In [5]: cgl = np.linspace(0, 10, 1001) In [6]: plt.figure(); \ ...: plt.plot(cgl, sdr.max_integration_time(cgl, 50) * 1e3, label="50 Hz"); \ ...: plt.plot(cgl, sdr.max_integration_time(cgl, 100) * 1e3, label="100 Hz"); \ ...: plt.plot(cgl, sdr.max_integration_time(cgl, 200) * 1e3, label="200 Hz"); \ ...: plt.legend(); \ ...: plt.ylim(0, 10); \ ...: plt.xlabel("Coherent gain loss (dB)"); \ ...: plt.ylabel("Maximum integration time (ms)"); \ ...: plt.title("Maximum integration time for various frequency offsets"); ...: