About¶
Virgo
is an easy-to-use open-source spectrometer and radiometer based on Python and
GNU Radio (GR) that is conveniently applicable to any radio telescope working with a
GR-supported software-defined radio (SDR). In addition to data acquisition, Virgo
also carries out automated analysis
of the recorded samples, producing an averaged spectrum,a calibrated spectrum, a dynamic spectrum (waterfall),
a time series (power vs time) and a total power distribution plot.
Lastly, an important set of utilities is provided to observers, making the package for a great tool for planning (radio) observations, estimating the system sensitivity of an instrument, and many more.
Key Features¶
4-tap weighted overlap-add (WOLA) Fourier transform spectrometer
Reduced FFT sidelobes
Plain FT filterbank pipeline also supported for observatories with limited computational resources
Adjustable SDR parameters
Device arguments
RF/IF/BB Gain
Header file
Observation parameters automatically passed to corresponding
.header
file
Includes logged MJD (at observation t0)
Spectral line support
Spectrum calibration
y axis is automatically rescaled to S:N units with line masking
Optional automatic slope correction (based on linear regression) for poorly-calibrated spectra
Supports median operation for RFI mitigation on the frequency-domain (adjustable n-factor)
RFI channel masking
Adjustable frest for the observation of any spectral line (not just HI)
Secondary axes for relative velocity automatically adjusted accordingly
Prevention against strong narrowband RFI rescaling subplot
The average spectra, calibration spectra and calibrated spectra are optionally saved as a
csv
file for further analysis
Continuum support
Supports median operation for time-varying RFI mitigation (adjustable n-factor)
Total power distribution (histogram) displayed, both for raw and clean data
Best Gaussian fits computed automatically
Prevention against strong short-duration RFI rescaling subplot
Time series optionally saved as a
csv
file for further analysis
Pulsars
Incoherent dedispersion support for giant pulse search (and FRB follow-up, assuming DM is known)
Dynamic spectrum (waterfall)
Optionally saved as a
FITS
file for further advanced/custom analysis
Decibel support
Power units optionally displayed in dB
Observation planning toolkit
Predict source altitude & azimuth vs time
Quickly convert galactic to equatorial and Alt/Az to RA/Dec
Plot telescope position on the 21 cm all-sky survey
Simulate 21 cm profiles based on the LAB HI survey
Basic calculation toolkit for system sensitivity & performance. Computes:
Antenna gain (in dBi, linear or K/Jy)
Effective aperture
Half-power beamwidth
Noise figure to noise temperature and vice versa
Antenna gain-to-noise-temperature (G/T)
System equivalent flux density (SEFD)
Radiometer equation (S:N estimation)
Built-in tool for conducting rapid RFI surveys
Argument-parsing support
Works directly from the command line
virgo -h
, or as a Python module (see Usage)