hera_sim.sigchain.MutualCoupling.build_coupling_matrix

static MutualCoupling.build_coupling_matrix(freqs: ndarray, array_layout: dict, uvbeam: UVBeam | str, reflection: ndarray | Callable | None = None, omega_p: ndarray | Callable | None = None, pixel_interp: str | None = 'az_za_simple', freq_interp: str | None = 'cubic', **beam_kwargs) ndarray[source]

Calculate the coupling matrix used for mutual coupling simulation.

See the MutualCoupling class docstring for a description of the coupling matrix.

Parameters:
  • freqs – The observed frequencies, in GHz.

  • array_layout – Dictionary mapping antenna numbers to their positions in local East- North-Up coordinates, expressed in meters. Not required if providing a pre-calculated coupling matrix.

  • uvbeam – The beam (i.e. Jones matrix) to be used for calculating the coupling matrix. This may either be a pyuvdata.UVBeam object, a path to a file that may be read into a pyuvdata.UVBeam object, or a string identifying which pyuvsim.AnalyticBeam to use. Not required if providing a pre-calculated coupling matrix.

  • reflection – The reflection coefficient to use for calculating the coupling matrix. Should be either a np.ndarray or an interpolation object that gives the reflection coefficient as a function of frequency (in GHz).

  • omega_p – The integral of the peak-normalized power beam as a function of frequency (in GHz). If this is not provided, then it will be calculated from the provided beam model.

  • pixel_interp – The name of the spatial interpolation method used for the beam. Not required if using an analytic beam or if providing a pre-computed coupling matrix.

  • freq_interp – The order of the spline to be used for interpolating the beam in frequency. Not required if using an analytic beam or if providing a pre-computed coupling matrix.

  • beam_kwargs – Additional keywords used for either reading in a beam or creating an analytic beam.