The datastream process loads baseband data from a source (file, mark5 module, or network socket) into a big ring buffer. The length of this buffer is an integer number of “subintegration” lengths (which is itself an integer number of FFTs). This ring buffer is divided into segments. There are 3 relevant variables controlling the size and slicing of this buffer:
SUBINT_NS: The length of a subintegration in nanoseconds (must be an integer number of FFTs) DATA_BUFFER_FACTOR: The number of subintegrations in the data buffer NUM_DATA_SEGMENTS: The number of segments which the data buffer is sliced into
If the correlation has more than one configuration, the one which would create the largest data buffer is used.
The ring buffer is shown in more detail as a picture below: