XCORE SDK
XCORE Software Development Kit
Public Attributes | List of all members
agc_state_t Struct Reference

AGC state structure. More...

#include <agc_api.h>

Public Attributes

agc_config_t config
 
float_s32_t x_slow
 
float_s32_t x_fast
 
float_s32_t x_peak
 
int lc_t_far
 
int lc_t_near
 
float_s32_t lc_near_power_est
 
float_s32_t lc_far_power_est
 
float_s32_t lc_near_bg_power_est
 
float_s32_t lc_gain
 
float_s32_t lc_far_bg_power_est
 
float_s32_t lc_corr_val
 

Detailed Description

AGC state structure.

This structure holds the current state of the AGC instance and members are updated each time that agc_process_frame() runs. Many of these members are exponentially-weighted moving averages (EWMA) which influence the adaption of the AGC gain or the loss control feature. The user should not directly modify any of these members, except the config.

Member Data Documentation

◆ config

agc_config_t agc_state_t::config

The current configuration of the AGC. Any member of this configuration structure can be modified and that change will take effect on the next run of agc_process_frame().

◆ lc_corr_val

float_s32_t agc_state_t::lc_corr_val

EWMA of the far-end correlation for detecting double-talk.

◆ lc_far_bg_power_est

float_s32_t agc_state_t::lc_far_bg_power_est

EWMA of estimates of the power of far-end background noise.

◆ lc_far_power_est

float_s32_t agc_state_t::lc_far_power_est

EWMA of estimates of the far-end power.

◆ lc_gain

float_s32_t agc_state_t::lc_gain

Loss control gain applied on top of the AGC gain in agc_config_t.

◆ lc_near_bg_power_est

float_s32_t agc_state_t::lc_near_bg_power_est

EWMA of estimates of the power of near-end background noise.

◆ lc_near_power_est

float_s32_t agc_state_t::lc_near_power_est

EWMA of estimates of the near-end power.

◆ lc_t_far

int agc_state_t::lc_t_far

Timer counting down until enough frames with far-end activity have been processed.

◆ lc_t_near

int agc_state_t::lc_t_near

Timer counting down until enough frames with near-end activity have been processed.

◆ x_fast

float_s32_t agc_state_t::x_fast

EWMA of the frame peak, which is used to identify a rise or fall in the peak of frame.

◆ x_peak

float_s32_t agc_state_t::x_peak

EWMA of x_fast, which is used when adapting to the agc_config_t::upper_threshold.

◆ x_slow

float_s32_t agc_state_t::x_slow

EWMA of the frame peak, which is used to identify the overall trend of a rise or fall in the input signal.


The documentation for this struct was generated from the following file: