Skip to content

Struct dp_carrier_nda_state_t

ClassList > dp_carrier_nda_state_t

NDA M-th-power carrier loop state. More...

  • #include <carrier_nda_core.h>

Public Attributes

Type Name
dp_boxcar_state_t arm
size_t arm_len
double bn
double ctl_cyc
double last_error
dp_loop_filter_state_t lf
double lock
dp_lockdet_state_t lockdet
int m
int n
dp_lo_state_t nco
double seed_norm_freq
size_t sps
carrier_nda_tlm_t tlm
double zeta

Detailed Description

Allocate with dp_carrier_nda_create(), or embed by value and dp_carrier_nda_init(). The carrier NCO (nco) and PI loop (lf) are public sub-components so a composing receiver can drive the same NCO; treat the arm accumulator and the diagnostics as internal.

Public Attributes Documentation

variable arm

dp_boxcar_state_t dp_carrier_nda_state_t::arm;

I/Q boxcar moving-average arm (sps/n).


variable arm_len

size_t dp_carrier_nda_state_t::arm_len;

moving-average window length (= sps / n).


variable bn

double dp_carrier_nda_state_t::bn;

PLL loop noise bandwidth (retained).


variable ctl_cyc

double dp_carrier_nda_state_t::ctl_cyc;

NCO control (cyc/sample) for next wipeoff.


variable last_error

double dp_carrier_nda_state_t::last_error;

last phase discriminator (loop stress).


variable lf

dp_loop_filter_state_t dp_carrier_nda_state_t::lf;

2nd-order carrier PI loop.


variable lock

double dp_carrier_nda_state_t::lock;

EMA of the lock signal (1 = locked).


variable lockdet

dp_lockdet_state_t dp_carrier_nda_state_t::lockdet;

decision rule: thresholds + verify counters stepped on lock each sample (mirrors MpskReceiver's own pre-existing handover step on this same statistic).


variable m

int dp_carrier_nda_state_t::m;

constellation order M (2, 4, 8).


variable n

int dp_carrier_nda_state_t::n;

sets the MA window (= a 1/n-symbol box).


variable nco

dp_lo_state_t dp_carrier_nda_state_t::nco;

integer carrier NCO (uint32 phase).


variable seed_norm_freq

double dp_carrier_nda_state_t::seed_norm_freq;

create-time carrier freq, for reset.


variable sps

size_t dp_carrier_nda_state_t::sps;

samples per symbol.


variable tlm

carrier_nda_tlm_t dp_carrier_nda_state_t::tlm;

live telemetry attachment; zeroed in blobs


variable zeta

double dp_carrier_nda_state_t::zeta;

damping factor (retained).



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