Detector Chain

From setiquest wiki

Revision as of 20:33, 30 December 2011 by SigBlips (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Detector Chain's channelizer and DX are the part of SonATA's data flow that processes in real-time the data coming from the telescopes. The data is analyzed for possible signals and the results of the analysis is reported back to the Seeker.


The digitized 104.8576 MHz bandwidth data stream from the ATA is formatted in IP Packets by the beamformers. There is a separate data stream for each beam polarization. The polarization can be either X and Y linear or Left and Right Circular Polarization, depending on the processing done in the beamformer. Currently circular polarization is not implemented but will be in the near future.

The channelizers and detectors are real-time systems and performance is critical. Each channelizer is fed by a beamformer polarization with the data rate of 1.7 Gb/sec. Each channelizer channelizes the data with a DFB (Digital Filter Bank) and redistributes it within our system in ~176 channels data streams at the rate of ~18 Mb/sec each. There is a 2 stage signal processing pipeline consisting of data collection and signal detection/archiving. The second stage must complete in the same amount of time as it took to collect the data.

Dataflow sonatadetector v4.png




The channelizers operate on data in realtime and performance is critical.


A channelizer reads the data from a beamformer, one pol. There are one or two channelizers per beam polarization depending on the capacity of the hosts on which they are running. Each channelizer performs a 128-point DFB to produce 128 channels of .8192e6 Hz, but the DFB introduces oversampling of 25%, so the actual data rate for a channel is .8192e6 / .75 = 1.09226667e6 samples/sec.

The channels are distributed using UDP Multicast protocol to the network where the DX (signal detectors) subscribe to their assigned channel.

The channelizer processes the data as efficiently as it can. To accomplish this, the process must execute as root user to allow the POSIX real-time thread scheduling to control its fixed priority scheduling.


Multiple DXs can execute on the same host depending on the capacity of that host.


The DX receives a channel of data from a channelizer and performs a second DFB to subchannelize the channel into 2048 subchannels of 1.09226667e6 / 2048 = 533.3333 Hz each. This DFB also introduces 25% oversampling, so the output rate of each subchannel is 533.3333 / .75 = 711.1111111 samples/sec. Due to the oversampling of the original channel, 25% of the subchannels (12.5% at each edge) are spurious and are discarded, leaving us with 1536 subchannels. A 1024-point FFT is then performed on each subchannel to produce “1Hz” bins which are 711.11111 / 1024 = .694444 Hz. Since the subchannels are oversampled, 25% of the 1Hz bins are discarded (again, 12.5% at each edge), leaving 768 bins per subchannel.

The resolution data are formatted for power and coherent continuous wave and thresholded for pulse detection. The goal is to have one CW resolution of either 1 Hz, 2 Hz, or 4 Hz. And 10 time-overlapped resolutions for Pulse Detection (1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Hz) plus a non-overlapped 1 kHz resolution. The number of resolutions processed will depend on the capacity of the DX Host. The DX will also provide scientific data (baselines, complex amplitudes), as well as detect and report signals, and filter the signals with a recent RFI mask to select candidate ETI signals.

The results of the DX are sent to the Archiver.

As with the channelizer, the DX processes the data as efficiently as it can. To accomplish this, the process must execute as root user to allow the POSIX real-time thread scheduling to control its fixed priority scheduling.

External links

← Beamformer Index Archiver →
Personal tools