basebandReadout

class basebandReadout : public kotekan::Stage

Stage for extracting one frequency from the baseband buffer and putting it into a new frame.

This task manages a kotekan buffer, keeping it mostly full such that it subsets of the data can be written upon triggered request.

Buffers

  • in_buf buffer to manage and read. Must be several frames larger than num_frames_buffer config parameter.

    • Format: DPDK baseband samples_per_data_set x num_elements bytes

    • Metadata: chimeMetadata

  • out_buf The extracted single frequency baseband output

    • Format: DPDK baseband samples_per_data_set x num_elements bytes

    • Metadata: BasebandMetadata

Metrics

  • kotekan_baseband_readout_total The count of requests handled by an instance of this stage. Labels:

    • status: ‘done’, ‘error’, ‘no_data’

    • freq_id: channel frequency received by this stage

  • kotekan_baseband_readout_dropped_frames_total The count of DPDK frames dropped because the output buffer is backed up

  • kotekan_baseband_readout_in_progress Indicator set to 1 when a per-frequency writeout is in progress, 0 otherwise

  • kotekan_baseband_readout_sent_frames_total The count of baseband frames sent to the output buffer for transmission

Author

Kiyoshi Masui, Davor Cubranic

Param num_elements:

Int. The number of elements (i.e. inputs) in the correlator data.

Param samples_per_data_set:

Int. The number of time samples in a frame.

Param max_dump_samples:

Int, default 2^30. Maximum number of samples in baseband dump. Memory used for dumps limited to 3 x num_elements x this_number.

Param num_frames_buffer:

Int. Number of buffer frames to simultaneously keep full of data. Should be few less than in_buf length.

Param num_local_freq:

UInt. Number of frequencies in each GPU frame.

Public Functions

basebandReadout(kotekan::Config &config, const std::string &unique_name, kotekan::bufferContainer &buffer_container)
virtual ~basebandReadout() = default
virtual void main_thread() override