Skip to content

Struct costas_state_t

ClassList > costas_state_t

Costas loop state. More...

  • #include <costas_core.h>

Public Attributes

Type Name
float complex acc
size_t acc_n
double bn
double bn_fll
int have_prev
double k_fll
double last_error
loop_filter_state_t lf
double lock_metric
lo_state_t nco
float complex prev
double seed_norm_freq
size_t tsamps
double zeta

Detailed Description

Allocate with costas_create(), or embed by value and costas_init(). The carrier NCO (nco) and PI loop (lf) are public sub-components so the inline composition helpers can drive them; treat the integrate-and-dump and diagnostic fields as internal.

Public Attributes Documentation

variable acc

float complex costas_state_t::acc;

running coherent I&D accumulator.


variable acc_n

size_t costas_state_t::acc_n;

samples accumulated into acc.


variable bn

double costas_state_t::bn;

PLL loop noise bandwidth (retained).


variable bn_fll

double costas_state_t::bn_fll;

FLL-assist bandwidth (0 = pure PLL).


variable have_prev

int costas_state_t::have_prev;

prev valid (skip FLL on the 1st symbol).


variable k_fll

double costas_state_t::k_fll;

derived FLL gain (per-symbol freq pull).


variable last_error

double costas_state_t::last_error;

last PLL discriminator (loop stress).


variable lf

loop_filter_state_t costas_state_t::lf;

2nd-order carrier PI loop (PLL).


variable lock_metric

double costas_state_t::lock_metric;

EMA of |Re P|/|P| (1 = locked).


variable nco

lo_state_t costas_state_t::nco;

integer carrier NCO (uint32 phase).


variable prev

float complex costas_state_t::prev;

previous symbol's prompt (FLL cross).


variable seed_norm_freq

double costas_state_t::seed_norm_freq;

create-time carrier freq, for reset.


variable tsamps

size_t costas_state_t::tsamps;

samples per symbol (integrate-and-dump).


variable zeta

double costas_state_t::zeta;

damping factor (retained).



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