Radio Frequency Interference (RFI) interface

Command line tool to standardize the output of RFI attenuation scripts into a format, which can be processed by visibility simulation pipelines. The agreed standard format is HDF5.

The following RFI sources are supported:

- TV Transmitter

Usage

RFI Interface

Input

The Interface is fully compatible with the Propagation attenuation scripts described in Propagation attenuation with Pycraf. At the moment, the following input arguments can be directly modified from the interface:

--transmitter_file   path to the CSV file containing the TV transmitter information.
--n_time_chunks      number of time samples to run the simulation for; default = 1. Optional

--frequency_range    start and end of frequency range in MHz (specified as <freq_start> and <freq_end>). Optional.
--n_channels         number of channels to run the simulation for (specified as <n_channels>). Optional.

Note, if any of <freq_start>, <freq_end>, or <n_channels> is supplied, the other two also needs to be part of the input arguments.

Output

The RFI signal data are saved in an HDF5 file with the following structure:

  • Source ID, string, dimensions: (nsources)

  • Source type, string, dimensions: (nsources)

  • Time samples, string, dimensions: (ntimes)

  • Frequency channels, FP64, dimensions: (nfreqs), units: [Hz]

  • SKA station ID, string, dimensions: (nstations)

  • Apparent source coordinates in antenna rest frame, FP64, dimensions: (nsources, ntimes, nants, 3) These are [azimuth, elevation, distance], units: [degree, degree, m]

  • Transmitter power as received by an isotropic antenna, FP64, dimensions: (nsources, ntimes, nants, nfreqs) This does not include the antenna beam pattern which will be applied in the visibility simulation pipeline. units: [dB]

Class description

DataCube

class rfi.rfi_interface.rfi_data_cube.DataCube(times: list, freqs: list, station_ids: list, rmax=None, station_skip=None)[source]

Class to transform RFI data and save the result in an HDF5 file.

Parameters:
  • times – list of time samples the simulation ran for

  • freqs – list of frequency channels the simulation ran for

  • station_ids – list of station ids that were used in the simulation

  • rmax – maximum distance of SKA station from its array centre

  • station_skip

rmax and station_skip are needed for transferring information from the propagation script to the visibility simulation script

append_data(new_rfi_data: DataCubePerSource)[source]

Append data from a DataCubePerSource object to the existing arrays.

Parameters:

new_rfi_data – input DataCubePerSource object containing RFI data for a single source

export_to_hdf5(filename)[source]

Save transformed data to HDF5

Parameters:

filename – name of output file

validate_input_data(input_data)[source]

Validate input data.

Data are valid if:
  • source_id exists

  • time samples of the input match the ones that the DataCube was initialized with

  • frequency channels of the input match the ones that the DataCube was initialized with

  • station ids of the input match the ones that the DataCube was initialized with

Parameters:

input_data – input DataCubePerSource object containing RFI data for a single source