BLISS Concepts

BLISSdedrift is a toolkit to build configurable pipelines to find candidate technosignature hits and events in dynamic spectra by assuming a technosignature will be narrowband signals with nearly linear doppler drift. Dynamic spectra is a common technosignature data product from radio telescopes which is similar to common spectrograms. Starting with time-domain voltage samples, the

BLISSdedrift is meant to build pipelines that search for narrowband doppler drifting signals. This follows the SETI technosignature thesis that an extraterrestrial signal from an intelligent civilization would concentrate as much energy in to as narrow of a signal as possible. The information content would be low, but successful reception requires minimal processing gain with an unmistakable direction of origin. Since the earth rotates and moves around our sun, there will be relative motion between our radio telescopes receiving a potential signal and any transmitter not in a synchronous orbit around earth. The goal of this package is to search for signals with very narrow bandwidth and approximately linear dopppler drifting frequency.

A linear doppler drifting narrowband signal is very similar to a linear frequency modulated (FM) chirp. A typical SETI data product is dynamic spectra, which is very similar to a spectrogram. Dynamic spectra is most often a 2d (but sometimes 3d) array of frequency content over time. Large instantaneous bandwidths (on the order of GHz) are searched with as fine of a frequency resolution as is practical to store (typically low single digit Hz). In order to manage this, telescopes will often do two stages of channelization: a coarse channelization and a fine channelization. Coarse channelization is typically performed with a polyphase filterbank and fine channelization is often a second polyphase filterbank or short-time fourier transform. The magnitude of those fine channels over time forms the dynamic spectra data product used in BLISSdedrift.

BLISSdedrift has a set of modules that map to conceptual stages of narrowband technosignature searches for doppler drifting signals as well as a hierarchy of classes that map to common radio telescope recordings. At the bottom of the hierarchy is a coarse_channel which simultaneously defines a unit of work for BLISSdedrift and is meant to represent the common procedure of radio telescopes generating dynamic spectra to do a coarse channelization early in the digital processing. A coarse_channel is a unit of a scan which contains dynamic spectra from a single astronomical source that a telescope tracked. A scan will contain at least one coarse_channel and can be part of an observation_target that is part of a cadence.

The amount of data in a single scan, observation_target, or cadence is often more than can fit in a typical GPU’s vRAM, so internally calling BLISSdedrift functions that operate on these types will often defer actual data loading or compute until the result is requested. Additionally, processing will often happen on a coarse_channel basis with little to no mixing of information between coarse_channel’s. On a practical level, this means that using most of the BLISSdedrift APIs result in building a compute graph that is lazily evaluated per coarse_channel.

Although coarse_channel’s most often represent literal coarse channels which are the result of polyphase-filterbank channelizers, they are also overloaded to be the work size. Some telescopes have very large coarse channels out of their filterbanks. These are most easily processed by using a smaller work size that divides the fine channels in to equal sizes of psuedo coarse channels as coarse_channel objects in BLISSdedrift. The most prevalent example of this is the Parkes UWL feed which provides coarse channels consisting of 64M fine channels.

Memory requirements

To run flagging and hit search on a GPU requires the dynamic spectra, a mask, and dedrifted spectrum all exist in GPU vRAM. For a coarse_channel with 2**20 (1048576) fine channels and 16 time steps that is 16777216 data points. Each dynamic spectra is a four-byte float and has a corresponding 1 byte mask for a total of ~83MB on the GPU.

The dedrifted spectrum is sized with the same number of channels, but sized for the number of drifts. The dedrift process also tracks flags for each channel and drift. The tracked flags are low spectral kurtosis, high spectral kurtosis, and sigma clipping which take 1 B each for a total of 3B.

The hit search process uses an another array also sized by number of drifts x number of channels to assign unique label ids for each local maxima in dedrift spectrum. There is a small amount of

Step and name

shape

representative shape

datatype size

total size (MB)

dynamic spectra mask

tstep, Nchan tstep, Nchan

16, 2**20 16, 2**20

4B 1B

67 MB 16 MB

dedrifted spectra dedrifted flags

Ndrift, Nchan Ndrift, Nchan

1000, 2**20 1000, 2**20

4B 3B

4194 MB 3145 MB

hit search label hit metadata

Ndrift, Nchan

1000, 2**20

4B

4194 MB

Total

11616 MB