Skip to content

Struct dsss_receiver_state_t

ClassList > dsss_receiver_state_t

Composed receiver state. More...

  • #include <dsss_receiver_core.h>

Public Attributes

Type Name
acq_state_t * acq
costas_state_t car
float _Complex * car_carry_buf
size_t car_carry_len
float _Complex * car_wiped_buf
double chip_rate
double cn0_dbhz_est
uint8_t * code
size_t code_len
int differential
dll_state_t * dll
double doppler_hz_est
int m
int n
RateConverter_state_t * rc
mpsk_receiver_state_t * rx
uint64_t samples_fed
size_t segments
size_t spc
size_t sps
double symbol_rate
int tracking
size_t tsamps

Detailed Description

Owns all four children for the object's entire lifetime dll/ rc/rx are allocated at create() with a placeholder seed (phase 0, no Doppler) and REBUILT (not freed to NULL) the moment a real hit fires, on every configure_chain_raw(), and back to the placeholder seed on reset(). This keeps every child's pointer always valid and the serialized blob's layout independent of tracking a fixed shape, not a conditionally-present one. tracking is purely a routing flag for steps() (search vs. the despread/resample/demod chain), not a lifecycle state. Treat all fields as internal (use the getters).

Public Attributes Documentation

variable acq

acq_state_t* dsss_receiver_state_t::acq;

variable car

costas_state_t dsss_receiver_state_t::car;

variable car_carry_buf

float _Complex* dsss_receiver_state_t::car_carry_buf;

variable car_carry_len

size_t dsss_receiver_state_t::car_carry_len;

variable car_wiped_buf

float _Complex* dsss_receiver_state_t::car_wiped_buf;

variable chip_rate

double dsss_receiver_state_t::chip_rate;

variable cn0_dbhz_est

double dsss_receiver_state_t::cn0_dbhz_est;

Cached from the winning acquisition hit.


variable code

uint8_t* dsss_receiver_state_t::code;

variable code_len

size_t dsss_receiver_state_t::code_len;

variable differential

int dsss_receiver_state_t::differential;

variable dll

dll_state_t* dsss_receiver_state_t::dll;

variable doppler_hz_est

double dsss_receiver_state_t::doppler_hz_est;

Cached from the winning acquisition hit.


variable m

int dsss_receiver_state_t::m;

variable n

int dsss_receiver_state_t::n;

MpskReceiver's own carrier-arm count.


variable rc

RateConverter_state_t* dsss_receiver_state_t::rc;

variable rx

mpsk_receiver_state_t* dsss_receiver_state_t::rx;

variable samples_fed

uint64_t dsss_receiver_state_t::samples_fed;

Running total handed to acq_push() so far — diffed against acq->samples_consumed right after a hit to find the exact unconsumed tail of the current call.


variable segments

size_t dsss_receiver_state_t::segments;

Dll's own tracking parameter.


variable spc

size_t dsss_receiver_state_t::spc;

variable sps

size_t dsss_receiver_state_t::sps;

MpskReceiver's own samples/symbol.


variable symbol_rate

double dsss_receiver_state_t::symbol_rate;

variable tracking

int dsss_receiver_state_t::tracking;

0 = searching, 1 = locked and demodulating.


variable tsamps

size_t dsss_receiver_state_t::tsamps;

code_len*spc one code period, samples; the carrier loop's own fixed chunk size.



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