Welcome to setigen’s documentation!


setigen is a Python library for generating and injecting artificial narrow-band signals into radio requency data. setigen interfaces primarily with two types of data: spectrograms or dynamic spectra, saved in two-dimensional NumPy arrays or filterbank files (.fil extension), and raw voltages (GUPPI RAW files). Both data formats are instrumental to Breakthrough Listen’s data collection and analysis pipelines.

setigen allows the user to generate synthetic signals quickly in the time-frequency domain in the form of data Frames. Furthermore, the user may inject these synthetic signals into real observational data loaded from filterbank files. setigen plays well with the blimpy package.

The setigen.voltage module enables the synthesis of GUPPI RAW files via synthetic real voltage “observations” and a software signal processing pipeline that implements a polyphase filterbank, mirroring actual BL hardware. The voltage module supports single and multi-antenna RAW files, and can be GPU accelerated via CuPy.

Breakthrough Listen @ Berkeley: https://seti.berkeley.edu/listen/

Indices and tables