Skip to content

Struct dp_symsync_state_t

ClassList > dp_symsync_state_t

SymbolSync state. More...

  • #include <symsync_core.h>

Public Attributes

Type Name
size_t avgs
uint32_t base_inc
double bn
dp_farrow_state_t farrow
int have_ontime
double last_error
dp_loop_filter_state_t lf
dp_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
dp_nco_state_t timing
symsync_tlm_t tlm
double zeta

Detailed Description

Allocate with dp_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 dp_symsync_state_t::avgs;

non-coherent block size (looks/decision).


variable base_inc

uint32_t dp_symsync_state_t::base_inc;

nominal NCO inc (one wrap / symbol).


variable bn

double dp_symsync_state_t::bn;

loop noise bandwidth (retained).


variable farrow

dp_farrow_state_t dp_symsync_state_t::farrow;

fractional interpolator.


variable have_ontime

int dp_symsync_state_t::have_ontime;

a previous on-time sample exists.


variable last_error

double dp_symsync_state_t::last_error;

last TED timing error.


variable lf

dp_loop_filter_state_t dp_symsync_state_t::lf;

2nd-order timing PI loop.


variable lock

dp_lockdet_state_t dp_symsync_state_t::lock;

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


variable lock_count

size_t dp_symsync_state_t::lock_count;

looks accumulated in the current block.


variable lock_stat

double dp_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 dp_symsync_configure_lock).


variable lock_sum

double dp_symsync_state_t::lock_sum;

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


variable mid

float _Complex dp_symsync_state_t::mid;

mid-symbol (transition-gate) sample.


variable prev_ontime

float _Complex dp_symsync_state_t::prev_ontime;

previous on-time interpolant.


variable pwr_avg

double dp_symsync_state_t::pwr_avg;

running symbol power (TED normaliser).


variable rate_est

double dp_symsync_state_t::rate_est;

smoothed tracked samples/symbol.


variable sps

size_t dp_symsync_state_t::sps;

nominal samples per symbol.


variable ted

int dp_symsync_state_t::ted;

SYMSYNC_TED_GARDNER / _DTTL.


variable timing

dp_nco_state_t dp_symsync_state_t::timing;

integer timing NCO (phase/phase_inc).


variable tlm

symsync_tlm_t dp_symsync_state_t::tlm;

live telemetry attachment; zeroed in blobs


variable zeta

double dp_symsync_state_t::zeta;

damping factor (retained).



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