Skip to content

Struct dsss_burst_receiver_state_t

ClassList > dsss_burst_receiver_state_t

DsssBurstReceiver state. More...

  • #include <dsss_burst_receiver_core.h>

Public Attributes

Type Name
uint8_t * acq_code
size_t acq_code_len
size_t burst_len
burst_capture_state_t * cap
double chip_rate
double cn0_dbhz_est
size_t code_period
uint8_t * data_code
size_t data_code_len
burst_demod_state_t * demod
double doppler_hz_est
double doppler_res_hz
double est_freq_hz
double est_rate_hz
double est_snr_db
dsss_br_event_t * ev
size_t ev_cap
size_t ev_len
size_t frame_bits
size_t frame_syms
int frame_valid
float * llr
size_t llr_cap
size_t llr_len
uint64_t n_bursts
uint64_t preamble_start
double refine_margin
size_t reps
size_t spc
uint8_t * sync
size_t sync_len

Detailed Description

Allocate with dsss_burst_receiver_create().

Public Attributes Documentation

variable acq_code

uint8_t* dsss_burst_receiver_state_t::acq_code;

Preamble code, owned copy.


variable acq_code_len

size_t dsss_burst_receiver_state_t::acq_code_len;

Preamble code length, chips.


variable burst_len

size_t dsss_burst_receiver_state_t::burst_len;

Preamble + spread frame, in samples.


variable cap

burst_capture_state_t* dsss_burst_receiver_state_t::cap;

Search, refine, retain, emit. Owns the acquisition engine, the history ring and the claim rule everything about FINDING a burst. This object owns what to DO with one.


variable chip_rate

double dsss_burst_receiver_state_t::chip_rate;

Chip rate, Hz.


variable cn0_dbhz_est

double dsss_burst_receiver_state_t::cn0_dbhz_est;

C/N0 lower bound, dB-Hz (saturating).


variable code_period

size_t dsss_burst_receiver_state_t::code_period;

One preamble repetition, in SAMPLES. The modulus acq's code_phase is a residue of, so every epoch ambiguity in this object is stated against it.


variable data_code

uint8_t* dsss_burst_receiver_state_t::data_code;

Payload spreading code, owned copy.


variable data_code_len

size_t dsss_burst_receiver_state_t::data_code_len;

Data code length, chips.


variable demod

burst_demod_state_t* dsss_burst_receiver_state_t::demod;

Demod stage, re-seeded per burst.


variable doppler_hz_est

double dsss_burst_receiver_state_t::doppler_hz_est;

Signed coarse Doppler, Hz.


variable doppler_res_hz

double dsss_burst_receiver_state_t::doppler_res_hz;

Width of that estimate.


variable est_freq_hz

double dsss_burst_receiver_state_t::est_freq_hz;

Demod's own residual estimate, Hz.


variable est_rate_hz

double dsss_burst_receiver_state_t::est_rate_hz;

Demod's own chirp-rate estimate.


variable est_snr_db

double dsss_burst_receiver_state_t::est_snr_db;

Demod's own post-decode SNR estimate.


variable ev

dsss_br_event_t* dsss_burst_receiver_state_t::ev;

One record per burst returned.


variable ev_cap

size_t dsss_burst_receiver_state_t::ev_cap;

Allocated records.


variable ev_len

size_t dsss_burst_receiver_state_t::ev_len;

Records the last push() wrote.


variable frame_bits

size_t dsss_burst_receiver_state_t::frame_bits;

The frame's length, from the description the stride of a row in llr.


variable frame_syms

size_t dsss_burst_receiver_state_t::frame_syms;

Symbols the frame occupies after the sync word, and so bits per burst out of push(). What they MEAN is a frame description's business, one layer up (doppler#1022).


variable frame_valid

int dsss_burst_receiver_state_t::frame_valid;

The last window's frame passed its error detection THIS receiver's frame carries a CRC-16 trailer. The verdict the capture cannot reach: a window that failed is given back with burst_capture_release(), so a decoy cannot own the span of a real burst behind it (doppler#1181, doppler#1004).


variable llr

float* dsss_burst_receiver_state_t::llr;

The soft bits of every burst the last push returned, concatenated: burst i starts at i*frame_bits. Scratch, like ev it describes one call and is never serialized.


variable llr_cap

size_t dsss_burst_receiver_state_t::llr_cap;

Allocated floats.


variable llr_len

size_t dsss_burst_receiver_state_t::llr_len;

Floats written by the last push.


variable n_bursts

uint64_t dsss_burst_receiver_state_t::n_bursts;

Bursts DEMODULATED, lifetime. Distinct from the capture's own count, which is windows EMITTED: they differ by any window the demodulator refused, and that difference is the thing worth seeing.


variable preamble_start

uint64_t dsss_burst_receiver_state_t::preamble_start;

Stream-absolute preamble start. Never late.


variable refine_margin

double dsss_burst_receiver_state_t::refine_margin;

Winning preamble correlation over its nearest whole-period competitor. Near 1 means the period was NOT resolved.


variable reps

size_t dsss_burst_receiver_state_t::reps;

Preamble code repetitions.


variable spc

size_t dsss_burst_receiver_state_t::spc;

Samples per chip.


variable sync

uint8_t* dsss_burst_receiver_state_t::sync;

Frame sync word, owned copy.


variable sync_len

size_t dsss_burst_receiver_state_t::sync_len;

Sync word length, symbols.



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