Skip to content

Struct corr_state_t

ClassList > corr_state_t

1-D FFT correlator state. More...

  • #include <corr_core.h>

Public Attributes

Type Name
float _Complex * accum
size_t count
size_t dwell
fft_state_t * fwd
fft_state_t * inv
size_t n
size_t n_out
float _Complex * ref_spec
float _Complex * work_fft
float _Complex * work_pad
float _Complex * work_trunc

Detailed Description

Allocate with corr_create(); never stack-allocate. ref_spec/work_fft/accum are each n complex floats; work_pad (n_out) exists only on the decoupled-inverse path.

Public Attributes Documentation

variable accum

float _Complex* corr_state_t::accum;

Coherent product-spectrum accumulator.


variable count

size_t corr_state_t::count;

Frames accumulated so far (0 … dwell-1).


variable dwell

size_t corr_state_t::dwell;

Integration depth; dump every dwell calls.


variable fwd

fft_state_t* corr_state_t::fwd;

Forward plan (sign = -1) at n.


variable inv

fft_state_t* corr_state_t::inv;

Inverse plan (sign = +1) at n_out.


variable n

size_t corr_state_t::n;

FFT / reference length (samples).


variable n_out

size_t corr_state_t::n_out;

Output length (== n unless decoupled).


variable ref_spec

float _Complex* corr_state_t::ref_spec;

conj(FFT(ref)), pre-computed at create.


variable work_fft

float _Complex* corr_state_t::work_fft;

Scratch: FFT(in) · ref_spec (product).


variable work_pad

float _Complex* corr_state_t::work_pad;

Zero-padded product, n_out (NULL native).


variable work_trunc

float _Complex* corr_state_t::work_trunc;

Bounce buffer for a dump into an under-sized out (jm gh-138). The inverse FFT's plan is fixed at n_out, so it cannot write a partial surface a short out has to be served by inverting here and copying the prefix. Allocated lazily, because the sized path (everything the Python binding does) never needs it.



The documentation for this class was generated from the following file native/inc/corr/corr_core.h