Struct acq_result_t¶
One acquisition detection event.
#include <acq_core.h>
Public Attributes¶
| Type | Name |
|---|---|
| float | cn0_dbhz_est |
| size_t | code_phase |
| size_t | doppler_bin |
| float | noise_est |
| float | peak_mag |
| uint64_t | samples_consumed |
| float | test_stat |
Public Attributes Documentation¶
variable cn0_dbhz_est¶
Estimated carrier-to-noise density (dB-Hz), backed out of test_stat via the same C/N0 <-> per-sample-amplitude-SNR relationship used to size the engine (see acq_create_burst()/ acq_create_continuous()). Tracks the true C/N0 while receiver AWGN dominates the CFAR noise estimate; saturates at the code's own autocorrelation-sidelobe floor once the true C/N0 exceeds what this code/geometry can resolve — a real ceiling, not a fault.
variable code_phase¶
Peak col: code phase (0 … code_bins-1).
variable doppler_bin¶
Peak row: Doppler bin (0 … coherent_bins-1), or, in wideband mode, the frequency-window index (0 … window_bins-1) — see acq_core.h's file doc comment.
variable noise_est¶
CFAR noise estimate over [noise_lo, noise_hi].
variable peak_mag¶
max |R[i,j]| over the surface (linear).
variable samples_consumed¶
st->samples_consumed at the exact moment this hit was appended — the raw sample offset (since this engine's own stream start) this detection's epoch ended at. The per-hit anchor a caller needs to derive a precise timestamp (dp_sample_clock_stamp_at(), timing/timing_core.h) instead of reusing one message-level timestamp for every hit — a single push() call spanning multiple epochs can emit several hits at different sample offsets. Acquisition itself stays wall-clock-agnostic; this is the raw material a caller with a real clock converts.
variable test_stat¶
The gating CFAR statistic: peak_mag / noise_est under coherent-only detection (n_noncoh == 1); scaled by sqrt(2*n_noncoh) once non-coherent looks are combined. 0 if noise_est == 0.
The documentation for this class was generated from the following file native/inc/acq/acq_core.h