hera_sim.sigchain.CrossCouplingSpectrum

class hera_sim.sigchain.CrossCouplingSpectrum(n_copies=10, amp_range=(-4, -6), dly_range=(1000, 1200), phs_range=(-3.141592653589793, 3.141592653589793), amp_jitter=0, dly_jitter=0, amp_logbase=10, symmetrize=True, rng=None)[source]

Generate a cross-coupling spectrum.

This generates multiple copies of CrossCouplingCrosstalk into the visibilities.

Parameters:
  • n_copies (int, optional) – Number of random cross-talk models to add.

  • amp_range (tuple, optional) – Two-tuple of floats specifying the range of amplitudes to be sampled regularly in log-space.

  • dly_range (tuple, optional) – Two-tuple of floats specifying the range of delays to be sampled at regular intervals.

  • phs_range (tuple, optional) – Range of uniformly random phases.

  • amp_jitter (int, optional) – Standard deviation of random jitter to be applied to the regular amplitudes.

  • dly_jitter (int, optional) – Standard deviation of the random jitter to be applied to the regular delays.

  • amp_logbase (float, optional) – Base of the logarithm to use for generating amplitudes.

  • symmetrize (bool, optional) – Whether to also produce statistically equivalent cross-talk at negative delays. Note that while the statistics are equivalent, both amplitudes and delays will be different random realizations.

  • rng (np.random.Generator, optional) – Random number generator.

Notes

The generated amplitudes will be in the range amp_logbase ** amp_range[0] to amp_logbase ** amp_range[1].

Methods

__call__(freqs, autovis, **kwargs)

Compute the cross-correlations.

get_aliases()

Get all the aliases by which this model can be identified.

get_model(mdl)

Get a model with a particular name (including aliases).

get_models([with_aliases])

Get a dictionary of models associated with this component.

Attributes

attrs_to_pull

Mapping between parameter names and Simulator attributes

is_multiplicative

Whether this systematic multiplies existing visibilities

is_randomized

Whether this systematic contains a randomized component

return_type

Whether the returned value is per-antenna, per-baseline, or the full array