sdr.max_frequency_offset(cgl: ArrayLike, integration_time: ArrayLike) NDArray[float64]

Computes the maximum frequency offset that produces at most the provided coherent gain loss (CGL).

Parameters:
cgl: ArrayLike

The coherent gain loss (CGL) in dB.

integration_time: ArrayLike

The coherent integration time \(T_c\) in seconds.

Returns:

The maximum frequency offset \(\Delta f\) in Hz.

Notes

The inverse sinc function is calculated using numerical techniques.

Examples

Compute the maximum frequency offset that produces at most 3 dB of coherent gain loss for an integration time of 1 ms.

In [1]: sdr.max_frequency_offset(3, 1e-3)
Out[1]: 442.2433896262681

Compute the maximum frequency offset that produces at most 3 dB of coherent gain loss for an array of integration times.

In [2]: sdr.max_frequency_offset(3, [1e-3, 2e-3, 3e-3])
Out[2]: array([442.24338963, 221.12169481, 147.41446321])

Plot the maximum frequency offset as a function of integration time.

In [3]: t = np.linspace(0, 10e-3, 1001)

In [4]: plt.figure(); \
   ...: plt.plot(t * 1e3, sdr.max_frequency_offset(0.1, t), label="0.1 dB"); \
   ...: plt.plot(t * 1e3, sdr.max_frequency_offset(1, t), label="1 dB"); \
   ...: plt.plot(t * 1e3, sdr.max_frequency_offset(3, t), label="3 dB"); \
   ...: plt.legend(); \
   ...: plt.ylim(0, 1e3); \
   ...: plt.xlabel("Integration time (ms)"); \
   ...: plt.ylabel("Maximum frequency offset (Hz)"); \
   ...: plt.title("Maximum frequency offset for various coherent gain losses");
   ...: 
../../_images/sdr_max_frequency_offset_1.png

Plot the maximum frequency offset as a function of coherent gain loss.

In [5]: cgl = np.linspace(0, 10, 1001)

In [6]: plt.figure(); \
   ...: plt.plot(cgl, sdr.max_frequency_offset(cgl, 0.5e-3), label="0.5 ms"); \
   ...: plt.plot(cgl, sdr.max_frequency_offset(cgl, 1e-3), label="1 ms"); \
   ...: plt.plot(cgl, sdr.max_frequency_offset(cgl, 2e-3), label="2 ms"); \
   ...: plt.legend(); \
   ...: plt.ylim(0, 1e3); \
   ...: plt.xlabel("Coherent gain loss (dB)"); \
   ...: plt.ylabel("Maximum frequency offset (Hz)"); \
   ...: plt.title("Maximum frequency offset for various integration times");
   ...: 
../../_images/sdr_max_frequency_offset_2.png