Skip to content

Struct dll_state_t

ClassList > dll_state_t

DLL state. More...

  • #include <dll_core.h>

Public Attributes

Type Name
float complex acc_e
float complex acc_l
float complex acc_o
float complex acc_p
double bn
double chip_pos
const uint8_t * code
double code_rate
double inv_sps
double last_error
loop_filter_state_t lf
double lock_alpha
size_t lock_count
size_t lock_nz
double lock_stat
double lock_sum
double lock_thresh
int locked
size_t n_looks
double noise_ema
double noise_guard
double off_chips
int owns_code
uint32_t rng
double seed_chip
double seg_chips
size_t seg_idx
double seg_norm
size_t segments
size_t sf
double spacing
size_t sps
double sum_e
double sum_l
double zeta

Detailed Description

Allocate with dll_create() (copies the code), or embed by value and dll_init() (borrows the caller's code). The loop filter lf is a public sub-component so the inline composition helpers can drive it; treat the correlator accumulators and code-phase fields as internal.

Public Attributes Documentation

variable acc_e

float complex dll_state_t::acc_e;

early correlator accumulator.


variable acc_l

float complex dll_state_t::acc_l;

late correlator accumulator.


variable acc_o

float complex dll_state_t::acc_o;

offset (noise) correlator accumulator.


variable acc_p

float complex dll_state_t::acc_p;

prompt correlator accumulator.


variable bn

double dll_state_t::bn;

loop noise bandwidth (retained).


variable chip_pos

double dll_state_t::chip_pos;

current prompt code phase, chips.


variable code

const uint8_t* dll_state_t::code;

spreading code, one period (0/1 chips).


variable code_rate

double dll_state_t::code_rate;

chips advanced per nominal chip (~1.0).


variable inv_sps

double dll_state_t::inv_sps;

1 / sps (per-sample chip advance scale).


variable last_error

double dll_state_t::last_error;

last discriminator output (loop stress).


variable lf

loop_filter_state_t dll_state_t::lf;

2nd-order code PI loop.


variable lock_alpha

double dll_state_t::lock_alpha;

EMA coefficient 1/L_eff (L_eff >> n_looks).


variable lock_count

size_t dll_state_t::lock_count;

looks accumulated in the current window.


variable lock_nz

size_t dll_state_t::lock_nz;

noise looks folded in (cumulative-mean boot).


variable lock_stat

double dll_state_t::lock_stat;

last statistic R = sqrt(2 sum|P|^2/E|O|^2).


variable lock_sum

double dll_state_t::lock_sum;

running sum|P_k|^2 over the current window.


variable lock_thresh

double dll_state_t::lock_thresh;

CFAR threshold eta on R (det_threshold_nc).


variable locked

int dll_state_t::locked;

last lock decision (R > eta).


variable n_looks

size_t dll_state_t::n_looks;

non-coherent integration depth N.


variable noise_ema

double dll_state_t::noise_ema;

EMA of offset power; estimates E|O|^2.


variable noise_guard

double dll_state_t::noise_guard;

chips around P/E/L the offset must avoid.


variable off_chips

double dll_state_t::off_chips;

this look's offset code phase, whole chips.


variable owns_code

int dll_state_t::owns_code;

1 if dll_destroy() frees code.


variable rng

uint32_t dll_state_t::rng;

xorshift32 state for the random offset.


variable seed_chip

double dll_state_t::seed_chip;

create-time code phase, for reset.


variable seg_chips

double dll_state_t::seg_chips;

code phase per partial segment = sf/segments.


variable seg_idx

size_t dll_state_t::seg_idx;

current partial index within the epoch.


variable seg_norm

double dll_state_t::seg_norm;

nominal samples per segment (prompt scale).


variable segments

size_t dll_state_t::segments;

partial correlations per epoch (1 = full).


variable sf

size_t dll_state_t::sf;

code length (chips per period).


variable spacing

double dll_state_t::spacing;

early/late tap offset, chips (e.g. 0.5).


variable sps

size_t dll_state_t::sps;

samples per chip.


variable sum_e

double dll_state_t::sum_e;

non-coherent early sum over the epoch.


variable sum_l

double dll_state_t::sum_l;

non-coherent late sum over the epoch.


variable zeta

double dll_state_t::zeta;

damping factor (retained).



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