Skip to content

Struct burst_capture_pending_t

ClassList > burst_capture_pending_t

One detection between acquisition and emission. More...

  • #include <burst_capture_core.h>

Public Attributes

Type Name
uint64_t anchor
double cn0_dbhz
double doppler_hz
double doppler_rate_hz_s
uint32_t n_phase
double peak_mag
uint32_t phase
int refined
int shadowed
uint64_t start

Detailed Description

A hit cannot always be refined the moment it arrives the refine window reaches BACKWARDS and forwards, so some of it may not have been pushed yet and a detection dropped because its window was incomplete is a lost burst. So a hit is queued here with the event fields acquisition supplied, refined when its window is reachable, and emitted when the burst has fully arrived.

Public Attributes Documentation

variable anchor

uint64_t burst_capture_pending_t::anchor;

Coarse code epoch from the hit (stream-absolute).


variable cn0_dbhz

double burst_capture_pending_t::cn0_dbhz;

C/N0 lower bound from the hit, dB-Hz.


variable doppler_hz

double burst_capture_pending_t::doppler_hz;

Signed coarse Doppler, Hz.


variable doppler_rate_hz_s

double burst_capture_pending_t::doppler_rate_hz_s;

Refine's winning rate hypothesis, Hz/s; valid once refined (doppler#2219).


variable n_phase

uint32_t burst_capture_pending_t::n_phase;

Entries used in phase.


variable peak_mag

double burst_capture_pending_t::peak_mag;

The hit's RAW CFAR peak. Two detections naming the same preamble keep the stronger, so a weak hit that merely arrived first cannot own the slot a real burst needs (doppler#1004). Deliberately not test_stat: that is peak/noise_est, and the noise estimate is a mean over the surface, so a BARE preamble which raises no floor outscores a real burst whose payload does. The raw peak measures what the comparison actually means, how much preamble the frame holds.


variable phase

uint32_t burst_capture_pending_t::phase[BURST_CAPTURE_MAX_PHASES];

Distinct code phases (epoch mod period) among the detections merged into this burst, the anchor's first. Refine scores every one: at the edge of the native span a Zadoff-Chu preamble's detections split between the true phase and one u^-1 samples along its delay-Doppler ridge, and the stronger is not always the true one (doppler#1519).


variable refined

int burst_capture_pending_t::refined;

Non-zero once start is known.


variable shadowed

int burst_capture_pending_t::shadowed;

Inside the span of a window already EMITTED. Held rather than dropped, because whether that window was a burst is a consumer's verdict (a CRC), not this object's: dp_burst_capture_release() gives the span back, and the next push() drops whatever is still shadowed (doppler#1181).


variable start

uint64_t burst_capture_pending_t::start;

Refined preamble start; valid once refined.



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