Struct dp_dsss_burst_receiver_state_t¶
ClassList > dp_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 |
| dp_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 |
| dp_burst_demod_state_t * | demod |
| double | demod_cn0_dbhz |
| double | demod_timing_chips |
| double | doppler_hz_est |
| double | doppler_res_hz |
| double | est_freq_hz |
| double | est_rate_hz |
| dsss_br_event_t * | ev |
| size_t | ev_cap |
| size_t | ev_len |
| wfm_frame_desc_t * | frame |
| 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 |
| size_t | reps |
| size_t | spc |
Detailed Description¶
Allocate with dp_dsss_burst_receiver_create_desc().
Public Attributes Documentation¶
variable acq_code¶
Preamble code, owned copy.
variable acq_code_len¶
Preamble code length, chips.
variable burst_len¶
Preamble + spread frame, in samples.
variable 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¶
Chip rate, Hz.
variable cn0_dbhz_est¶
C/N0 lower bound, dB-Hz (saturating).
variable 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¶
Payload spreading code, owned copy.
variable data_code_len¶
Data code length, chips.
variable demod¶
Demod stage, re-seeded per burst.
variable demod_cn0_dbhz¶
Demod's own C/N0, dB-Hz, referred to the CHANNEL and corrected for the sub-chip start error demod_timing_chips reports. Named for its STAGE rather than est_-prefixed like its siblings, because cn0_dbhz_est above is acquisition's and two fields differing only by word order is a reader's trap. The two are not the same measurement: acquisition's is a saturating lower bound from the hit, this one is measured on the decoded symbols. Replaces est_snr_db, which was never an SNR (doppler#1304).
variable demod_timing_chips¶
Burst-start error the demod measured, in chips, signed. Whole samples were removed before despreading; the fraction that remains is taken out of demod_cn0_dbhz.
variable doppler_hz_est¶
Signed coarse Doppler, Hz.
variable doppler_res_hz¶
Width of that estimate.
variable est_freq_hz¶
Demod's own residual estimate, Hz.
variable est_rate_hz¶
Demod's own chirp-rate estimate.
variable ev¶
One record per burst returned.
variable ev_cap¶
Allocated records.
variable ev_len¶
Records the last push() wrote.
variable frame¶
The frame description this receiver was built from, an owned copy whose sequences are NOT kept (the verdict reads only the layout).
variable frame_syms¶
Symbols the frame occupies, sync word included the description's layout length, so bits per burst out of push() and the row stride of llrs(). What they MEAN is the frame description's business (doppler#1022).
variable 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 dp_burst_capture_release(), so a decoy cannot own the span of a real burst behind it (doppler#1181, doppler#1004). The verdict is the description's own (dp_wfm_frame_desc_crc_ok), so a frame with no CRC stage is never valid its bits are still returned, and every window is released (doppler#1769; decision D3 of docs/design/rx-frame-description.md).
variable llr¶
The soft bits of every burst the last push returned, concatenated: burst i starts at i*frame_syms. Scratch, like ev it describes one call and is never serialized.
variable llr_cap¶
Allocated floats.
variable llr_len¶
Floats written by the last push.
variable 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¶
Stream-absolute preamble start. Never late.
variable reps¶
Preamble code repetitions.
variable spc¶
Samples per chip.
The documentation for this class was generated from the following file native/inc/doppler/dsss_burst_receiver/dsss_burst_receiver_core.h