Skip to content

Struct symsync_state_t

ClassList > symsync_state_t

SymbolSync state. More...

  • #include <symsync_core.h>

Public Attributes

Type Name
size_t avgs
uint32_t base_inc
double bn
farrow_state_t farrow
int have_ontime
double last_error
loop_filter_state_t lf
lockdet_state_t lock
size_t lock_count
double lock_stat
double lock_sum
float _Complex mid
float _Complex prev_ontime
double pwr_avg
double rate_est
size_t sps
int ted
nco_state_t timing
symsync_tlm_t tlm
double zeta

Detailed Description

Allocate with symsync_create(). Embeds the integer timing NCO, the Farrow interpolator and the PI loop filter by value; treat the TED history as internal.

Public Attributes Documentation

variable avgs

size_t symsync_state_t::avgs;

non-coherent block size (looks/decision).


variable base_inc

uint32_t symsync_state_t::base_inc;

nominal NCO inc (one wrap / symbol).


variable bn

double symsync_state_t::bn;

loop noise bandwidth (retained).


variable farrow

farrow_state_t symsync_state_t::farrow;

fractional interpolator.


variable have_ontime

int symsync_state_t::have_ontime;

a previous on-time sample exists.


variable last_error

double symsync_state_t::last_error;

last TED timing error.


variable lf

loop_filter_state_t symsync_state_t::lf;

2nd-order timing PI loop.


variable lock

lockdet_state_t symsync_state_t::lock;

decision rule: thresholds + verify counters stepped on lock_stat each avgs-look block.


variable lock_count

size_t symsync_state_t::lock_count;

looks accumulated in the current block.


variable lock_stat

double symsync_state_t::lock_stat;

last block-averaged lock_signal = mean(2*(|on-time|^2-|mid|^2) /(|on-time|^2+|mid|^2)) over avgs looks; compare against the configured threshold (see symsync_configure_lock).


variable lock_sum

double symsync_state_t::lock_sum;

running sum of lock_signal over the current avgs-symbol block (mirrors dll_state_t's lock_sum/lock_count/n_looks pattern).


variable mid

float _Complex symsync_state_t::mid;

mid-symbol (transition-gate) sample.


variable prev_ontime

float _Complex symsync_state_t::prev_ontime;

previous on-time interpolant.


variable pwr_avg

double symsync_state_t::pwr_avg;

running symbol power (TED normaliser).


variable rate_est

double symsync_state_t::rate_est;

smoothed tracked samples/symbol.


variable sps

size_t symsync_state_t::sps;

nominal samples per symbol.


variable ted

int symsync_state_t::ted;

SYMSYNC_TED_GARDNER / _DTTL.


variable timing

nco_state_t symsync_state_t::timing;

integer timing NCO (phase/phase_inc).


variable tlm

symsync_tlm_t symsync_state_t::tlm;

live telemetry attachment; zeroed in blobs


variable zeta

double symsync_state_t::zeta;

damping factor (retained).



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