hera_sim.rfi.RfiStation

class hera_sim.rfi.RfiStation(f0: float, duty_cycle: float = 1.0, strength: float = 100.0, std: float = 10.0, timescale: float = 100.0, rng: Generator | None = None)[source]

Generate RFI based on a particular “station”.

Parameters:
  • f0 (float) – Frequency that the station transmits (any units are fine).

  • duty_cycle (float, optional) – With timescale, controls how long the station is seen as “on”. In particular, duty_cycle specifies which parts of the station’s cycle are considered “on”. Can be considered roughly a percentage of on time.

  • strength (float, optional) – Mean magnitude of the transmission.

  • std (float, optional) – Standard deviation of the random RFI magnitude.

  • timescale (float, optional) – Controls the length of a transmision “cycle”. Low points in the sin-wave cycle are considered “off” and high points are considered “on” (just how high is controlled by duty_cycle). This is the wavelength (in seconds) of that cycle.

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

Notes

This creates RFI with random magnitude in each time bin based on a normal distribution, with custom strength and variability. RFI is assumed to exist in one frequency channel, with some spillage into an adjacent channel, proportional to the distance to that channel from the station’s frequency. It is not assumed to be always on, but turns on for some amount of time at regular intervals.

Methods

__call__(lsts, freqs)

Compute the RFI for this station.