chrisfinlay / RFIsim

Radio Frequency Interference (RFI) simulation for radio interferometry data.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RFIsim

This package is an RFI simulation tool for the MeerKAT radio telescope. It calculates real world satellite movement using two-line element sets (TLEs) and simulates a frequency spectrum and time dependence.

The output are raw visibilities that are saved into a HDF5 file along with all the input data used for the simulation.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will only need Docker for this.

If you have an Nvidia GPU capable of running TensorFlow code then make sure you have nvidia-docker installed.

NB GPU version currently has bugs

Installing

To get the docker environment running to use this tool simply run the following command.

nvidia-docker run -it -v dir/on/host:/data chrisjfinlay/montblanc:ddfacet-gpu-fixed-0.1
cd /data
git clone https://github.com/chrisfinlay/RFIsim.git
cd /data/RFIsim/utils/astronomical/catalogues
unzip SUMSS_NVSS_Clean.csv.zip
cd /data/RFIsim/utils/telescope/beam_sim
mkdir beams
python create_beam.py
cd /data/RFIsim
python RFIsim.py

Output Data

Structure

/
|--- input
|       |--- target                  (RA, DEC)
|       |--- astro_sources           (n_astro_srcs, 7)
|       |--- astro_sources_headings  (7)
|       |--- rfi_lm                  (time_steps, n_rfi_srcs, {l,m})
|       |--- rfi_spectra             (n_rfi_srcs, time_steps, freq_chans, n_pols)
|       |--- UVW                     (time_steps*n_bl, {u,v,w})
|       |--- A1                      (n_bl)
|       |--- A2                      (n_bl)
|       |--- bandpass                (time_steps, n_ants, freq_chans, n_pols)
|       |--- frequencies             (freq_chans)
|       |--- auto_pol_gains          (1)
|       |--- cross_pol_gains         (1)
|--- output
        |--- vis_clean               (time_steps, n_bl, freq_chans, n_pols)
        |--- vis_dirty               (time_steps, n_bl, freq_chans, n_pols)

To get the DataFrame of astronomical source parameters used in the simulation.

with h5py.File('test.h5', 'r') as fp:
    srcs_df = pd.DataFrame(data=fp['input/astro_sources'].value,
                           columns=fp['input/astro_sources_headings'].value)

Built With

  • Montblanc - Interferometry simulation using RIME
  • PyEphem - Astronomical position calculations
  • uvgen - U,V coordinate simulation

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Simon Perkins (For all the help with understanding Montblanc, his baby)
  • Michelle Lochner
  • Bruce Bassett
  • Nadeem Oozeer
  • NVSS
  • SUMSS

About

Radio Frequency Interference (RFI) simulation for radio interferometry data.


Languages

Language:Python 99.6%Language:Shell 0.4%