Skip to content

Struct mpsk_rx_loops_t

ClassList > mpsk_rx_loops_t

The receiver's loops: timing, carrier, demapper.

  • #include <mpsk_rx_loops.h>

Public Attributes

Type Name
double bn_agc_ratio
double bn_carrier
double car_error
loop_filter_state_t car_lf
lockdet_state_t car_lock
int differential
double freq_ctrl
double freq_scale
int have_prev_idx
double lo_sps
double lock
int64_t lock_time
int m
size_t m_out
unsigned prev_idx
double sps
size_t sym_count
float _Complex sym_rot
ratesync_loop_t timing
mpsk_rx_tlm_t tlm
double zeta

Public Attributes Documentation

variable bn_agc_ratio

double mpsk_rx_loops_t::bn_agc_ratio;

AGC bandwidth as a fraction of the slowest loop; see mpsk_rx_agc_bn().


variable bn_carrier

double mpsk_rx_loops_t::bn_carrier;

carrier loop noise bandwidth (per symbol).


variable car_error

double mpsk_rx_loops_t::car_error;

last carrier phase discriminator (stress).


variable car_lf

loop_filter_state_t mpsk_rx_loops_t::car_lf;

2nd-order carrier PI loop.


variable car_lock

lockdet_state_t mpsk_rx_loops_t::car_lock;

de-chattered binary carrier lock.


variable differential

int mpsk_rx_loops_t::differential;

bits(): differential demap.


variable freq_ctrl

double mpsk_rx_loops_t::freq_ctrl;

carrier command now applied, cycles/sample at the LO's own rate.


variable freq_scale

double mpsk_rx_loops_t::freq_scale;

loop-filter output -> freq_ctrl; rad/symbol to cycles per LO sample, set once at init.


variable have_prev_idx

int mpsk_rx_loops_t::have_prev_idx;

differential: prev_idx valid.


variable lo_sps

double mpsk_rx_loops_t::lo_sps;

samples per symbol at the LO's own rate.


variable lock

double mpsk_rx_loops_t::lock;

EMA of the carrier lock signal.


variable lock_time

int64_t mpsk_rx_loops_t::lock_time;

sym_count when carrier lock was first declared, or -1 if never. Running state.


variable m

int mpsk_rx_loops_t::m;

constellation order M (2, 4, 8).


variable m_out

size_t mpsk_rx_loops_t::m_out;

terminal outputs per symbol.


variable prev_idx

unsigned mpsk_rx_loops_t::prev_idx;

differential: prev sliced index.


variable sps

double mpsk_rx_loops_t::sps;

samples per symbol at the receiver's input.


variable sym_count

size_t mpsk_rx_loops_t::sym_count;

symbols emitted; also dates lock_time.


variable sym_rot

float _Complex mpsk_rx_loops_t::sym_rot;

exp(j*phi0): NDA grid -> slicer.


variable timing

ratesync_loop_t mpsk_rx_loops_t::timing;

the shared timing loop -> rate_ctrl.


variable tlm

mpsk_rx_tlm_t mpsk_rx_loops_t::tlm;

live attachment; zeroed in state blobs.


variable zeta

double mpsk_rx_loops_t::zeta;

damping factor for both loops.



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