Struct dp_costas_state_t¶
Costas loop state. More...
#include <costas_core.h>
Public Attributes¶
| Type | Name |
|---|---|
| int32_t | _pad |
| float _Complex | acc |
| size_t | acc_n |
| double | bn |
| double | bn_fll |
| int | have_prev |
| double | k_fll |
| double | last_error |
| dp_loop_filter_state_t | lf |
| dp_lockdet_state_t | lock |
| double | lock_metric |
| dp_lo_state_t | nco |
| float _Complex | prev |
| double | seed_norm_freq |
| costas_tlm_t | tlm |
| size_t | tsamps |
| double | zeta |
Detailed Description¶
Allocate with dp_costas_create(), or embed by value and dp_costas_init(). The carrier NCO (nco) and PI loop (lf) are public sub-components so the inline composition helpers can drive them; treat the integrate-and-dump and diagnostic fields as internal.
Public Attributes Documentation¶
variable _pad¶
The 4 bytes the compiler would put before the double, named so dp_costas_init zeroes them: the blob is the struct whole, and a stack-built loop copied into a receiver otherwise carried 4 stack bytes into its blob. The layout and size are unchanged.
variable acc¶
running coherent I&D accumulator.
variable acc_n¶
samples accumulated into acc.
variable bn¶
PLL loop noise bandwidth (retained).
variable bn_fll¶
FLL-assist bandwidth (0 = pure PLL).
variable have_prev¶
prev valid (skip FLL on the 1st symbol).
variable k_fll¶
derived FLL gain (per-symbol freq pull).
variable last_error¶
last PLL discriminator (loop stress).
variable lf¶
2nd-order carrier PI loop (PLL).
variable lock¶
decision rule on lock_metric: thresholds * verify counters, stepped per symbol.
variable lock_metric¶
EMA of |Re P|/|P| (1 = locked).
variable nco¶
integer carrier NCO (uint32 phase).
variable prev¶
previous symbol's prompt (FLL cross).
variable seed_norm_freq¶
create-time carrier freq, for reset.
variable tlm¶
live telemetry attachment; zeroed in blobs
variable tsamps¶
samples per symbol (integrate-and-dump).
variable zeta¶
damping factor (retained).
The documentation for this class was generated from the following file native/inc/doppler/costas/costas_core.h