hera_sim.sigchain.ReflectionSpectrum¶
- class hera_sim.sigchain.ReflectionSpectrum(n_copies: int = 20, amp_range: tuple[float, float] = (-3, -4), dly_range: tuple[float, float] = (200, 1000), phs_range: tuple[float, float] = (-3.141592653589793, 3.141592653589793), amp_jitter: float = 0.05, dly_jitter: float = 30, amp_logbase: float = 10, rng: Generator | None = None)[source]¶
Generate many reflections between a range of delays.
Amplitudes are distributed on a logarithmic grid, while delays are distributed on a linear grid. Effectively, this gives a reflection spectrum whose amplitude decreases exponentially over the range of delays specified.
- Parameters:
n_copies – Number of peaks in the reflection spectrum.
amp_range – Max/min of the amplitudes of the reflections in the spectrum. The spectrum amplitudes monotonically decrease (up to jitter).
dly_range – Min/max of the delays at which the reflections are injected, in ns.
phs_range – Bounds of the uniform distribution from which to draw reflection phases.
amp_jitter – Fractional jitter in amplitude across antennas for each of the reflections.
dly_jitter – Absolute jitter in delay across antennas for each of the reflections.
amp_logbase – Base of the logarithm to use for generating reflection amplitudes.
rng – Random number generator.
Notes
The generated amplitudes will be in the range
amp_logbase ** amp_range[0]
toamp_logbase ** amp_range[1]
.Methods
__call__
(freqs, ants, **kwargs)Generate a series of reflections.
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
Mapping between parameter names and Simulator attributes
Whether this systematic multiplies existing visibilities
Whether this systematic contains a randomized component
Whether the returned value is per-antenna, per-baseline, or the full array