28#if !defined(_SPANDSP_AGCF_H_)
29#define _SPANDSP_AGCF_H_
35 float signal_on_power_threshold;
36 float signal_off_power_threshold;
37 float signal_target_power;
39 int16_t signal_on_persistence_check;
41 int16_t signal_off_persistence_check;
44 int16_t signal_down_persistence_check;
47#define AGC_SAMPLES_PER_CHUNK 40
49#if defined(__cplusplus)
63 float signal_target_power,
64 float signal_on_power_threshold,
65 float signal_off_power_threshold,
66 int signal_on_persistence_check,
67 int signal_off_persistence_check);
69SPAN_DECLARE(
int) agcf_free_descriptor(agcf_descriptor_t *s);
77SPAN_DECLARE(
bool)
agcf_rx(agcf_state_t *s,
float out[],
const float in[],
int len);
85SPAN_DECLARE(
bool)
agcf_from_int16_rx(agcf_state_t *s,
float out[],
const int16_t in[],
int len);
87SPAN_DECLARE(
float) agcf_current_power_dbm0(agcf_state_t *s);
110SPAN_DECLARE(agcf_state_t *)
agcf_init(agcf_state_t *s,
const agcf_descriptor_t *desc);
122SPAN_DECLARE(
int)
agcf_free(agcf_state_t *s);
124#if defined(__cplusplus)
logging_state_t * agcf_get_logging_state(agcf_state_t *s)
Get the logging context associated with an AGC context.
Definition agc_float.c:271
float agcf_get_scaling(agcf_state_t *s)
Definition agc_float.c:247
void agcf_set_adaption(agcf_state_t *s, bool adapt)
Definition agc_float.c:265
int agcf_release(agcf_state_t *s)
Release an AGC receive context.
Definition agc_float.c:301
agcf_descriptor_t * agcf_make_descriptor(agcf_descriptor_t *s, float signal_target_power, float signal_on_power_threshold, float signal_off_power_threshold, int signal_on_persistence_check, int signal_off_persistence_check)
Create an AGC descriptor.
Definition agc_float.c:50
bool agcf_rx(agcf_state_t *s, float out[], const float in[], int len)
Process a block of received samples.
Definition agc_float.c:166
int agcf_free(agcf_state_t *s)
Free the resources of an ADSI receive context.
Definition agc_float.c:307
bool agcf_from_int16_rx(agcf_state_t *s, float out[], const int16_t in[], int len)
Process a block of received samples.
Definition agc_float.c:85
void agcf_set_scaling(agcf_state_t *s, float scaling)
Definition agc_float.c:253
agcf_state_t * agcf_init(agcf_state_t *s, const agcf_descriptor_t *desc)
Initialise an AGC context.
Definition agc_float.c:279
struct logging_state_s logging_state_t
Definition logging.h:72
Definition agc_float.h:34
Definition private/agc_float.h:32