applyGenPL

class applyGenPL : public kotekan::Stage

Apply a generated packet loss mask to a generated voltage stream.

An example of this stage being used can be found in config/tests/verify_cuda_n2k.yaml.

  • voltage_in_buf The input voltages.

    • Format: 4+4-bit complex int, encoded with CHIME convention: offset encoded by +8, imaginary in low bits, real in high. In kotekan this is a int4x2_swapped_withoffset.

    • Shape: [samples_per_data_set, num_local_freq, num_elements] or equivalently [samples_per_data_set, num_local_freq, num_polarizations, num_dishes]

    • Metadata: chordMetadata

  • plmask_in_buf The input packet loss (PL) mask.

    • Format: bitmask in uint64_t

    • Shape: [samples_per_data_set / 128, num_local_freq / 4, num_elements / 8]. Downsampled by 2 in time, 4 in freq, 8 in element. The time axis is split into a 128 sample (in 64 bits, downsampled by 2 in time) fast index and a slow index.

    • Metadata: chordMetadata time_downsample_fpga[] = 128

  • voltage_out_buf The output voltages, zeroed (8’d) by the PL mask.

    • Format: 4+4-bit complex int, encoded with CHIME convention: offset encoded by +8, imaginary in low bits, real in high. In kotekan this is a int4x2_swapped_withoffset.

    • Shape: [samples_per_data_set, num_local_freq, num_elements] or equivalently [samples_per_data_set, num_local_freq, num_polarizations, num_dishes]

    • Metadata: chordMetadata

Buffers

Param num_elements:

Int. Number of feeds or (antennas x polarizations).

Param num_local_freq:

Int. Number of frequencies.

Param samples_per_data_set:

Int. Number of samples per frame.

Public Functions

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