edges_cal.receiver_calibration_func.get_calibration_quantities_iterative

edges_cal.receiver_calibration_func.get_calibration_quantities_iterative(f_norm: ndarray, temp_raw: dict, gamma_rec: ndarray, gamma_ant: dict, temp_ant: dict, cterms: int, wterms: int, temp_amb_internal: float = 300)[source]

Derive calibration parameters using the scheme laid out in Monsalve (2017).

All equation numbers and symbol names come from M17 (arxiv:1602.08065).

Parameters:
  • f_norm (array_like) – Normalized frequencies (arbitrarily normalised, but standard assumption is that the centre is zero, and the scale is such that the range is (-1, 1))

  • temp_raw (dict) – Dictionary of antenna uncalibrated temperatures, with keys ‘ambient’, ‘hot_load, ‘short’ and ‘open’. Each value is an array with the same length as f_norm.

  • gamma_rec (float array) – Receiver S11 as a function of frequency.

  • gamma_ant (dict) – Dictionary of antenna S11, with keys ‘ambient’, ‘hot_load, ‘short’ and ‘open’. Each value is an array with the same length as f_norm.

  • temp_ant (dict) – Dictionary like gamma_ant, except that the values are modelled/smoothed thermistor temperatures for each source load.

  • cterms (int) – Number of polynomial terms for the C_i

  • wterms (int) – Number of polynonmial temrs for the T_i

  • temp_amb_internal (float) – The ambient internal temperature, interpreted as T_L. Note: this must be the same as the T_L used to generate T*.

Returns:

sca, off, tu, tc, ts (np.poly1d) – 1D polynomial fits for each of the Scale (C_1), Offset (C_2), and noise-wave temperatures for uncorrelated, cos and sin components.