simpleAutocorr

class simpleAutocorr : public kotekan::Stage

Kotekan stage to autocorrelate a single stream of values.

This is a simple signal processing stage which takes complex float2 data from an input buffer, calculates the modulus squared in each spectral bin, integrates over time, then stuffs the results into an output buffer. Both input and output buffers’ frame lengths should be integer multiples of the spectrum length, though they need not be the same length as each other.

Todo:

Convert input buffer to VDIF format?

Add some metadata to allow different data types for in/out.

Buffers

  • in_buf Input kotekan buffer, to be consumed from.

    • Format: Array of complex float2

    • Metadata: none

  • out_buf Output kotekan buffer, to be produced into.

    • Format: Array of uint

    • Metadata: none

Author

Keith Vanderlinde

Param spectrum_length:

Int (default 1024). Number of samples in the spectrum.

Param integration_length:

Int (default 1024). Number of time samples to sum.

Public Functions

simpleAutocorr(kotekan::Config &config, const std::string &unique_name, kotekan::bufferContainer &buffer_container)

Constructor, also initializes FFTW and values from config yaml.

virtual ~simpleAutocorr()

Destructor, frees local allocs and exits FFTW.

virtual void main_thread() override

Primary loop, which waits on input frames, FFTs, and dumps to output.