Skip to content

Struct RateConverter_state_t

ClassList > RateConverter_state_t

Cascade state owns all sub-stage C objects.More...

  • #include <RateConverter_core.h>

Public Attributes

Type Name
agc_state_t * agc
double agc_alpha
double agc_bn_sym
double agc_ref_db
struct RateConverter_state_t agc_tlm_req
double bank_e0
double bank_sps
double beta
size_t buf_cap
float _Complex * bufs
int compensate
dp_tlm_t * ctx
uint32_t decim
int n_stages
bool narrow_pulse
size_t num_phases
char prefix
int pulse
double pulse_sps
double rate
size_t span
void * stage_ptrs
rc_stage_t stage_types

Detailed Description

Do not initialise directly; use RateConverter_create().

Public Attributes Documentation

variable agc

agc_state_t* RateConverter_state_t::agc;

NULL when off — one branch per sample


variable agc_alpha

double RateConverter_state_t::agc_alpha;

detector EMA coefficient


variable agc_bn_sym

double RateConverter_state_t::agc_bn_sym;

requested bandwidth, cycles/SYMBOL


variable agc_ref_db

double RateConverter_state_t::agc_ref_db;

derived: 10*log10(bank_e0 / bank_sps)


variable agc_tlm_req

struct RateConverter_state_t RateConverter_state_t::agc_tlm_req;

The telemetry attachment as REQUESTED, not as currently applied. Held here rather than only on the AGC because the AGC is destroyed and rebuilt whenever the plan changes (rc_agc_build), and may not exist yet when the attach arrives; keeping the request lets every rebuild re-apply it. Never packed into a state blob — telemetry is observation. See RateConverter_set_telemetry().


variable bank_e0

double RateConverter_state_t::bank_e0;

sum h(t)^2 on that grid; the bank's own normaliser, and the AGC's reference


variable bank_sps

double RateConverter_state_t::bank_sps;

symbol period on the terminal's grid


variable beta

double RateConverter_state_t::beta;

RRC roll-off


variable buf_cap

size_t RateConverter_state_t::buf_cap;

variable bufs

float _Complex* RateConverter_state_t::bufs[2];

Ping-pong intermediate buffers, grown lazily on first execute.


variable compensate

int RateConverter_state_t::compensate;

CIC droop-comp flag


variable ctx

dp_tlm_t* RateConverter_state_t::ctx;

NULL = detached


variable decim

uint32_t RateConverter_state_t::decim;

as passed by the caller


variable n_stages

int RateConverter_state_t::n_stages;

active stage count


variable narrow_pulse

bool RateConverter_state_t::narrow_pulse;

Set when a rectangular pulse was selected with fewer than four output samples per symbol, where its matched filter degenerates to a 2-3 tap sum. Read by the binding, which turns it into a UserWarning.


variable num_phases

size_t RateConverter_state_t::num_phases;

terminal-stage arms (power of two)


variable prefix

char RateConverter_state_t::prefix[DP_TLM_NAME_MAX];

as passed by the caller


variable pulse

int RateConverter_state_t::pulse;

rc_pulse_t; RC_PULSE_NONE when not matched


variable pulse_sps

double RateConverter_state_t::pulse_sps;

symbol period in OUTPUT samples


variable rate

double RateConverter_state_t::rate;

current rate ratio


variable span

size_t RateConverter_state_t::span;

one-sided RRC span, symbols


variable stage_ptrs

void* RateConverter_state_t::stage_ptrs[RC_MAX_STAGES];

sub-object per slot


variable stage_types

rc_stage_t RateConverter_state_t::stage_types[RC_MAX_STAGES];

stage type per slot



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